Skip to content

Error Codes

The API returns standard HTTP status codes with JSON error bodies.

CodeMeaningCause
200OKSuccessful read
201CreatedSuccessful create/update
400Bad RequestInvalid input or missing required fields
401UnauthorizedMissing or invalid API key
403ForbiddenInsufficient scope or paused account
404Not FoundResource doesn’t exist or you don’t own it
409ConflictDuplicate detected (handled via ON CONFLICT)
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer-side failure
{
"error": "unauthorized",
"message": "Invalid or missing API key"
}
{
"error": "unauthorized",
"message": "Invalid or missing API key"
}

Causes:

  • Missing Authorization header
  • Invalid API key format
  • Expired or deleted key

Fix: Verify your key starts with ak_live_ and is passed as Bearer ak_live_...


{
"error": "forbidden",
"message": "Insufficient scope: artworks:write required"
}

Causes:

  • Your key tier doesn’t include the required scope
  • Your account is paused

Fix: Check your scopes with GET /v1/me. Upgrade to subscriber for write access.


{
"error": "bad_request",
"message": "Missing required field: title"
}

Causes:

  • Missing required fields
  • Invalid field types
  • Invalid URLs

Fix: Check the endpoint documentation for required fields and valid values.


{
"error": "not_found",
"message": "Artwork not found"
}

Causes:

  • Resource doesn’t exist
  • You don’t own the resource (entity binding mismatch)

Fix: Verify the ID and that the resource belongs to your entity.


{
"error": "rate_limited",
"message": "Rate limit exceeded. Try again after the reset time.",
"retry_after": 45
}

Fix: Wait for retry_after seconds, or check X-RateLimit-Reset header.


{
"error": "internal_error",
"message": "An unexpected error occurred"
}

Fix: Retry with an idempotency key. If persistent, contact support.

SymptomLikely CauseSolution
All requests return 401Key not passed correctlyCheck Authorization: Bearer ak_live_... format
Write requests return 403Read-only keyUpgrade to subscriber account
Artwork not appearingSync in progressWait a few seconds, check /v1/sync/status
Duplicate artworksFingerprint mismatchEnsure consistent artist_name, title, and year
Rate limited frequentlyHitting 30/min limitUpgrade tier or batch requests