For developers
Every tool is also an endpoint.
The same 629 tools behind one OpenAPI document, metered per call, with typed SDKs for TypeScript and Python. Bring your own bucket and keys, or let us hold them.
Your API key
One key per environment. Scope it, rotate it, revoke it from the dashboard.
Checking…
Endpoints
Read from the live OpenAPI document, so this table cannot drift from what the API serves.
| Method | Path | What it does |
|---|---|---|
| POST | /v1/files/presign-upload | Presign a direct-to-S3 upload URL |
| POST | /v1/jobs | Create a new tool job |
| GET | /v1/jobs/{id} | Get job status |
| GET | /v1/jobs/{id}/output/{index} | Download a job output (302 redirect to a presigned S3 URL) |
| GET | /v1/jobs/{id}/stream | Server-sent events stream for job progress |
| POST | /v1/support/messages | Send a support message |
| GET | /v1/tools | List all tools |
| GET | /v1/tools/{slug} | Get a single tool |
Run your first job
Upload, create a job, poll it. Every one of the tools works the same way — only toolSlug changes.
# Merge two PDFs, then poll the job
curl -X POST ${AXIOMATIC_API}/v1/jobs \
-H "authorization: Bearer $AXIOMATIC_API_KEY" \
-H "content-type: application/json" \
-d '{
"toolSlug": "pdf-merge",
"inputFileIds": ["f_1a2b", "f_3c4d"],
"options": { "addBookmarks": true }
}'
# => { "jobId": "j_9f8e", "status": "queued" }
curl ${AXIOMATIC_API}/v1/jobs/j_9f8e \
-H "authorization: Bearer $AXIOMATIC_API_KEY"