Error Response Object
When the API returns a non-2xx status code, the response body will always contain a top-levelerror object with the following shape:
string
required
A stable, machine-readable identifier for the error type. Use this value in your application logic to branch on specific error conditions. Error codes do not change across patch releases.
string
required
A human-readable description of the error intended for developers. Messages may change over time and should not be parsed programmatically — use
code for logic branching.string
required
A unique identifier for the API request that produced the error. Every request receives a
request_id regardless of outcome. Always include this value when contacting UMW support — it allows the support team to look up the exact request and trace the failure for you.array of objects
An array of granular validation issues. Each entry identifies the specific
field that failed and an issue string describing the constraint that was violated. This array is most commonly populated on 422 Unprocessable Entity responses but may appear on 400 responses as well.string
The dot-notation path of the request field that caused the validation failure (e.g.,
release_date, tracks[0].isrc).string
A plain-language description of the validation constraint that was not satisfied.
HTTP Status Codes
The UMW API uses standard HTTP status codes to indicate the outcome of every request. The table below describes each code your integration may encounter.Common Error Codes
The following error codes appear frequently across UMW API endpoints. Eachcode value is stable and safe to use in programmatic error handling.
missing_required_field
missing_required_field
HTTP Status:
422 Unprocessable EntityA required field was absent from the request body. The details array will identify every missing field in a single response, so you can correct all omissions before retrying.invalid_isrc_format
invalid_isrc_format
HTTP Status:
422 Unprocessable EntityThe ISRC value provided does not conform to the ISO 3901 format (CC-XXX-YY-NNNNN). Verify that the country code, registrant code, year, and designation are all present and correctly formatted.duplicate_submission
duplicate_submission
HTTP Status:
409 ConflictA release or delivery with an identical fingerprint (same UPC, label, and release date) has already been submitted by your organization. If you intended to update an existing release, use the PATCH /v1/releases/{release_id} endpoint rather than creating a new record.asset_not_ready
asset_not_ready
HTTP Status:
409 ConflictOne or more audio or artwork assets referenced in the request have not completed processing. Assets must reach ready status before the associated release or delivery can be submitted. Poll GET /v1/assets/{asset_id} until the status transitions, or listen for the asset.ready webhook event.territory_not_supported
territory_not_supported
HTTP Status:
422 Unprocessable EntityA territory code provided in the delivery or release request is not supported by the UMW distribution network, or your organization is not licensed to distribute to that territory. Refer to GET /v1/stores/territories for the full list of supported territory codes available to your account.rate_limit_exceeded
rate_limit_exceeded
HTTP Status:
429 Too Many RequestsYour organization has sent more requests than your tier permits within the current rate-limit window. Inspect the Retry-After response header to determine how many seconds to wait before the next request. See the Rate Limits reference for details on tier limits and implementing exponential backoff.