This page lists DAM REST API error details for image and file operations.
For cross-API status code guidance, see Error responses.
The DAM REST API uses standard HTTP status codes to indicate whether a request succeeded or failed. Images and files share the same error schemas and general patterns, but differ in which status codes apply to which operation — most notably, only images are queued for background processing, so only image writes can return a 409 for that reason.
When an operation fails, first check:
- The
X-API-KEYheader - Path and query parameter values
- Whether the target image or file exists
- Whether the image is currently being processed (files are never queued for processing)
DAM error response bodies depend on the status code and operation, and are shared between images and files. The OpenAPI specification defines these DAM-specific error schemas:
ValidationFailureRepresentationfor validation failures.UnauthorizedRepresentationfor missing or invalid API keys.ForbiddenRepresentationfor authenticated requests that are not allowed to perform the operation.ConflictRepresentationfor state conflicts, such as image processing conflicts, or duplicate file names.ErrorRepresentationfor unexpected processing errors.
Example:
{
"validationFailures": {
"url": [
"The image URL must be a valid HTTP or HTTPS URL."
]
}
}File validation failures use the same envelope, but since file-level messages carry no field context they are grouped under a generic error key instead of a field name:
{
"validationFailures": {
"error": ["URL is required"]
}
}The request is syntactically valid HTTP, but the API cannot process it because one or more values are invalid.
Common causes:
- Invalid
$filtersyntax - Unsupported field in
$orderby - Invalid pagination values such as
$topor$skip
- Missing or invalid
url - Unsupported image file extension
- Invalid tag values
- Image URL constraints are not met
The current specification does not define 400 for this operation.
- Missing both
urlandtags - The replacement URL's content is not an image of the current file type — the filename itself is no longer required to match; only the content type must
- Unsupported image file extension
- Invalid tag values
The current specification does not define 400 for this operation.
- Invalid
$filtersyntax - A field named in
$filteror$orderbythat is not queryable — onlyreference,numLinks,status,modifiedOn,fileType, andcreatedOnare supported - A negative
$skip, or a$topoutside 1–100
- Missing or invalid
url(not absolute, wrong scheme, over 2048 characters) - No file extension in the URL, or an unsupported extension
- The URL host is not publicly routable, or the URL is not reachable
- The uploaded content does not match the file type its extension announces, or matches no known file type
- File exceeds the 250 MB size limit
- Invalid tag values (empty, whitespace-only, or containing a comma)
The current specification does not define 400 for this operation.
- Missing both
urlandtags - The replacement URL's content is not a file of the current file type
- Any of the
urlortagsvalidation failures documented forPOST /files
The current specification does not define 400 for this operation.
The request does not include a valid API key.
Typical causes:
- Missing
X-API-KEYheader - Empty API key value
- Invalid API key
Example request header:
X-API-KEY: YOUR_API_KEYThe request includes a valid API key, but the key is not allowed to perform the requested DAM operation.
This can happen when:
- The API key does not have access to DAM operations.
- The API key has read access but not write access for create, update, or delete operations.
The requested image or file does not exist or cannot be found for the current tenant.
This can happen when:
- The reference (filename) is wrong
- The image or file has already been deleted
- The image or file does not belong to the current tenant context
The cause of a 409 differs between images and files — they are not interchangeable, and only images are ever locked by background processing.
Images: the operation cannot be completed because the image is currently being processed. Relevant for POST /images, PATCH /images({reference}), and DELETE /images({reference}). This usually means the image is temporarily locked by an active processing workflow. Retry later.
Files: relevant only for POST /files, for two unrelated reasons — a file is never processed in the background, so PATCH /files({reference}) and DELETE /files({reference}) never return a 409:
- A file with the same filename (
reference) already exists for this tenant. - The tenant has reached its file-library quota. Deleted files do not count towards the quota; delete unused files to free capacity, or contact Sales Layer to raise the limit. The image and file libraries have separate quotas.
The server encountered an unexpected error while processing the request.
Typical causes include:
- Network connectivity issues
- Storage service unavailable
- Database errors
A 500 response usually indicates a temporary or server-side problem rather than a client-side validation issue.
| Endpoint | Possible error codes |
|---|---|
GET /images | 400, 401, 403, 500 |
POST /images | 400, 401, 403, 409, 500 |
GET /images({reference}) | 401, 403, 404, 500 |
PATCH /images({reference}) | 400, 401, 403, 404, 409, 500 |
DELETE /images({reference}) | 401, 403, 404, 409, 500 |
GET /files | 400, 401, 403, 500 |
POST /files | 400, 401, 403, 409, 500 |
GET /files({reference}) | 401, 403, 404, 500 |
PATCH /files({reference}) | 400, 401, 403, 404, 500 |
DELETE /files({reference}) | 401, 403, 404, 500 |
Note that PATCH /files({reference}) and DELETE /files({reference}) do not document 409 — unlike their image counterparts, since files are never queued for background processing.
Before retrying a failed request, verify:
- The
X-API-KEYheader is present and valid - The endpoint path is correct
- The image or file
reference(filename) is correct when usingGET,PATCH, orDELETE - Create and replacement URLs are public HTTP or HTTPS URLs with supported file extensions for the resource type (images and files accept different, and different-sized, sets of extensions)
- Query parameters are supported and correctly formatted