SpaceMediaSpaceMedia
Start here

How the API Works

Four ideas explain almost everything about how this API behaves. Understanding them up front saves a lot of debugging later.

1. Scope comes from the credential

There is no organization parameter anywhere in the API. The credential you authenticate with determines which organization you operate in, and nothing you send can change that.

A 404 therefore means "not found in your organization", which is often the real answer when an identifier looks valid but belongs to someone else.

2. Authorization is capability-based

Each API client carries an explicit list of capabilities such as catalog:read or billing:write. New credentials start with catalog:read and nothing else.

Capabilities belong to the client, not to a person. They do not inherit from a staff member's dashboard role. When an integration acts for one of your users, that supplies catalog ownership context, not extra authority. See Authentication and Acting for Users.

A 403 means the endpoint exists and you are authenticated, but a capability, permission, or add-on check failed. It is never a signal to retry.

3. Some endpoint groups need an add-on as well

Buying API access does not expose product areas you have not bought.

Endpoint groupAlso requires
Members and member rolesTeam Members add-on active
Smartlinks create, update, sync, preferences, analyticsSmartlink add-on active
Theme editor draft and publishTheme Editor active
Add-on checkout and install actionsThe authenticated admin can manage add-ons
DDEX and enterprise webhooksExplicit DDEX or webhook capabilities plus current staging onboarding. Production use starts only after SpaceMedia confirms route and connection activation

4. Every response uses the same envelope

Responses carry success, an optional message, data, an optional meta for pagination, and an optional errors map. Objects identify themselves with one stable public reference such as user_id, release_id, track_id, or checkout_id.

Internal numeric identifiers are never part of the public API. See Response Conventions.

Endpoint families

FamilyScope
AuthExchange organization API key and secret for a bearer token, then validate token expiry.
AccountCurrent profile, sessions, personal information, notification preferences, and custom labels.
Artists, releases, tracksCatalog workflows available to permitted organization users.
SplitsRevenue split listing, creation, updates, and confirmations.
Users and membersOrganization users, team members, invitations, roles, permissions, suspension, and related records where allowed.
Packages and paymentsMembership packages, pay-per-release plans, upgrade options, subscriptions, checkouts, credit purchases, payment methods, and checkout verification.
Add-onsOrganization add-on checkout, install, activation, deactivation, uninstall, and status actions.
CopyrightOrganization copyright summary, statistics, wallet reads, wallet top-ups, release reads, and top-up status.
Release reviewRelease review queues where the organization has dashboard access.
SmartlinksBranded release landing pages, DSP destinations, analytics, and preferences.
Theme and email themeOrganization branding drafts, preview, and publish actions.
FeedbackOrganization-visible feedback submission for product, catalog, billing, and API workflows.
ReferenceCountries and release territories.
DDEXVersioned partner connections, validations, exports, deliveries, imports, acknowledgements, and conformance workflows for approved Enterprise Delivery API customers.
Enterprise webhooksSigned DDEX lifecycle events, delivery attempts, testing, replay, pause, and secret rotation.
WordPress OAuthRegistration, PKCE consent, and read-only catalog access for a WordPress plugin. Uses its own short-lived token, not an organization bearer token. See Authentication.

Base URLs

EnvironmentBase URL
Productionhttps://enterprise.spacemedia.uk
Staginghttps://staging.spacemedia.uk

Use separate credentials per environment.

Common questions

Is the API public in the sense of unauthenticated? No. Public means an external organization can call it after credential, capability, and permission checks pass.

Can one credential reach two organizations? No. If you operate several organizations, you need separate credentials for each.

Does the playground send real requests? Yes, to whichever base URL is selected. Use sample values until you are deliberately testing with your own credentials, and never paste production secrets into a shared session.

Where do I find the exact request and response shape? On the endpoint page for that operation. Those pages are generated from the OpenAPI contract, which is authoritative.

Next

Work through the Quickstart, then follow the recipe that matches your integration in Workflows.

Was this page helpful?

On this page