/public/* are deprecated and sunset on 31 October 2026. New integrations should use /public/v1/*.
Every legacy response includes deprecation headers:
Why migrate
Base URL change
Authentication is unchanged:
cx-api-key header.
Response envelope
Legacy list (example):code, not message. See Errors.
Pagination migration
See Pagination.
Endpoint mapping
Scopes during migration
Create new keys with explicit scopes:
Keys with empty
scopes (pre-migration) still have full access until rotated.
Migration checklist
1
Audit legacy usage
List which
/public/* endpoints your integration calls today.2
Create scoped v1 key
Settings → API —
tickets:read for read paths.3
Map filters to views
For each legacy list filter, create or identify a matching saved inbox view.
4
Update client code
Switch base URL, envelope parsing, and pagination to cursor model.
5
Add message/thread fetch
Replace custom workarounds with
GET /tickets/:ticketNumber/messages.6
Test in staging
Verify view access for agent-linked keys vs service keys.
7
Deploy and rotate
Deploy v1 client, then delete legacy-only API keys.
Documentation and tools
OpenAPI v1 reference
Interactive Scalar docs for all v1 endpoints.
Legacy OpenAPI
Deprecated
/public/* reference (sunset Oct 2026).Getting started
First v1 request walkthrough.
Agent tool examples
AI agent patterns on v1.