200 | Success |
202 | Accepted — work started asynchronously, such as Brand Kit extraction or email processing |
204 | Success, no content |
400 | Bad request — payload validation failed |
401 | Missing or invalid x-api-key |
403 | Key valid but lacks the required scope |
404 | Resource not found, or belongs to a different organization |
409 | Conflict — concurrent retry, idempotency lock held, or terminal-state operation |
410 | Gone — a temporary resource or token has expired |
422 | Unprocessable — semantic validation failed (e.g. template incomplete, idempotency key reused) |
429 | Rate limited |
501 | Not implemented |