Skip to main content

Error Response Format

All Tiro API errors follow a consistent JSON structure:
{
  "error": {
    "code": 400001,
    "message": "Human readable error message",
    "detail": "Additional context or null"
  }
}

HTTP Status Codes

Status CodeMeaningWhen It Occurs
400Bad RequestInvalid request format or parameters
401UnauthorizedMissing or invalid API key
403ForbiddenAPI key lacks required permissions
404Not FoundResource doesn’t exist
409ConflictResource already exists or state conflict
413Payload Too LargeFile exceeds size limits
415Unsupported Media TypeInvalid file format
422Unprocessable EntityValid format but invalid data
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error
503Service UnavailableTemporary service outage