Appearance
Build on AXIOM Connect
One API to send prescription orders for compounded medications to licensed pharmacies and follow each one to the patient's door. Enroll your clinics, check an order before you take payment, submit it, and get signed webhooks as it moves.
What you can do
Orders
Check an order, create it, read its status and tracking, edit it before it reaches a pharmacy, cancel it before it is dispatched.
Clinics
Enroll the clinics you order for with their signed-terms attestation, and keep their details current.
Webhooks
Signed events for status changes, failures, product availability, invoices, support replies and notices.
Catalog
The products your account can order, your price for each, and the states each one ships to today.
Billing
Your invoices with what is still owed, and a per-order billing feed to reconcile your books against ours.
Support
Open and answer support tickets with attachments, or host the support widget in your own product.
The basics in one minute
- JSON over HTTPS. Every endpoint lives under
https://api.axiomscript.com/api/inbound/{partnerSlug}/..., where the slug is the short name we give your account. - Signed, not tokens. Each request carries an HMAC-SHA256 signature over the method, path, a timestamp and the body. There are no sessions or bearer tokens. See Authentication and signing.
- Safe to retry. Requests that create or change something need an
Idempotency-Key. A retry with the same key and body returns the first answer instead of acting twice. See Idempotency. - Check, then order.
POST /orders/checktakes the exact body you would submit and tells you every reason it would be refused, without creating anything. Call it before you take the patient's payment. See Orders lifecycle. - Push, then reconcile. Register a webhook endpoint and we tell you when an order is routed, shipped with tracking, delivered or cancelled, and when we cannot route or dispatch it. Also re-read your recent orders regularly, whatever their status: an order the pharmacy itself reports as failed sends no event, and a status can change after
delivered,cancelledorfailed. See Webhooks.
Environments
There is one API and one base URL. Your key decides the environment: a sandbox key only ever creates sandbox orders, so you cannot place a real order by accident while you build.
| Sandbox | Production | |
|---|---|---|
| Base URL | https://api.axiomscript.com | https://api.axiomscript.com |
| Key | A sandbox key from your partner portal | A production key, which works only after Axiom enables production for your account |
| Validation | The same order checks and error codes as production, except credit limits (and, on some accounts, the clinic agreement) | Full checks |
| Pharmacy | Never. Orders move through a simulated lifecycle | A licensed pharmacy fills and ships the order |
| Billing | Nothing is billed | Orders are invoiced once they ship |
| Webhooks | Sent to your sandbox endpoints | Sent to your production endpoints |
Orders, tickets, invoices, the billing feed, notices and idempotency keys are kept per environment. Your clinics and your webhook endpoints belong to the account instead: either key can read and change them, so protect a sandbox key as carefully as a production key. Details are in Sandbox testing.
How a partner goes live
Loading diagram...
- Request access. Apply at app.axiomscript.com/apply. We set up your partner account, your slug and a partner portal login.
- Build in sandbox. Mint a sandbox key on the API Keys page of the partner portal and follow the Quickstart.
- Prepare production. Mint a production key and register a production webhook endpoint subscribed to
order.status_changed. A production key is refused with403 production_not_enableduntil the next step. - Certification and switch-on. Axiom runs a short sandbox session with you to confirm your checkout calls
POST /orders/checkand stops before payment when the check refuses an order. Then we enable production for your account.
The partner portal's Go-live page shows each of these items and whether it is done. The full list is in the Go-live checklist.
Where things are
| You want to | Go to |
|---|---|
| Send your first signed request | Quickstart |
| See every endpoint, field and status code | API reference |
| Look up an error code | Errors and rate limits |
| Manage keys, webhooks, see deliveries and request logs | Your partner portal at app.axiomscript.com/partner |
| Know what changed | Changelog |
| Ask us something | Request API access or the contact form on axiomscript.com |

