Skip to content

API reference

Every v1 endpoint, its scope and how pagination works, plus the OpenAPI document.

The Kabaido API is REST over HTTPS, scoped to your organisation by the API key. All money fields are integer minor units with a currency code. The machine-readable specification lives at /api/v1/openapi.json.

Quotes API
Request
curl "/api/v1/quotes?limit=2" -H "Authorization: Bearer kbd_..."
Response
  • Q-26-00026£528.96inc VATvalid until 11 JulDraft
  • Q-26-00025£202.08inc VATvalid until 10 JulDraft

Money in minor units. 600 requests per minute per key.

Live preview: the API, webhook and MCP surfaces side by side with real request and response shapes.

Endpoints

EndpointMethodScopePurpose
/api/v1/productsGETproducts:readList and search products
/api/v1/products/bulkPOSTproducts:writeUpsert up to 10000 products by SKU
/api/v1/quotesGETquotes:readList quotes, filter by status
/api/v1/quotes/{id}GETquotes:readOne quote with lines
/api/v1/ordersGETorders:readList orders, filter by status
/api/v1/orders/{id}GETorders:readOne order with lines
/api/v1/customersGETcustomers:readList and search customers
/api/v1/customersPOSTcustomers:writeUpsert up to 500 customers
/api/v1/customers/{id}GETcustomers:readOne customer with contacts
/api/v1/requestsGETrequests:readList request threads
/api/v1/requestsPOSTrequests:writeOpen a request from RFQ text
/api/v1/requests/{id}GETrequests:readOne request with messages

Pagination

List endpoints return newest first with an opaque next_cursor when more results exist. Pass it back as the cursor query parameter for the next page; a null next_cursor means you have everything. Limits cap at 200 rows for commercial lists and 500 for products and customers.

Errors

Errors are JSON with a single error message. 401 means a missing or revoked key, 403 a missing scope, 404 a record outside your organisation, 422 a request that cannot be processed, 429 the per-key throttle and 5xx a fault on our side. Retry 429 and 5xx with a backoff; never retry 4xx unchanged.

Opening a request

bash
curl -X POST https://kabaido.ai/api/v1/requests \
 -H "Authorization: Bearer kbd_your_key_here" \
 -H "Content-Type: application/json" \
 -d '{ "text": "Please quote 50x DIN 933 M8x40 A2" }'

Creating a request costs nothing. Credits meter the AEI when it resolves lines, exactly as in the app.