openapi: 3.0.3 info: title: 7digital Artists Subscriptions API description: The classic 7digital REST API (v1.2) provides access to the 7digital music catalogue (artists, releases, tracks, tags), user lockers, basket/checkout, payment, editorial, territories and IP-lookup. All operations are signed with OAuth 1.0 and scoped by a consumer key issued under a commercial agreement. version: '1.2' contact: name: 7digital / MassiveMusic Client Success url: https://docs.massivemusic.com/docs/support license: name: Commercial — 7digital / MassiveMusic url: https://docs.massivemusic.com/docs/sla x-last-validated: '2026-05-28' x-generated-from: documentation x-source-url: https://github.com/7digital/7digital-api/blob/master/assets/7digital-api-schema.json servers: - url: https://api.7digital.com/1.2 description: 7digital Public API v1.2 (production) security: - oauth1: [] tags: - name: Subscriptions description: Notify the platform of subscription state — required for royalty + entitlement. paths: /subscriptions: post: operationId: createSubscription summary: 7digital Create Subscription description: Create a user's subscription. The platform must be notified of all new subscriptions to grant streaming access and to support royalty and usage reporting. Subscriptions last for at most one month and must be renewed each cycle. tags: - Subscriptions security: - oauth1_three_legged: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateSubscriptionRequest' responses: '201': description: The new subscription. content: application/json: schema: $ref: '#/components/schemas/Subscription' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Subscription: type: object properties: subscriptionId: type: string example: sub-789012 userId: type: string example: '500123' productId: type: string example: unlimited-streaming-monthly status: type: string enum: - active - cancelled - expired example: active startDate: type: string format: date example: '2026-05-28' endDate: type: string format: date example: '2026-06-28' CreateSubscriptionRequest: type: object properties: userId: type: string example: '500123' productId: type: string example: unlimited-streaming-monthly startDate: type: string format: date example: '2026-05-28' endDate: type: string format: date description: Subscription expiry. Maximum one month from startDate. example: '2026-06-28' country: type: string example: GB required: - userId - productId - startDate - endDate securitySchemes: oauth1: type: apiKey in: query name: oauth_consumer_key description: 7digital uses OAuth 1.0 signing. Every request MUST include `oauth_consumer_key` as either a query parameter or in the Authorization header. Sensitive operations require a 2-legged or 3-legged signature with a user access token. oauth1_two_legged: type: apiKey in: query name: oauth_consumer_key description: 2-legged OAuth 1.0 (partner-scoped — consumer key + secret only). oauth1_three_legged: type: apiKey in: query name: oauth_consumer_key description: 3-legged OAuth 1.0 (consumer key + secret plus a user access token + secret).