Skip to main content
Every error uses the same format. Branch on code and use message only for human readers.
Validation errors include a details array listing each field violation.
Error messages are returned in Korean (ko) or English (en) based on the Accept-Language header. If the header is missing or the language is not supported, messages are returned in English. The code value is always the same regardless of language.

HTTP status codes

Common error codes

These codes can occur on any endpoint. Write the handling logic for them once and reuse it across all calls.

Endpoint-specific errors

Codes that only occur on a specific resource, such as PROMPT_SET_NOT_FOUND or RUN_TOO_MANY_TASKS, are not covered here. The Errors table at the top of each API Reference page lists only the codes that endpoint actually returns. The table is generated from the API spec, so it always matches the server.
The code prefix identifies the resource. Prompts use QUESTION_, brands use USER_BRAND_, prompt sets use PROMPT_SET_, and run requests use RUN_.

Retry strategy

  • 429: wait for the number of seconds in the Retry-After header, then retry.
  • 502 / 503: this may be an external provider outage. Retry with exponential backoff (for example, 1s, then 2s, then 4s).
  • 400 / 404: retrying returns the same result. Fix the request instead.
  • If a transient error occurs while polling, collection for the run continues in the background. Pick up where you left off on the next poll.