Appearance
API reference
API reference
Every public endpoint of an AIOTIC tenant, generated from the OpenAPI document. Base URL: https://<tenant>.aiotic.ai. Authentication: X-API-Key header (details). Errors: {"detail": …} (details).
Which key do you have? A standard integration runs entirely on the sync key: the master-data endpoints under /customer/*, /product/* and /customer-product/*, plus the receive endpoint and webhook that AIOTIC calls on your side. The endpoints marked integration key exist for headless integrations and custom review UIs; that key is issued per project by the AIOTIC team.
Two calls go the other way — from AIOTIC to you — and are documented under Outbound: webhooks.
| Method | Path | Summary | Auth |
|---|---|---|---|
POST | /order/upload | Upload document(s) as one order | integration key |
POST | /order/raw/upload | Upload a raw e-mail (.eml) | integration key |
POST | /order/raw/classify | Classify a raw e-mail without processing it | integration key |
GET | /order/group/{email_group_id} | Get all orders from one source e-mail | integration key |
GET | /order/{request_id}/{filename} | Download an order file | integration key |
GET | /order/{request_id}/{filename}/preview | Preview an order file | integration key |
POST | /order/retry/{request_id} | Retry a failed order | integration key |
GET | /order_status/{request_id} | Get order status and extracted data | integration key |
GET | /order_status/list | List orders (paginated, newest first) | integration key |
POST | /erp/send/{request_id} | Send an order to the ERP receive endpoint | integration key |
GET | /rejected/list | List rejected e-mails | integration key |
GET | /rejected/{request_id} | Get one rejected e-mail | integration key |
POST | /rejected/{request_id}/reprocess | Reprocess a rejected e-mail as a purchase order | integration key |
GET | /customer/list | List customers | integration or sync key |
GET | /customer/search/{query} | Search customers (semantic) | integration or sync key |
GET | /customer/{customer_number} | Get a customer | integration or sync key |
PUT | /customer/{customer_number} | Create or update a customer (upsert) | integration or sync key |
DELETE | /customer/{customer_number} | Delete a customer | integration or sync key |
GET | /product/list | List products | integration or sync key |
GET | /product/{product_number}/{language_code} | Get a product | integration or sync key |
PUT | /product/{product_number}/{language_code} | Create or update a product (upsert) | integration or sync key |
DELETE | /product/{product_number}/{language_code} | Delete a product | integration or sync key |
GET | /customer-product/list | List customer item mappings | integration or sync key |
GET | /customer-product/{customer_number}/{customer_item_number} | Get a customer item mapping | integration or sync key |
PUT | /customer-product/{customer_number}/{customer_item_number} | Create or update a customer item mapping (upsert) | integration or sync key |
DELETE | /customer-product/{customer_number}/{customer_item_number} | Delete a customer item mapping | integration or sync key |
POST | /email-watcher/fetch-all | Fetch all unread e-mails now | integration key |
POST | your URL (erpReceiveOrder) | ERP receive endpoint — implemented by you | your key |
POST | your URL (processingCompleted) | Processing webhook (optional) — implemented by you | your key |
Machine-readable
Download the spec: /openapi.yaml. Point your AI assistant at /llms.txt or use the MCP server.