Catalogue Ingest API

Share semantics

Four different share values. Never copy one into another.

This page describes four percentages. They look interchangeable. They are not. Copying one into another produces a registration that pays the wrong party, and that is expensive to undo.

The four values#

ValueFieldWhat it means
Work ownershipwriter_ownership_pctThe writer's share of the underlying work.
Mechanical collectionpublisher_collection_shareWhat the publisher collects on mechanicals. This is the MLC value.
Performance collectionpublisher_pr_shareWhat the publisher collects on performance.
Recording ownershipmaster_shareOwnership of the master recording, not of the work.

A worked example#

A writer owns 50% of a work. Their publisher collects 25% of the mechanicals on it.

json
{
  "writers": [
    { "writer_first_name": "Alex", "writer_last_name": "Stone", "writer_ownership_pct": 50 }
  ],
  "publishers": [
    { "publisher_name": "Acme Publishing", "publisher_collection_share": 25, "linked_writer_index": 0 }
  ]
}

Both numbers are correct, and they differ. Do not set the publisher share to 50 because the writer owns 50.

Where each value goes#

Different destinations read different values. This is why we keep them apart.

DestinationReads
MLC, column Ppublisher_collection_share
Musicmark EBR, writer columnswriter_ownership_pct
SoundExchange, "Percentage Claimed"master_share

If you hold only one#

Send the one you hold. Leave the other out.

We flag the missing value as a gap, and you can fill it later. Do not guess it, and do not copy across the value you do have. A gap is a known unknown. A wrong number looks like fact.

Scale and ceiling#

All four values are shares of the whole work, on a 0 to 100 scale. 50 is 50%. 1 is 1%. A value outside that range returns 400.

A publisher row is bounded by the writer it is linked to. Collection is at most that writer's ownership. Performance is at most half of it, because a society pays the other half to the writer direct. The bound is per row, on the work scale. It is not a share of "the publisher's half".

ScenarioPartywriter_ownership_pctpublisher_collection_sharepublisher_pr_share
One writer, self-publishedW1 / W1's publishing entity10010050
Two equal writers, each self-publishedW1 / P1505025
W2 / P2505025
One writer, third-party administratorW1100
P1, administrator10050

A publisher linked to a writer at 50 sends collection 50 and performance 25 percent. A performance share of 100 percent on that row is over the ceiling. It is the most common error we see.

Validation#

We store shares as fractions, so 50 becomes 0.5. The conversion is lossless. It only changes how the value looks in downstream systems.

We check totals and report them in the validation block:

CodeMeaning
writer_share_overWriter ownership shares add up to more than 100%.
collection_share_overPublisher collection shares add up to more than 100%.

Neither blocks the write. Both mean somebody must look at the work.