Tabba.
IntegrationerSådan virker TabbaFeatures

© 2026 Tabba. Alle rettigheder forbeholdes.

Udviklere
Udviklere
Udviklere
Overview
Delete a customer DELETEList the customers the company invoices GETRead one customer GETChange the fields of a customer that the body states PATCHCreate a customer POST

Andre spor

AI clientsREST API
Customers

Delete a customer

Refused with DELETE_BLOCKED_BY_REFERENCES (409) while an invoice, a recurring series or a credit note of the company names the customer: the platform is then not asked. Refused with DELETE_BLOCKED_BY_BOOKINGS (409) when the accounting platform holds bookings against the customer. Either way nothing is deleted.

DELETE
/customers/{ref}

Authorization

bearerAuth
AuthorizationBearer <token>

An API key minted by an admin under Settings → Developers. It is bound to one company and has a scope: read, or read_write. A request without one, or with one that is not ours, is answered 401 and metered by its client address (x-rate-limits).

In: header

Path Parameters

ref*string

The record's id, or ext:<external_id> for the record that carries your own key.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/customers/string"
{  "object": "customer",  "id": "string",  "deleted": true}

Credit an issued invoice POST

The accounting platform books and sends the credit note inside the request, and the answer is the booked credit note, 201. A full credit takes the whole invoice back and is refused once anything was credited (`INVOICE_ALREADY_CREDITED`); a partial credit names lines of the invoice, each by no more than is left on it (`VALIDATION_FAILED` with `AMOUNT_EXCEEDS_BILLED` under the line). Amounts are before VAT. **Sending it again is safe**: the same `external_id` is the same credit note, whatever its body says the second time. Booked, it is answered as it stands, 200, and nothing is booked twice; not booked, that attempt is taken up again under its own date and lines. **A credit note that booked and could not be delivered is a success** whose `send_error` says why. An attempt the platform gave no definite answer to holds every other credit on the invoice back (`CREDIT_ATTEMPT_UNRESOLVED`, 409) until the request that made it is sent again. Metered against the `platform_write` bucket as well as `default`.

List the customers the company invoices GET

Oldest change first. `updated_since` narrows the list to what changed at or after an instant. A change is stamped as it is written, in the order changes become visible, so a list followed from the newest `updated_at` it answered misses nothing and needs no overlap. A change of `external_id` alone is not such a change.