Cancellation Causes
Cancellation causes (CausaAnulacion / causas de anulaci├│n).
📄️ Get cancellation cause by ID
Returns a single cancellation cause by its primary key.
📄️ Update cancellation cause
Full replacement of an existing cancellation cause. Send the `If-Match` header for optimistic concurrency (accepted but ignored ÔÇö not versioned).
📄️ Delete cancellation cause
Deletes a cancellation cause. Send the `If-Match` header with the current ETag (accepted but ignored ÔÇö not versioned).
📄️ Merge-patch cancellation cause
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.
📄️ List cancellation causes
Returns a paginated list of cancellation causes with envelope `{data, totalCount, skip, limit, hasMore}`. Supports optional RSQL `filter`, `sort` (default `name:asc`), `skip`/`limit` pagination and `modifiedAfter`/`modifiedBefore` bookends.
📄️ Create cancellation cause
Creates a new cancellation cause. Business logic runs in the legacy WAR via the internal commands gateway.
📄️ Prototype cancellation cause for a creation form
Returns a non-persisted cancellation cause pre-populated with backend defaults (`enabled=true`, current company, next `code`). Optional JSON hints: `companyId`, `warehouseId`, `copyFromId`. The response has no `id`, `version` or audit fields; call `POST /api/v2/cancellation-causes` afterwards to persist.