Skip to main content

Documentation

Call the API reliably

Rate limits, time budgets, pagination, idempotency, and HTTP codes for moving from a prototype to a reliable integration.

Slow down before the API has to stop you

Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Window. Read them before you receive a 429.

ScopeLimitWindow
Whole API surface6060 seconds
Generate and run a recipe1010 seconds
Create a document1010 seconds
Create a project1010 seconds
Save a source to the inbox3060 seconds
Archive, trash, or restore1060 seconds
Verify a certificate without a key6060 seconds

Set your client timeout to at least the operation’s published x-kaneme-timeout-seconds. Responses aren’t streamed.

Keep reading until the cursor is null

Call the same endpoint with ?cursor=… until nextCursor is null. A cursor is opaque: copy it exactly and don’t parse it.

Retry the call, not the charge

Add Idempotency-Key to write operations. If the response is lost, send the identical request with the same key within 24 hours. The API rejects a different payload under that key.

Use the status for the family and the code for the cause

Every error contains a stable machine-readable code. An abstention isn’t an HTTP error: it returns 200 with probability: null.

StatusCauseAction
401Missing, unknown, or revoked credential.Create a new key in Connections.
402Not enough credits.Call /estimate before the operation.
404The resource does not exist or is not yours.Check the identifier without probing ownership.
422The request is valid but cannot produce a result.Read the response code for the exact reason.
429Rate limit exceeded.Wait for Retry-After before trying again.
503A measurement layer is temporarily unavailable.Retry after a short delay.