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

Description

POST /work/works Description: Creates a CWRWork for the caller’s tenant. No dedicated request validator — accepts any writable CWRWork field and surfaces Sequelize validation failures as a 400. 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

Accepts any CWRWork writable field; tenantId is set server-side from the caller's active workspace and any client-supplied value is overwritten. No dedicated request validator exists — invalid combinations surface as a 400 from Sequelize model validation.

workTitle
string
required
iswc
string
workType
string
languageCode
string
duration
integer
submitterWorkNumber
string

Response

Work created

id
string<uuid>
tenantId
integer
workTitle
string
alternativeTitles
object[]
iswc
string | null

International Standard Musical Work Code (max 13 chars)

libraryCatalogueName
string | null
originalWorkId
string<uuid> | null
languageCode
string
musicalWorkDistributionCategory
string
duration
integer

Seconds

recorded
boolean
versionType
string
excerptType
string
compositeType
string
musicArrangement
string
lyricAdaptation
string
performers
object[]
recordings
object[]

CWR "recording detail" blocks embedded on the work (distinct from the WorkRecording junction table / WorkRecordings below)

grandRights
boolean
compositePart
boolean
compositeWorkId
string | null
compositeWorkTitle
string | null
compositeWorkIswc
string | null
compositeWorkDuration
integer | null
compositeWorkShare
number | null
metadata
object

Includes completeness (complete/skeleton), source (e.g. publishing-bootstrap), seededDefaults, origin.library

workType
string
arrangementType
string
instrumentation
string[]
componentType
string
isArrangement
boolean
isAdaptation
boolean
hasLyricModification
boolean
isNonLyricModification
boolean
submitterWorkNumber
string | null
createdAt
string<date-time>
updatedAt
string<date-time>