Skip to main content
POST
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

POST /publishing-bootstrap/apply Description: Imports the selected PENDING items into the CWR tables. Each item runs in its OWN transaction — a failing item is marked failed (with importError) without rolling back its siblings — and re-apply is idempotent (only pending items are picked up). Per item:
  • create items insert a skeleton CWRWork (title capped at 60 chars, canonical ISWC or null, seeded enums, metadata tagged source: publishing-bootstrap), find-or-create each writer (deduped by tenant-scoped IPI, then case-insensitive name), and link the work to its recordings.
  • link items only add work-recording links to the existing target work — no work or writer creation.
  • The asset’s iswc is backfilled ONLY when currently empty; an existing value is never overwritten.
  • Unresolved conflict items fail with an error instructing the reviewer to set finalData.resolveConflict first.
Share-free guarantee: writers are created with empty territories, and work-writer links carry no relative share, are uncontrolled, and have no territories. No publisher or agreement rows are ever touched. Ownership data is entered by a human after import. Authorization:
  • Required role: admin or higher
Method: POST

Code Examples

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json

Provide batchId, itemIds, or both (intersection). At least one is required.

batchId
string

Apply every pending item in this batch.

itemIds
string<uuid>[]

Apply only these pending items.

Response

Apply finished — per-item outcomes in the payload (individual failures do not fail the request)

status
string
Example:

"success"

message
string
Example:

"Imported 12 item(s), 1 failed"

data
object