Developer API
Changelog
Developer API contract and behavioral changes.
This page records changes that may affect an integration. Developer API v1 is currently in Preview.
2026-10-04
Breaking
POST /v1/filesaccepts PNG, JPEG, GIF, WebP, PDF, DOCX, XLSX, CSV and TXT. Other image types (including SVG and HEIC) now returnUNSUPPORTED_FILE_TYPE.- The file's contents must match its type: a file whose leading bytes do not match its extension returns
UNSUPPORTED_FILE_TYPE.
Behavioral
- The file type comes from the filename extension, not the declared
Content-Type. A.csvsent asapplication/vnd.ms-excelis accepted as CSV. Files without an extension still fall back toContent-Type.
2026-09-29
Breaking
- API keys now end with a checksum (
ac_<public-id>_<secret><checksum>). Keys created before this date were revoked; create a replacement in the Admin Panel. - Replaying a completed idempotent request returns
200withIdempotent-Replayed: trueinstead of202. - Message pages return
object,first_id, andlast_id;next_afterwas removed. Passlast_idasafter. RateLimit-Resetis now the number of seconds until the window resets, not a Unix timestamp.
Behavioral
- Rate limits apply per assistant across all its keys and use a sliding one-minute window. Enterprise plans have higher limits.
- Every
/v1error, including authentication and validation failures, returns the documented shape with a registrycodeandretryable. SSEerrorevents use the same codes. Idempotency-Keyis limited to 255 characters.
Additive
GET /v1/responses/{response_id}retrieves a finished response.DELETE /v1/users/{external_user_id}with the newusers:deletescope erases an end user's data.- Rotation can keep the old key working for 1 hour, 24 hours, or 7 days.
- New error codes:
IP_NOT_ALLOWED,FILE_UPLOAD_DISABLED,VOICE_DISABLED,ACTOR_CONFLICT,MESSAGE_NOT_FOUND,FILE_NOT_FOUND,RESPONSE_NOT_FOUND,INVALID_CURSOR,VALIDATION_ERROR,UNSUPPORTED_FILE_TYPE,FILE_TOO_LARGE,CONTEXT_TOO_LARGE,RATE_LIMIT_UNAVAILABLE,INTERNAL_SERVER_ERROR.
2026-09-07
- Published OpenAPI 3.1 and AsyncAPI 3.1 as the canonical machine-readable contracts.
- Added
standard + autoturn detection to the Voice API. - Clarified the backend integration flow, identity mapping, and production checklist.
Change classification
- Breaking: a client that correctly implements the contract must change its code.
- Behavioral: the contract is unchanged, but timing, ordering, limits, or retry behavior changes materially.
- Additive: a backwards-compatible optional field, event, or operation is added.
- Documentation: clarification only; runtime behavior is unchanged.