Skip to main content

Error Reference

All API errors return JSON with an error field containing a machine-readable code, and an optional message field with a human-readable description.

{
"error": "validation_error",
"message": "creator_platforms must contain at least one entry"
}

HTTP status codes

StatusCodeMeaning
400validation_errorRequest body or query parameters failed validation
400bad_requestMalformed JSON or missing required field
401unauthorizedMissing or invalid Authorization header
403forbiddenValid API key but insufficient role for this endpoint
404not_foundThe requested resource does not exist
409duplicate_requestAn identical Idempotency-Key was already used for a different payload
422unprocessableRequest is valid but cannot be executed (e.g. platform already connected)
429rate_limitedToo many requests — see Rate Limits
500internal_errorUnexpected server error — contact hello@creatorlayer.eu
503service_unavailableTemporary outage — retry with exponential backoff

Error details by endpoint

POST /api/v1/verifications

ErrorCauseFix
validation_errorobligor_reference is empty or exceeds 100 charactersTrim or truncate the reference
validation_errorcreator_platforms is empty or contains an unsupported platformUse ["youtube"], ["stripe"], or ["youtube", "stripe"]
duplicate_requestSame Idempotency-Key sent with a different payloadGenerate a fresh UUID per unique verification
unauthorizedMissing or malformed Authorization: Bearer headerEnsure the header is present and the key is correct

GET /api/v1/verifications/:id

ErrorCauseFix
not_foundverification_id does not exist or belongs to another lenderCheck the ID — each lender only sees their own verifications

GET /api/v1/benchmarks/:verificationId

ErrorCauseFix
not_foundVerification is not yet completed, or ID is wrongPoll status first; benchmarks are only available after completion

GDPR endpoints

ErrorCauseFix
validation_errorNeither email nor obligor_id providedSupply at least one identifier
not_foundNo data found for the given identifierThe creator may already have been erased
forbiddenEndpoint requires gdpr_admin roleRequest a gdpr_admin key from hello@creatorlayer.eu

Idempotency

POST /api/v1/verifications requires an Idempotency-Key header (UUID v4). This prevents duplicate verifications if a request is retried after a timeout.

  • If the same key is resent with the same payload, the original response is returned (no new verification created).
  • If the same key is resent with a different payload, a 409 duplicate_request error is returned.
  • Keys expire after 24 hours — after that, the same UUID can be reused.
curl -X POST https://api.creatorlayer.eu/api/v1/verifications \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ ... }'

Retrying errors

StatusRetry?Strategy
400, 401, 403, 404, 409, 422NoFix the request — retrying will return the same error
429YesWait for the Retry-After header value (seconds), then retry
500YesRetry once after 5 seconds; if it persists, contact support
503YesExponential backoff: 1s → 2s → 4s → 8s (max 3 retries)