Series
Document numbering series (Serie) per company and document family.
📄️ Get series by ID
Returns a single numbering series by its primary key. The response carries a strong `ETag` header (always `'0'` ÔÇö Serie is not versioned).
📄️ Update series
Full replacement of an existing series. `documentKind` is immutable after create ÔÇö sending a different value returns 400. Send the `If-Match` header for optimistic concurrency (accepted but ignored ÔÇö Serie is not versioned).
📄️ Delete series
Deletes a numbering series. Send the `If-Match` header with the current ETag (accepted but ignored ÔÇö Serie is not versioned).
📄️ Merge-patch series
RFC 7396 merge-patch over `application/merge-patch+json`. Send only the fields you want to change; include a field with value `null` to remove it. Use the `If-Match` header for optimistic concurrency control. `documentKind` cannot be changed via patch.
📄️ List series
Returns a paginated list of numbering series with envelope `{data, totalCount, skip, limit, hasMore}`. Supports optional RSQL `filter`, `sort` (default `series:asc`), `skip`/`limit` pagination and `modifiedAfter`/`modifiedBefore` bookends. Limit is capped at 200; skip is clamped to >= 0.
📄️ Create series
Creates a new numbering series. Business logic runs in the legacy WAR via the internal commands gateway. The combination `series` + `documentKind` + `companyId` must be unique.
📄️ Prototype series for a creation form
Returns a non-persisted series pre-populated with backend defaults (`enabled=true`, current company). Optional JSON hints: `companyId`, `documentKind` (e.g. FAC-EMI), `copyFromId`. The response has no `id`, `version` or audit fields; call `POST /api/v2/series` afterwards to persist.