REST API overview
Base URL: https://api.10ex.ai/api/v1
Authentication
Either credential works on every endpoint:
- Bearer JWT minted by the user-login flow
- First-party API key in the format
tnx_<prefix>_<secret>(admin-mintable in v1)
Authorization: Bearer tnx_abc12345_<secret>See Authentication for the full flow.
How 10ex authentication works in practice
For browser sessions, log in once and use the JWT. For server-to-server, mint an API key in the UI (or via the users module) and pass it as Authorization: Bearer tnx_.... v1 keys carry scope ['*']; per-tool scopes are tracked as tech debt #20.
Modules
| Module | Path prefix | Notes |
|---|---|---|
| users | /users | Auth, identity, OAuth, profile |
| agents | /agents | Hire, run, track agents |
| crm | /crm | Leads, segments, companies, forms |
| connectors | /connectors | OAuth and provider config |
| marketing | /marketing | Campaigns, sequences, ads |
| flows | /flows | Workflow orchestration |
| knowledge | /knowledge | Brand context, RAG |
| webinars | /webinars | Webinar lifecycle |
| videos | /videos | Video assets |
| dashboard | /dashboard | Analytics, metrics |
| assets | /assets | Generated creative |
| landing | /landing | Landing pages |
| payments | /payments | Stripe subscriptions |
| chat | /chat | Conversational surfaces |
| voice | /voice | Realtime voice agents |
Responses
All endpoints return JSON. Error envelope:
{ "detail": [ { "loc": ["body", "field"], "msg": "...", "type": "..." } ] }Standard HTTP status codes apply. See Error codes.
Pagination
List endpoints use cursor pagination with limit and next_cursor. See Pagination for the shared envelope and example client code.
OpenAPI spec
The live spec is at https://api.10ex.ai/openapi.json. Per-endpoint reference pages are hand-maintained in v1. The auto-Reference pipeline from /openapi.json is tech debt #15 in 10ex_fastapi/TECH_DEBTS.md.