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

List the recurring series of the company

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.

GET
/recurring-series

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

Query Parameters

limit?integer

How many records a page holds. Default 25, at most 100.

Range1 <= value <= 100
cursor?string

The next_cursor of the page before.

Length1 <= length
external_id?string

Only the record that carries this external id.

Length1 <= length <= 255
updated_since?string

Only records changed at or after this ISO 8601 instant. The stamp is taken when the record is written, so a list is followed from the instant the last walk started: no overlap is needed.

Match^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
Formatdate-time
customer?string

Only series of this customer: its id, or ext:<external_id>.

Length1 <= length <= 255
status?string

Value in

  • "draft"
  • "active"

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"
{  "object": "list",  "data": [    {      "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            }          ]        }      ]    }  ],  "has_more": true,  "next_cursor": "string"}

Take a line of a recurring series away DELETE

With `this-and-following` the line stops from the occurrence `period` names; earlier occurrences keep it. With `this-only` it is absent from that one occurrence. A one-time line is removed under either scope. Refused with `DELETE_EMPTIES_OCCURRENCE` (409) when it would leave an occurrence that is already an invoice with no lines, and with `OCCURRENCE_ISSUED` (409) when the occurrence is issued.

Read one recurring series GET

Næste side