7digital Subscriptions API

Notify the platform of subscription state — required for royalty + entitlement.

Documentation

Specifications

Code Examples

Schemas & Data

Other Resources

OpenAPI Specification

7digital-subscriptions-api-openapi.yml Raw ↑
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).