error_code where it is present, and always keep a default case that surfaces
message and details.suggestion, so an unfamiliar code degrades into a
readable failure instead of a crash.
Status codes
Error shapes
Most errors carry a human-readable message:Standard error
error_code and a details
object with a suggestion:
Structured error
Upload error codes
POST /api/v1/psd/upload returns these on error_code.
A successful upload can also carry advisory codes under
warnings, and they
never fail it. Hidden layers covers
PSD_HIDDEN_SMART_OBJECTS, and
PSD compatibility
covers PSD_NESTED_CONTENTS_UNAVAILABLE.
PSD_GRADIENT_MAP_UNSUPPORTED counts the Gradient Map layers that renders do
not apply, so the layers below them render without the gradient: a map with a
Noise gradient, a colour stop outside RGB, or a method other than Perceptual,
Linear, Classic or Smooth. In Photoshop, switch it to a Solid gradient with RGB
colour stops and one of those methods, or merge it into the layer below, then
upload the PSD again.
Render error codes
Render, text layer, font, artwork and photo mockup failures use the sameerror_code field. Take the HTTP status from the response rather than from this
table. These are the codes integrations hit most often, not an exhaustive
registry.
Rate limits and concurrency limits
Two ceilings answer429: a request rate, and a cap on how many long
operations run at once. Both report their state in response headers, and
error.type says which one you hit.
Usage limits
The numbers, the headers, and both
429 bodies.Retry strategy
Retry429, 500, 502, 503, 504 and network errors. Do not retry 400,
401, 402, 403, 404 or 422: fix the request or the billing state first.
Credits are charged only on successful requests.
Retry with backoff
Webhooks
Let long jobs call you back instead of polling them.
Plans and limits
Every active plan’s concurrency and template ceilings.