{"info":{"name":"Stillmore Group API","description":"Set apiKey to a key from the API tab (start with a sandbox key, sm_test_…). Reference: https://www.stillmoregroup.com/developers","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"variable":[{"key":"baseUrl","value":"https://api.stillmoregroup.com/api/v1"},{"key":"apiKey","value":"sm_test_replace_me"}],"item":[{"name":"Account","item":[{"name":"Who the key is","request":{"method":"GET","description":"The organization, the key's scopes and limits, and the release lead time. A cheap call to check a key works.","header":[],"url":{"raw":"{{baseUrl}}/me","host":["{{baseUrl}}"],"path":["me"],"variable":[]}}},{"name":"Organizations the key can act for","request":{"method":"GET","description":"The key's own organization, and the sub-labels below it when the key may act for them. To act for a sub-label, send its id in the Stillmore-Organization header: every id, list and limit is then that sub-label's, as if it had its own key.","header":[],"url":{"raw":"{{baseUrl}}/organizations","host":["{{baseUrl}}"],"path":["organizations"],"variable":[]}}}]},{"name":"Reference","item":[{"name":"Genres, languages, countries and stores","request":{"method":"GET","description":"The values the catalogue accepts. Genres and languages are checked against these lists; store codes go in `stores.codes`.","header":[],"url":{"raw":"{{baseUrl}}/reference","host":["{{baseUrl}}"],"path":["reference"],"variable":[]}}}]},{"name":"Labels","item":[{"name":"List labels","request":{"method":"GET","description":"List labels\n\nScope: labels:read","header":[],"url":{"raw":"{{baseUrl}}/labels","host":["{{baseUrl}}"],"path":["labels"],"variable":[]}}},{"name":"Create a label or imprint","request":{"method":"POST","description":"Create a label or imprint\n\nScope: labels:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/labels","host":["{{baseUrl}}"],"path":["labels"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Read a label","request":{"method":"GET","description":"Read a label\n\nScope: labels:read","header":[],"url":{"raw":"{{baseUrl}}/labels/:labelId","host":["{{baseUrl}}"],"path":["labels",":labelId"],"variable":[{"key":"labelId","value":""}]}}},{"name":"Change a label","request":{"method":"PATCH","description":"Change a label\n\nScope: labels:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/labels/:labelId","host":["{{baseUrl}}"],"path":["labels",":labelId"],"variable":[{"key":"labelId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Artists","item":[{"name":"List artists","request":{"method":"GET","description":"List artists\n\nScope: artists:read","header":[],"url":{"raw":"{{baseUrl}}/artists","host":["{{baseUrl}}"],"path":["artists"],"variable":[]}}},{"name":"Add an artist to the roster","request":{"method":"POST","description":"Add an artist to the roster\n\nScope: artists:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/artists","host":["{{baseUrl}}"],"path":["artists"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Read an artist","request":{"method":"GET","description":"Read an artist\n\nScope: artists:read","header":[],"url":{"raw":"{{baseUrl}}/artists/:artistId","host":["{{baseUrl}}"],"path":["artists",":artistId"],"variable":[{"key":"artistId","value":""}]}}},{"name":"Change an artist","request":{"method":"PATCH","description":"Change an artist\n\nScope: artists:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/artists/:artistId","host":["{{baseUrl}}"],"path":["artists",":artistId"],"variable":[{"key":"artistId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Releases","item":[{"name":"List releases","request":{"method":"GET","description":"Newest first. Filter by status, label, artist, UPC or your externalId; `updatedSince` returns what changed since your last sync.\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases","host":["{{baseUrl}}"],"path":["releases"],"variable":[]}}},{"name":"Create a draft release","request":{"method":"POST","description":"Creates the draft and, when `tracks` is given, its tracks in order. A SINGLE always has exactly one track, created with the release.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases","host":["{{baseUrl}}"],"path":["releases"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Read a release with its tracks","request":{"method":"GET","description":"Read a release with its tracks\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId","host":["{{baseUrl}}"],"path":["releases",":releaseId"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Change a draft release","request":{"method":"PATCH","description":"Only drafts and releases sent back for changes can change. `null` clears a field that can be empty.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId","host":["{{baseUrl}}"],"path":["releases",":releaseId"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Archive a draft release","request":{"method":"DELETE","description":"Drafts and releases sent back for changes are archived (status ARCHIVED); nothing that went to review is deleted.\n\nScope: releases:write","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId","host":["{{baseUrl}}"],"path":["releases",":releaseId"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Create many draft releases","request":{"method":"POST","description":"Each release is created on its own, as POST /v1/releases would; the answer lists every result in the order sent. One failing doesn't stop the others.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/batch","host":["{{baseUrl}}"],"path":["releases","batch"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Tracks","item":[{"name":"Find tracks","request":{"method":"GET","description":"Across the organization, newest first: by ISRC, by your externalId, or every track changed since a time.\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/tracks","host":["{{baseUrl}}"],"path":["tracks"],"variable":[]}}},{"name":"A release's tracklist","request":{"method":"GET","description":"Every track, in order (not paged).\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/tracks","host":["{{baseUrl}}"],"path":["releases",":releaseId","tracks"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Add a track","request":{"method":"POST","description":"At the end of the tracklist, or at `position` (the tracks from there move down). Primary artists default to the release's.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/tracks","host":["{{baseUrl}}"],"path":["releases",":releaseId","tracks"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Reorder the tracklist","request":{"method":"PUT","description":"Reorder the tracklist\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/tracks/order","host":["{{baseUrl}}"],"path":["releases",":releaseId","tracks","order"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Read a track","request":{"method":"GET","description":"Read a track\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/tracks/:trackId","host":["{{baseUrl}}"],"path":["tracks",":trackId"],"variable":[{"key":"trackId","value":""}]}}},{"name":"Change a track","request":{"method":"PATCH","description":"Change a track\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/tracks/:trackId","host":["{{baseUrl}}"],"path":["tracks",":trackId"],"variable":[{"key":"trackId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Remove a track","request":{"method":"DELETE","description":"The tracks after it move up.\n\nScope: releases:write","header":[],"url":{"raw":"{{baseUrl}}/tracks/:trackId","host":["{{baseUrl}}"],"path":["tracks",":trackId"],"variable":[{"key":"trackId","value":""}]}}}]},{"name":"Splits","item":[{"name":"The release-wide royalty split","request":{"method":"GET","description":"The release-wide royalty split\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/split","host":["{{baseUrl}}"],"path":["releases",":releaseId","split"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Set the release-wide royalty split","request":{"method":"PUT","description":"Applies to every track without a split of its own. An empty `parties` removes it.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/split","host":["{{baseUrl}}"],"path":["releases",":releaseId","split"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"A track's own royalty split","request":{"method":"GET","description":"A track's own royalty split\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/tracks/:trackId/split","host":["{{baseUrl}}"],"path":["tracks",":trackId","split"],"variable":[{"key":"trackId","value":""}]}}},{"name":"Set a track's own royalty split","request":{"method":"PUT","description":"Set a track's own royalty split\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/tracks/:trackId/split","host":["{{baseUrl}}"],"path":["tracks",":trackId","split"],"variable":[{"key":"trackId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Files","item":[{"name":"Start a cover upload","request":{"method":"POST","description":"Returns a signed address valid for an hour. PUT the file there with the given headers, then call complete. Covers are square JPEG or PNG, exactly 3000 × 3000 pixels, in RGB, up to 25 MB.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/artwork","host":["{{baseUrl}}"],"path":["releases",":releaseId","artwork"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Finish a cover upload","request":{"method":"POST","description":"Checks the stored file and puts it on the release, replacing any cover it had. Calling it again for the same upload changes nothing.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/artwork/complete","host":["{{baseUrl}}"],"path":["releases",":releaseId","artwork","complete"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Fetch a cover from a link","request":{"method":"POST","description":"Stillmore Group downloads the file in the background and checks it like an upload. Follow the import with GET /v1/imports/{importId}. The link must answer with Content-Length.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/artwork/import","host":["{{baseUrl}}"],"path":["releases",":releaseId","artwork","import"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Download the cover","request":{"method":"GET","description":"Download the cover\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/artwork","host":["{{baseUrl}}"],"path":["releases",":releaseId","artwork"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Remove the cover","request":{"method":"DELETE","description":"Remove the cover\n\nScope: releases:write","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/artwork","host":["{{baseUrl}}"],"path":["releases",":releaseId","artwork"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Start a master upload","request":{"method":"POST","description":"Returns a signed address valid for an hour. Masters are WAV or FLAC, up to 500 MB.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/tracks/:trackId/audio","host":["{{baseUrl}}"],"path":["tracks",":trackId","audio"],"variable":[{"key":"trackId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Finish a master upload","request":{"method":"POST","description":"Checks the stored file (it must really be WAV or FLAC), reads its duration, sample rate and bit depth, and starts the copyright scan.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/tracks/:trackId/audio/complete","host":["{{baseUrl}}"],"path":["tracks",":trackId","audio","complete"],"variable":[{"key":"trackId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Fetch a master from a link","request":{"method":"POST","description":"Fetch a master from a link\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/tracks/:trackId/audio/import","host":["{{baseUrl}}"],"path":["tracks",":trackId","audio","import"],"variable":[{"key":"trackId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Download the master","request":{"method":"GET","description":"Download the master\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/tracks/:trackId/audio","host":["{{baseUrl}}"],"path":["tracks",":trackId","audio"],"variable":[{"key":"trackId","value":""}]}}},{"name":"Remove the master","request":{"method":"DELETE","description":"Remove the master\n\nScope: releases:write","header":[],"url":{"raw":"{{baseUrl}}/tracks/:trackId/audio","host":["{{baseUrl}}"],"path":["tracks",":trackId","audio"],"variable":[{"key":"trackId","value":""}]}}},{"name":"Follow a file import","request":{"method":"GET","description":"Follow a file import\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/imports/:importId","host":["{{baseUrl}}"],"path":["imports",":importId"],"variable":[{"key":"importId","value":""}]}}}]},{"name":"Distribution","item":[{"name":"Check a release before sending it","request":{"method":"GET","description":"Everything submission requires, plus the store rules reviewers check by eye: audio quality, titles (no \"feat.\", promotional words, emoji or shouting capitals), artist names, codes already used elsewhere, cover licences. ERROR items block a submission (submission rules) or automatic approval (store rules); WARNING items are for a person to judge.\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/checks","host":["{{baseUrl}}"],"path":["releases",":releaseId","checks"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Send a release to distribution","request":{"method":"POST","description":"The release joins Stillmore Group's review queue exactly as one submitted in the workspace does (paid plans are reviewed first). On an account with automatic approval it is approved without a person once its checks are clean, and goes straight to delivery. Follow it with the release.* webhooks or GET /v1/events.\n\nScope: releases:submit","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/submit","host":["{{baseUrl}}"],"path":["releases",":releaseId","submit"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Send many releases to distribution","request":{"method":"POST","description":"Up to 50 releases, each submitted on its own; the answer lists every result. The daily submission limit counts each one.\n\nScope: releases:submit","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/submit","host":["{{baseUrl}}"],"path":["releases","submit"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Ask for a live release to come down","request":{"method":"POST","description":"Stillmore Group's team takes it down from the stores; the release.taken_down webhook tells you when it's done.\n\nScope: releases:submit","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/takedown","host":["{{baseUrl}}"],"path":["releases",":releaseId","takedown"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Start a document upload","request":{"method":"POST","description":"When review asks for documents (proof of rights, licences, agreements: review.documentsRequested), upload them here: PDF, Word, JPEG or PNG up to 20 MB.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/documents","host":["{{baseUrl}}"],"path":["releases",":releaseId","documents"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Finish a document upload","request":{"method":"POST","description":"Finish a document upload\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/documents/complete","host":["{{baseUrl}}"],"path":["releases",":releaseId","documents","complete"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Events","item":[{"name":"Read back events","request":{"method":"GET","description":"Every event your webhooks can receive, newest first, kept for 30 days whether or not an endpoint was listening. Use it to catch up after downtime or instead of webhooks. A key sees the events its scopes cover: release and takedown events need releases:read, payout and statement events finance:read, claim events either.","header":[],"url":{"raw":"{{baseUrl}}/events","host":["{{baseUrl}}"],"path":["events"],"variable":[]}}}]},{"name":"Webhooks","item":[{"name":"List webhook endpoints","request":{"method":"GET","description":"List webhook endpoints\n\nScope: webhooks:manage","header":[],"url":{"raw":"{{baseUrl}}/webhooks","host":["{{baseUrl}}"],"path":["webhooks"],"variable":[]}}},{"name":"Register an endpoint","request":{"method":"POST","description":"Up to ten https endpoints. The answer shows the signing secret once.\n\nScope: webhooks:manage","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/webhooks","host":["{{baseUrl}}"],"path":["webhooks"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Change or pause an endpoint","request":{"method":"PATCH","description":"Change or pause an endpoint\n\nScope: webhooks:manage","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/webhooks/:webhookId","host":["{{baseUrl}}"],"path":["webhooks",":webhookId"],"variable":[{"key":"webhookId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Remove an endpoint","request":{"method":"DELETE","description":"Remove an endpoint\n\nScope: webhooks:manage","header":[],"url":{"raw":"{{baseUrl}}/webhooks/:webhookId","host":["{{baseUrl}}"],"path":["webhooks",":webhookId"],"variable":[{"key":"webhookId","value":""}]}}},{"name":"Send a test ping","request":{"method":"POST","description":"Send a test ping\n\nScope: webhooks:manage","header":[{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/webhooks/:webhookId/test","host":["{{baseUrl}}"],"path":["webhooks",":webhookId","test"],"variable":[{"key":"webhookId","value":""}]}}},{"name":"The endpoint's last 25 deliveries","request":{"method":"GET","description":"The endpoint's last 25 deliveries\n\nScope: webhooks:manage","header":[],"url":{"raw":"{{baseUrl}}/webhooks/:webhookId/deliveries","host":["{{baseUrl}}"],"path":["webhooks",":webhookId","deliveries"],"variable":[{"key":"webhookId","value":""}]}}},{"name":"Rotate the signing secret","request":{"method":"POST","description":"A new secret, shown once. The old one keeps signing alongside it (two v1= signatures) for graceHours, 24 by default.\n\nScope: webhooks:manage","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/webhooks/:webhookId/rotate-secret","host":["{{baseUrl}}"],"path":["webhooks",":webhookId","rotate-secret"],"variable":[{"key":"webhookId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Money","item":[{"name":"The balance, per currency","request":{"method":"GET","description":"What the organization has earned, the advance still to recoup, payouts on their way, and what can be paid out now.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/balance","host":["{{baseUrl}}"],"path":["balance"],"variable":[]}}},{"name":"Ledger entries","request":{"method":"GET","description":"Every credit and debit of the balance, newest first: royalties, fees, payouts, adjustments, recoupments, transfers.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/transactions","host":["{{baseUrl}}"],"path":["transactions"],"variable":[]}}},{"name":"Earnings by month, release, track, store or territory","request":{"method":"GET","description":"What the stores reported, summed by groupBy over the royalty lines matched to the catalogue, biggest first (months in order). Filter by reporting months, currency, release, track, store or territory. Gross, before commission: statements carry the net.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/earnings","host":["{{baseUrl}}"],"path":["earnings"],"variable":[]}}},{"name":"Published royalty statements","request":{"method":"GET","description":"Statements Stillmore Group published to the organization, newest first. Drafts never show; one withdrawn after publishing stays listed with status VOID.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/statements","host":["{{baseUrl}}"],"path":["statements"],"variable":[]}}},{"name":"One statement","request":{"method":"GET","description":"One statement\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/statements/:statementId","host":["{{baseUrl}}"],"path":["statements",":statementId"],"variable":[{"key":"statementId","value":""}]}}},{"name":"The royalty lines behind a statement","request":{"method":"GET","description":"Each store line of the statement's period and currency, up to 500 a page.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/statements/:statementId/lines","host":["{{baseUrl}}"],"path":["statements",":statementId","lines"],"variable":[{"key":"statementId","value":""}]}}},{"name":"The statement's lines as CSV","request":{"method":"GET","description":"Every line in one text/csv file (UTF-8, comma separated, a header row), the same columns as the lines endpoint.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/statements/:statementId/export","host":["{{baseUrl}}"],"path":["statements",":statementId","export"],"variable":[{"key":"statementId","value":""}]}}},{"name":"Saved payout methods","request":{"method":"GET","description":"The bank, PayPal and Payoneer accounts saved in the workspace, masked. Payouts through the API can only go to these.\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/payout-methods","host":["{{baseUrl}}"],"path":["payout-methods"],"variable":[]}}},{"name":"Payout requests","request":{"method":"GET","description":"Payout requests\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/payouts","host":["{{baseUrl}}"],"path":["payouts"],"variable":[]}}},{"name":"One payout request","request":{"method":"GET","description":"One payout request\n\nScope: finance:read","header":[],"url":{"raw":"{{baseUrl}}/payouts/:payoutId","host":["{{baseUrl}}"],"path":["payouts",":payoutId"],"variable":[{"key":"payoutId","value":""}]}}},{"name":"Request a payout","request":{"method":"POST","description":"Asks Stillmore Group to pay out part of the available balance to a saved payout method. An owner or admin must first allow payout requests through the API in Workspace › API › Settings (with an authenticator code), and each request is told to them. Stillmore Group reviews it as any other: it stays PENDING until approved, then PAID. Send an Idempotency-Key so a retry never asks twice.\n\nScope: payouts:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/payouts","host":["{{baseUrl}}"],"path":["payouts"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Cancel a pending payout","request":{"method":"POST","description":"Cancel a pending payout\n\nScope: payouts:write","header":[{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/payouts/:payoutId/cancel","host":["{{baseUrl}}"],"path":["payouts",":payoutId","cancel"],"variable":[{"key":"payoutId","value":""}]}}}]},{"name":"Smart links","item":[{"name":"The release's smart link","request":{"method":"GET","description":"The public page fans open to choose a store. null until one is made: by PUT, or when staff record store links at delivery.\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/smart-link","host":["{{baseUrl}}"],"path":["releases",":releaseId","smart-link"],"variable":[{"key":"releaseId","value":""}]}}},{"name":"Make or change the smart link","request":{"method":"PUT","description":"Made on the first call with the release title as its address unless you give a slug; later calls change only what they name.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/releases/:releaseId/smart-link","host":["{{baseUrl}}"],"path":["releases",":releaseId","smart-link"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Clicks and sign-ups","request":{"method":"GET","description":"Clicks per store and per day for the last 30 days, and fans waiting for the release.\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/releases/:releaseId/smart-link/stats","host":["{{baseUrl}}"],"path":["releases",":releaseId","smart-link","stats"],"variable":[{"key":"releaseId","value":""}]}}}]},{"name":"Cover licences","item":[{"name":"Cover licence requests","request":{"method":"GET","description":"Cover licence requests\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/cover-licenses","host":["{{baseUrl}}"],"path":["cover-licenses"],"variable":[]}}},{"name":"One request","request":{"method":"GET","description":"One request\n\nScope: releases:read","header":[],"url":{"raw":"{{baseUrl}}/cover-licenses/:licenseId","host":["{{baseUrl}}"],"path":["cover-licenses",":licenseId"],"variable":[{"key":"licenseId","value":""}]}}},{"name":"Ask for a cover licence","request":{"method":"POST","description":"A track marked as a cover needs a mechanical licence before it goes to the stores. OWN: upload the licence you hold with …/document, Stillmore Group checks it for free. PURCHASE: Stillmore Group gets it for a fixed price, from the balance (WALLET, at once) or by card (a person pays at checkoutUrl). One open request per track.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/cover-licenses","host":["{{baseUrl}}"],"path":["cover-licenses"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Start uploading the licence file","request":{"method":"POST","description":"OWN requests: PDF, Word, JPEG or PNG up to 20 MB, also to answer a refusal.\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/cover-licenses/:licenseId/document","host":["{{baseUrl}}"],"path":["cover-licenses",":licenseId","document"],"variable":[{"key":"licenseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Finish uploading the licence file","request":{"method":"POST","description":"The request goes to Stillmore Group (PENDING).\n\nScope: releases:write","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/cover-licenses/:licenseId/document/complete","host":["{{baseUrl}}"],"path":["cover-licenses",":licenseId","document","complete"],"variable":[{"key":"licenseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Cancel a request not sent in yet","request":{"method":"POST","description":"Before payment (CARD) or before the file (OWN).\n\nScope: releases:write","header":[{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/cover-licenses/:licenseId/cancel","host":["{{baseUrl}}"],"path":["cover-licenses",":licenseId","cancel"],"variable":[{"key":"licenseId","value":""}]}}}]},{"name":"Sandbox","item":[{"name":"Play review","request":{"method":"POST","description":"Test keys only. Decides a submitted release as a reviewer would: APPROVE, REQUEST_CHANGES or REJECT, with the same status changes, review notes and events (release.approved, release.changes_requested, release.rejected).\n\nScope: releases:read","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/sandbox/releases/:releaseId/review","host":["{{baseUrl}}"],"path":["sandbox","releases",":releaseId","review"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Play delivery","request":{"method":"POST","description":"Test keys only. Sends an approved release to make-believe stores: LIVE gives it a UPC, ISRCs and store links (release.sent, release.codes_assigned, release.live, release.store_links_updated); REFUSED_BY_STORES refuses it with your reason (release.provider_rejected).\n\nScope: releases:read","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/sandbox/releases/:releaseId/deliver","host":["{{baseUrl}}"],"path":["sandbox","releases",":releaseId","deliver"],"variable":[{"key":"releaseId","value":""}]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Play a royalty month","request":{"method":"POST","description":"Test keys only. Reports gross royalties for a month over the sandbox's live releases (store and territory lines), publishes the statement and credits the balance (statement.published).\n\nScope: finance:read","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/sandbox/royalties","host":["{{baseUrl}}"],"path":["sandbox","royalties"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}},{"name":"Play paying a payout","request":{"method":"POST","description":"Test keys only. Approves and pays a pending payout request (payout.approved, payout.paid), taking it off the balance.\n\nScope: finance:read","header":[{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/sandbox/payouts/:payoutId/pay","host":["{{baseUrl}}"],"path":["sandbox","payouts",":payoutId","pay"],"variable":[{"key":"payoutId","value":""}]}}},{"name":"Empty the sandbox","request":{"method":"POST","description":"Test keys only. Deletes everything made in the sandbox: catalogue, files, smart links, licences, statements, ledger, payouts and events. Webhook endpoints and keys stay.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Key","value":"{{$guid}}"}],"url":{"raw":"{{baseUrl}}/sandbox/reset","host":["{{baseUrl}}"],"path":["sandbox","reset"],"variable":[]},"body":{"mode":"raw","raw":"{\n}","options":{"raw":{"language":"json"}}}}}]}]}