Skip to content

API reference ​

Every endpoint, request field, response field and status code, rendered from the same OpenAPI document the API serves at GET /api/inbound/openapi.yaml.

Sections ​

1. Clinics

Enroll clinics and update their profile, identity and bank account.

2. Orders

Check, create, read, list, edit and cancel orders.

3. Catalog

Products you can order, your prices and ship-to states.

4. Billing

The per-order billing feed and your invoices.

5. Support

Tickets, attachments and the support widget.

6. Notices

Announcements Axiom publishes to your account.

7. Changelog

What changed in the API, for your integration to read.

8. Webhook events

What we POST to your endpoints.

Managing webhook endpoints through the API (/api/partner/{slug}/webhooks) is described in the Webhooks guide.

Conventions ​

Base URLhttps://api.axiomscript.com for sandbox and production. Your key decides the environment.
Paths/api/inbound/{partnerSlug}/..., where partnerSlug is your account's slug.
AuthenticationEvery request is signed. See Authentication and signing.
FormatJSON request and response bodies, UTF-8. File uploads are raw bytes.
MoneyInteger cents, in US dollars, in fields ending Cents.
TimeISO 8601 in UTC (for example 2026-10-25T17:49:56.425Z), except dates given as YYYY-MM-DD.
IdsaxiomOrderId and other Axiom ids are integers. partnerOrderId and external_id are your own strings.
Errors{ "error": "<code>", ...details }. See Errors and rate limits.
RetriesWrites need an Idempotency-Key. See Idempotency.

Field names follow the payloads: request bodies for orders and clinics use snake_case, responses use camelCase, and the ticket endpoints use snake_case throughout.

On each reference page, the left column describes the request and its fields; the right column shows a sample request and response. The order and ticket samples, and the main webhook events, are real requests and responses captured in sandbox; the rest are generated from the spec. Every name, number and id in them is fake.