Skip to content
Skip to article
Resources

API

Send usage, read and change your billing data, and read the events your connections landed.

The Verlix API is how your own systems read and change your billing data: your account, customers, products and plans, contracts and pricing, invoices, credit notes, payments, collections, usage, metrics and reports, and the raw events your connections landed. An answer carries only your data and your customer's data, never Verlix's internal bookkeeping.

Base URL and versioning

The base URL is https://api.verlix.ai. Every call is a POST to a /v1 path naming its group, resource and action, with a JSON body. The version is in the path, and a breaking change means a new path rather than a changed response, so an existing integration is never altered underneath itself. Additive fields are not breaking, so a client must ignore properties it does not recognise.

Authentication

Browser sessions authenticate with an HttpOnly cookie that is set at login and never readable from JavaScript. A server-to-server caller exchanges its client id and client secret at /v1/auth/tokens/issue for an access token that lasts one hour and a refresh token that works once, then presents the access token as a Bearer token. The credential names the tenant, never a parameter, so a caller cannot ask for another tenant's data by changing an id.

Rate limits

Limits apply to each API key across every host. Limits per tenant and per route class are not available yet. A throttled request returns 429 with a Retry-After header, and a client should honour that header rather than backing off on a fixed schedule: the value reflects the actual window remaining.

Response conventions
StatusMeaningWhat a client should do
200 / 201SuccessRead the body; ignore unknown fields
400The request was invalidFix the request; retrying will not help
401 / 403Not authenticated, or not permittedRe-authenticate, or ask for the scope
409The record changed since you read it, or its state refuses the changeRead it again before you resend
429Rate limitedWait for Retry-After, then retry
503A dependency is unavailableSafe to retry with backoff

Money and numbers

Money crosses the wire as a decimal string, never as a floating-point number, and it is never re-parsed on the way through. A price on a plan or a rule keeps its full precision and is rounded only when an invoice line is calculated; an amount on a document carries exactly 2 places, rounded once at that calculation. A client that parses a money string into a float and adds 2 of them has left the guarantee behind.

The agent surface

Agent access is not available yet: no action group describes these endpoints for an assistant to call.