Remediio

Splits

Send contract PDFs and get the deal back as data: the terms in exactly the shape the royalty calculation accepts, plus each party's master, publishing and SoundExchange percentages. Nothing is stored.

Base URL
https://api.remediio.com
Auth
Authorization: Bearer mk_live_…
POST /registry/v1/splits
  • Price: 30 credits
  • Request: multipart/form-data
  • Response: text/event-stream
  • Typical time: 30 s – 2 min

Request

  • contracts file, repeated required: Contract PDFs: up to 10 files, 20 MB in total. Send the field once per file; several PDFs are merged into one set of terms.
  • main_artist_name string: Optional. The artist the splits are built around: they are kept even at 0 / 0 and named in splits.main_artist, by the name the contract uses. If the name isn't found, main_artist is null and the artist is left out.
  • Idempotency-Key header: Optional. The same key with the same files and artist in the same billing period is charged once. Recommended.

Response

The same framing as a calculation: heartbeat lines (: ping) while the parse runs, then exactly one data: event, a result or an error.

Result event

Two views of one contract. contract_terms is documented under the royalty calculation's request and can be sent there verbatim: parse a contract once, then run every statement against it at the base price with no AI. splits is the Registry's ownership view. A contract that gives a different split per song contributes only its blanket shares to splits; read contract_terms, where each such share lists its works.

contract_terms The deal, in exactly the shape the royalty calculation accepts.

splits The Registry's ownership view, one line per party.

  • main_artist string | null: The party matching main_artist_name, by the name the contract uses; null when the name wasn't found or none was sent.
  • parties[].name, role string: The party as named in the contract. Parties with no master, publishing or SoundExchange share are left out; the main artist is always kept.
  • parties[].master_pct number: Share of the sound recording's income, 0–100.
  • parties[].publishing_pct number: Share of the composition's income, 0–100.
  • parties[].soundexchange_pct number: Share of neighbouring-rights income the contract assigns, where it does.

billing What this call cost.

  • credits integer: Credits charged for this call. 0 on a replay under the same Idempotency-Key.
  • replayed true: Present only on a replay: this result was charged on its first run, not again.
  • request_id string: The id the charge is recorded under. Quote it to support.

Unreadable contracts

A scanned image, an encrypted file or an empty PDF ends in an error event with code CONTRACT_UNREADABLE. An error event is never billed.