Change a line of a recurring series
The fields the body states are changed as the line stands on the occurrence period names. With this-and-following the change holds from that occurrence on, and earlier occurrences keep what they had. With this-only it holds on that occurrence alone, and what the line says before and after is left as it is. The result is what the same edit in the workspace leaves: on the first occurrence every change is the line’s own start, whatever scope is asked; the product always holds from the occurrence on; and a field an occurrence already states for itself stays its own until that field is changed for this and following. A one-time line is on one occurrence, so either scope changes it in place. The same change sent again writes nothing more. Refused with OCCURRENCE_ISSUED (409) when the occurrence is issued, and with SERIES_LINE_NOT_FOUND (404) when the line is not on that occurrence.
Authorization
bearerAuth 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
The record's id, or ext:<external_id> for the record that carries your own key.
The id of a recurring line, or the line_id of a one-time line as its occurrence states it.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/recurring-series/string/lines/string" \ -H "Content-Type: application/json" \ -d '{ "scope": "this-and-following", "period": "string", "line": {} }'{ "object": "series_line", "id": "string", "kind": "series", "scope": "this-and-following", "period": "string", "series_status": "draft"}Change the header fields of a recurring series that the body states PATCH
A field the body leaves out stays as it is. The lines are not touched, except that a change of `start_date` or `frequency` moves every period and so resets each line to what it started with. Once the series has issued an invoice its customer, currency, schedule and title are locked (`SERIES_SETUP_LOCKED`, 409); `layout_ref` never is. Moving `end_date` on such a series ends it by that date, exactly as the cancel route does, with the credit notes an end books; the cancel route is the one that reports them. A schedule that leaves out occurrences with registered work is refused (`SCHEDULE_DROPS_REGISTERED_WORK`, 409) until the body states `acknowledge_dropped_work`, and a change met by an occurrence that is being issued is refused whole (`ISSUE_IN_PROGRESS`, 409).
Create a recurring series POST
A series is Tabba’s own record: nothing is asked of the accounting platform until one of its occurrences is issued. With an `external_id` no series carries, the series is created active with its lines, each complete, and the answer is 201; occurrences whose period has started are invoices at once. With one a series carries, the header of that series is saved, as `PATCH` saves it, and the answer is 200: **its lines are left as they are**. A line has a timeline of its own, so the lines of a series that exists are changed through the line routes. Two creates under one `external_id` at the same moment make one series.