> ## Documentation Index
> Fetch the complete documentation index at: https://developer.ammdistro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ingestion check

> Look up whether a UPC or ISRC is in AMM Distro, and how far along it is.

The ingestion check looks up releases by UPC and recordings by ISRC, including releases created in AMM Distro rather than through the API. It needs a key with the `ingestion:read` scope; ask your AMM Distro representative for one.

```bash theme={"dark"}
curl -s "$BASE/ingestion/lookup?upc=036000291452&isrc=USRC12600001" \
  -H "Authorization: Bearer $AMMD_API_KEY"
```

For up to 50 identifiers at once, `POST` them:

```bash theme={"dark"}
curl -s -X POST "$BASE/ingestion/lookup" \
  -H "Authorization: Bearer $AMMD_API_KEY" -H "Content-Type: application/json" \
  -d '{ "upcs": ["036000291452"], "isrcs": ["USRC12600001", "USRC12600002"] }'
```

## Response

Results come back in the order you asked, one per identifier:

```json theme={"dark"}
{
  "upcs": [{
    "input": "036000291452", "upc": "036000291452", "found": true,
    "matches": [{ "matchedOn": "release_upc",
      "release": { "id": "4b0c…", "title": "Night Drive", "artists": ["Nova"], "upc": "036000291452",
                   "status": "live", "ingested": true, "releaseDate": "2026-05-01" } }]
  }],
  "isrcs": [
    { "input": "USRC12600001", "isrc": "USRC12600001", "found": true, "matches": [ … ] },
    { "input": "USRC12600002", "isrc": "USRC12600002", "found": false, "matches": [] }
  ],
  "summary": { "requested": 3, "found": 2, "notFound": 1 },
  "checkedAt": "2026-10-22T19:49:00.000Z"
}
```

An ISRC can match several tracks (the same recording on a single and on an album), so `matches` is always a list. An identifier the key can't see comes back as `found: false`, the same as one that doesn't exist.

## Statuses

The ingestion check has its own status list, with a little more detail than the delivery API:

| `status` | Meaning | `ingested` |
| - | - | - |
| `draft` | Created, not submitted. | false |
| `in_review` | Submitted; in review or back with the artist for changes. | false |
| `rejected` | Rejected in review. | false |
| `approved` | Accepted; waiting to be delivered. | true |
| `delivering` | Being delivered. | true |
| `on_hold` | Delivery paused. | true |
| `delivered` | Delivered to stores. | true |
| `live` | Live in stores. | true |
| `takedown_requested` | Takedown in progress. | true |
| `taken_down` | Removed from stores. | true |
| `unknown` | A status newer than this page. | — |

`ingested` is `true` once AMM Distro has accepted the release for distribution.

## Identifier rules

UPCs may be 12, 13 or 14 digits; spaces and hyphens are ignored and the check digit is verified. ISRCs may include hyphens and any case. A malformed identifier fails the whole request with `400 invalid_identifier`, so a typo is never reported as "not found".


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.