Warner Music Group Licenses API

License request and management

OpenAPI Specification

warner-music-group-licenses-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Warner Music Group Licensing Artists Licenses API
  description: The Warner Music Group Licensing API enables content creators and developers to search the WMG catalog, request synchronization licenses, mechanical licenses, and digital licenses for music recordings and compositions from Warner Records, Atlantic Records, Elektra Records, and Warner Chappell Music. The API covers all major use cases including film/TV sync, advertising, digital services, and live performance.
  version: 1.0.0
  contact:
    name: WMG Licensing Support
    url: https://www.wmgmusiclicensing.com/
    email: onlinelicensing@wmg.com
  termsOfService: https://www.wmg.com/terms
servers:
- url: https://api.wmg.com
  description: WMG API Production
security:
- OAuth2:
  - catalog:read
tags:
- name: Licenses
  description: License request and management
paths:
  /v1/licenses:
    get:
      operationId: listLicenses
      summary: List Licenses
      description: List all license requests submitted by the authenticated partner.
      tags:
      - Licenses
      parameters:
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - pending
          - approved
          - rejected
          - expired
        description: Filter by license status
      - name: licenseType
        in: query
        required: false
        schema:
          type: string
          enum:
          - sync
          - mechanical
          - digital
          - performance
        description: Filter by license type
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
        description: Maximum results to return
      responses:
        '200':
          description: License list returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseListResponse'
        '401':
          description: Unauthorized
    post:
      operationId: requestLicense
      summary: Request License
      description: Submit a new license request for a WMG recording or composition. Specify the use case (sync, mechanical, digital, performance) and usage details.
      tags:
      - Licenses
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicenseRequest'
      responses:
        '201':
          description: License request submitted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseResponse'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /v1/licenses/{licenseId}:
    get:
      operationId: getLicense
      summary: Get License
      description: Retrieve the details and status of a specific license request.
      tags:
      - Licenses
      parameters:
      - name: licenseId
        in: path
        required: true
        schema:
          type: string
        description: License request identifier
      responses:
        '200':
          description: License details returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseResponse'
        '401':
          description: Unauthorized
        '404':
          description: License not found
components:
  schemas:
    LicenseListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/License'
        total:
          type: integer
    LicenseResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/License'
    License:
      type: object
      properties:
        id:
          type: string
          description: License request identifier
        status:
          type: string
          enum:
          - pending
          - approved
          - rejected
          - expired
        licenseType:
          type: string
          enum:
          - sync
          - mechanical
          - digital
          - performance
        trackIsrc:
          type: string
          description: ISRC of the licensed recording
        trackTitle:
          type: string
          description: Licensed track title
        artistName:
          type: string
        useCase:
          type: string
          description: Intended use case (film, TV, advertising, etc.)
        territory:
          type: string
          description: License territory (ISO 3166 country code or WORLD)
        startDate:
          type: string
          format: date
          description: License start date
        endDate:
          type: string
          format: date
          description: License end date
        fee:
          type: number
          description: License fee in USD
        submittedAt:
          type: string
          format: date-time
    LicenseRequest:
      type: object
      required:
      - trackIsrc
      - licenseType
      - useCase
      - territory
      - startDate
      - endDate
      properties:
        trackIsrc:
          type: string
          description: ISRC of the recording to license
        licenseType:
          type: string
          enum:
          - sync
          - mechanical
          - digital
          - performance
          description: Type of license requested
        useCase:
          type: string
          description: Description of intended use (e.g., "TV commercial", "streaming film")
        territory:
          type: string
          description: License territory (ISO 3166 country code or WORLD)
        startDate:
          type: string
          format: date
          description: Requested license start date
        endDate:
          type: string
          format: date
          description: Requested license end date
        exclusivity:
          type: boolean
          default: false
          description: Whether exclusive rights are requested
        notes:
          type: string
          description: Additional notes or context for the license request
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 for WMG partner authentication
      flows:
        authorizationCode:
          authorizationUrl: https://auth.wmg.com/oauth/authorize
          tokenUrl: https://auth.wmg.com/oauth/token
          scopes:
            catalog:read: Read catalog information
            licenses:read: Read license requests
            licenses:write: Submit license requests