REST API: Auth, Fields and Rate Limits - AXL

The same API the admin panel runs on

When a feature ships in the interface, its operations are on the API the same day. Everything here is version one, under /api/v1/.

Create a key carrying only the rights the job needs, name the fields on every read and pace against a concurrency limit rather than a quota.

Everything you need before the first call.

What Value
Base URL https://app.axl.tech/api/v1/: JSON over HTTPS, REST-flavoured
Surface ~1,100 operations across 60+ modules, the ones the admin panel calls
Conventions String ids, never integers. Mostly 22-character short GUIDs. UTC in every date field, both directions. Soft delete by default: a deleted record is flagged, not erased. Custom fields are read and written by their Latin key.
Paging Reads page with take and skip; add useItemsTotal and the same call returns the count.
Response envelope {"success":…,"body":…,"errors":[…]}; every error carries code, type, message and often the field it refers to
Documented where A published interactive reference, generated from a localized OpenAPI document you can download and load into Postman: contacts, courses, products, orders, payments, certificates, scenarios and the partnership endpoints. The rest behave identically, described by the MCP schema tools.

Read against the running platform and the production configuration.

What it is for

Four jobs people wire up first.

From your checkout or back office, using standard fields, tags, groups and custom fields.

One request runs any active scenario for a contact, carrying your own payload. The endpoint →

Orders, payments, course progress and campaign results, on your schedule.

Upload the bytes, then attach the file to a lesson or a product.

REST reads and writes; webhooks carry events, since there is no subscriptions API. MCP is the same surface for an agent.

API keys & scopes

Each key carries its own rights.

Create keys in Settings → API Keys, then open one to copy it and set its rights (the same permission tree that governs a human admin, down to the restricted-field right). A key that triggers one automation gets the “run scenario” right and nothing else; it cannot read your contacts.

Keys are unlimited, so one per job costs nothing. REST also keeps the writes that are removed from the agent surface (billing, tokens, roles), so a scoped key is how you script that work.

Choose exactly what an API key can do before you save it.

First call

Read fifty contacts in one request.

Fifty contacts, four fields, with the count GET https://app.axl.tech/api/v1/crm/lead?fields={id,firstName,email,tags{id,text}}&take=50&skip=0&useItemsTotal=true``Authorization: Bearer <your-api-key>``200 {"success":true,"errors":[],"body":{"items":[…],"filter":{"itemsTotal":128}}} Contacts live under crm/lead; the count rides back on the echoed filter. Copy the call

Files upload in three steps, not one post

Begin with a JSON call describing the file; the server sizes the parts and returns one pre-signed URL each. Upload the bytes by PUT to each URL with no Authorization header (the signature is in the URL and an auth header voids it), keeping each ETag verbatim. Complete as the admin who began.

Download links are pre-signed and expire after six hours, so generate them when you need them.

Concurrency, not a request quota

There is no requests-per-second cap. Machine callers get a fixed number of requests in flight at once. Ten thousand calls in a row is fine, four at the same moment may not be.

Questions

Before you wire anything up.

Where is the endpoint reference?

At app.axl.tech/api/public, browsable and open, with the OpenAPI document downloadable from the same page. It covers contacts, courses, products, orders, payments, certificates, scenarios and the partnership endpoints; everything else behaves the same way and is described by the MCP schema tools and the knowledge base.

Is the API included, or is there a developer tier?

The API and webhooks are part of AXL. Paid platform plans start at $49 per month with included usage and published overage rates. Work out your number →

Do you have SDKs?

Not today. Download the OpenAPI document from the reference and generate one in your own language; the same file imports into Postman as a collection.

One key, one job, one afternoon.

Create the key, scope it to the one job, make the call above.

Create an API key Open the API reference Webhooks, both directions

Free plan, no card needed.