Conventions
This page describes the conventions the Core API follows. It is intended to help you read the OpenAPI specification and predict how the API behaves across endpoints.
Operation identifiers
Every operation in the spec carries an operationId — a unique
symbolic name in camelCase (e.g. getCp, listCards,
createReservation).
You can use the operationId as:
a stable anchor when linking to a specific endpoint in Swagger UI,
the method name produced by SDK generators (OpenAPI Generator, Speakeasy, Postman code-gen, …),
a precise identifier when reporting issues to support.
The format is <verb><Resource>:
Verb |
Meaning |
|---|---|
|
Retrieve a single resource by its identifier |
|
Retrieve a collection (paginated or unbounded) |
|
Create a new resource |
|
Replace an existing resource |
|
Partially update an existing resource |
|
Remove an existing resource |
|
Action-style endpoints use the action as the verb —
e.g. |
A few examples mapping path → operationId:
GET /cp/{uuid}→getCpGET /cards/{contact_uuid}→getCardsPOST /charge_log_export/→exportChargeLogPOST /remote_start_attempt/trigger→triggerRemoteStartAttemptGET /contact_kpi/dashboard_stats/{contact_uuid}→getContactKpiDashboardStats
Path parameters
Path parameters use snake_case (e.g. {cp_uuid},
{contact_uuid}, {rate_id}). Where the resource type is
unambiguous from the path, the parameter name reflects the resource
type ({cp_uuid} rather than the generic {id}).
Query and body parameter casing
For historical reasons, query and body parameters in v1 use a mix of
snake_case and camelCase. The exact casing of each parameter
is documented per-operation in the OpenAPI spec — refer to the spec
for the authoritative name.
Standard formats
Where applicable, the spec uses OpenAPI standard format keywords
so that SDK generators and validators can interpret values correctly.
The wire payload remains a JSON string in every case.
|
Used for |
|---|---|
|
Resource identifiers shaped like
|
|
Email addresses |
|
URLs / hyperlinks |
|
Calendar dates without a time component
( |
|
ISO 8601 timestamps
( |
|
|
|
Numeric identifiers and counters |
Where a parameter or response field has a fixed set of legal values,
the spec declares an enum rather than a free-form string.
Errors
Operations declare both successful (2xx) and error
(4xx / 5xx) responses. Only the codes listed below are ever
returned by the v1 surface; the API does not use 401,
409, 422 or 429.
Status |
Meaning |
|---|---|
|
Malformed input or failed request-shape validation — e.g. a missing required parameter or an unparseable body. |
|
Authentication or authorisation failure. The v1 surface does
not distinguish |
|
The requested resource does not exist or is not visible to the authenticated tenant. |
|
Business-rule violation, not the standard “Method Not
Allowed”. Used for duplicates, password mismatches, invalid
IBAN/BIC, unsupported parameter combinations and similar
semantic rejections. Read the |
|
The negotiated response format is not supported for this operation. |
|
An unexpected server-side error occurred — safe to retry with exponential back-off. |
Deprecation
Endpoints scheduled for removal carry deprecated: true in the
spec. The endpoint’s description explains the replacement and, when
one has been agreed, the sunset date. Deprecated endpoints continue
to function until the sunset date.