Tabba.
IntegrationerSådan virker TabbaFeatures

© 2026 Tabba. Alle rettigheder forbeholdes.

Udviklere
Udviklere
Udviklere
Overview
Take a line of a recurring series away DELETEList the recurring series of the company GETRead one recurring series GETList the occurrences of a recurring series GETRead one occurrence of a recurring series GETChange the header fields of a recurring series that the body states PATCHChange a line of a recurring series PATCHCreate a recurring series POSTCancel a recurring series POSTAdd a line to a recurring series POSTIssue an occurrence of a recurring series now POST

Andre spor

AI clientsREST API
Recurring series

Read one recurring series

GET
/recurring-series/{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 GET "https://example.com/recurring-series/string"
{  "object": "recurring_series",  "id": "string",  "external_id": "string",  "customer_id": "string",  "customer_name": "string",  "currency": "string",  "frequency": "monthly",  "start_date": "string",  "end_date": "string",  "issue_timing": {    "mode": "start-of-period"  },  "title": "string",  "use_billing_period_as_title": true,  "layout_ref": "string",  "status": "draft",  "cancelled_at": "string",  "created_at": "string",  "updated_at": "string",  "lines": [    {      "id": "string",      "product_id": "string",      "product_number": "string",      "product_name": "string",      "recognition_method": "value",      "agreed_value": 0,      "hourly_rate": 0,      "discount": 0,      "description_override": "string",      "position": -9007199254740991,      "assignees": [        {          "user_id": "string",          "distribution_percentage": 0,          "hourly_rate_override": 0,          "removed": true        }      ]    }  ]}

List the recurring series of the company GET

Oldest change first. A series that has ended is still `active`: a series ends by date, and has no cancelled state. `updated_since` narrows the list to what changed at or after an instant; the stamp is taken when the series is written, so a list is followed from the instant the last walk started, with no overlap. A change to a line alone does not move the stamp.

List the occurrences of a recurring series GET

In the order of their periods, from the start of the series, or from `from`, to its end date, or to `to`. A series with no end date has no last occurrence: the list is walked a page at a time. Reading an occurrence never makes it an invoice.