Mubert Service API

Service

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

mubert-service-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Mubert AI Music API v3 Price Service API
  description: 'Mubert AI Music API for B2B integrations. Generate music tracks, manage streaming, and control customer accounts.


    ### AI-optimized documentation


    - [llms.txt](https://music-api.mubert.com/swagger-doc/llms.txt) — short endpoint index for AI agents

    - [llms-full.txt](https://music-api.mubert.com/swagger-doc/llms-full.txt) — full reference with parameters and models'
  contact:
    name: Mubert Team
    url: https://mubert.com/api
  version: '3.0'
  license:
    name: Proprietary
    url: https://mubert.com/legal/terms-of-use
servers:
- url: https://music-api.mubert.com
  description: Mubert API v3 production
security:
- customerId: []
  accessToken: []
tags:
- name: Service
  description: Service
paths:
  /api/v3/service/stripe/billing-portal:
    get:
      tags:
      - Service
      summary: Stripe Billing Portal (GET)
      description: Create a Stripe billing portal session by company ID and license token.
      operationId: 86bd2be912ca36a8b8c66e05494c723e
      requestBody:
        $ref: '#/components/requestBodies/StripeBillingPortalServiceRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    properties:
                      url:
                        description: Url to go to the Billing portal
                        type: string
                    type: object
                type: object
        '404':
          description: License or Stripe customer not found
        '422':
          description: Validation error
      security:
      - companyId: []
        licenseToken: []
    post:
      tags:
      - Service
      summary: Stripe Billing Portal
      description: Create a Stripe billing portal session by company ID and license token.
      operationId: 7b488bcfab8a411e6b6641fb4a08bf22
      requestBody:
        $ref: '#/components/requestBodies/StripeBillingPortalServiceRequest'
      responses:
        '200':
          description: Successful response
        '404':
          description: License or Stripe customer not found
        '422':
          description: Validation error
      security:
      - companyId: []
        licenseToken: []
  /api/v3/service/stripe/subscriptions/buy:
    get:
      tags:
      - Service
      description: Buy a subscription via GET (redirect flow). Creates a Stripe Checkout session and redirects to checkout URL.
      operationId: ec7c95fd87be525e821e284e3b6fb210
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionBuyServiceRequest'
      responses:
        '200':
          description: Checkout session created successfully
          content:
            application/json:
              schema:
                properties:
                  checkout_url:
                    type: string
                    example: https://checkout.stripe.com/...
                  session_id:
                    type: string
                    example: cs_test_...
                type: object
        '302':
          description: Redirect to Stripe Checkout (when redirect=true)
        '404':
          description: Stripe price not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceNotFoundException'
        '422':
          description: Validation error
      summary: GET Ec7c95fd87be525e821e284e3b6fb210
      security:
      - companyId: []
        licenseToken: []
    post:
      tags:
      - Service
      description: Buy a subscription. Creates a Stripe Checkout session and returns the checkout URL.
      operationId: ded044b39864d2a5eb777e0059cdc2d9
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionBuyServiceRequest'
      responses:
        '200':
          description: Checkout session created successfully
          content:
            application/json:
              schema:
                properties:
                  checkout_url:
                    type: string
                    example: https://checkout.stripe.com/...
                  session_id:
                    type: string
                    example: cs_test_...
                type: object
        '302':
          description: Redirect to Stripe Checkout (when redirect=true)
        '404':
          description: Stripe price not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceNotFoundException'
        '422':
          description: Validation error
      summary: POST Ded044b39864d2a5eb777e0059cdc2d9
      security:
      - companyId: []
        licenseToken: []
  /api/v3/service/stripe/subscriptions/cancel:
    get:
      tags:
      - Service
      summary: Cancel Subscription (GET)
      description: Cancel a subscription via GET. Cancels at the end of the current billing period.
      operationId: 96da408e7b15c1de24f4be37b32ff0ff
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionCancelServiceRequest'
      responses:
        '204':
          description: Subscription cancelled successfully
        '404':
          description: Subscription not found
        '422':
          description: Validation error
      security:
      - companyId: []
        licenseToken: []
    post:
      tags:
      - Service
      summary: Cancel Subscription
      description: Cancel a subscription by company ID and license token. Cancels at the end of the current billing period.
      operationId: 89498d560c6bf07831b781350677e89d
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionCancelServiceRequest'
      responses:
        '204':
          description: Subscription cancelled successfully
        '404':
          description: Subscription not found
        '422':
          description: Validation error
      security:
      - companyId: []
        licenseToken: []
components:
  schemas:
    PriceNotFoundException:
      description: Response indicating that the specified price could not be found.
      properties:
        message:
          type: string
          example: Price not found
        description:
          type: string
          example: No price exists with the specified ID
          nullable: true
        code:
          type: string
          example: PriceNotFound
      type: object
  requestBodies:
    SubscriptionCancelServiceRequest:
      description: Request to cancel a subscription by company ID and license token
      required: true
      content:
        application/json:
          schema:
            required:
            - company_id
            - license_token
            properties:
              company_id:
                type: string
                format: uuid
                example: 550e8400-e29b-41d4-a716-446655440000
              license_token:
                type: string
                example: abc123def456
            type: object
    SubscriptionBuyServiceRequest:
      description: Request to buy a subscription
      required: true
      content:
        application/json:
          schema:
            required:
            - email
            - stripe_price_id
            properties:
              company_name:
                type: string
                maxLength: 255
                example: Acme Inc
                nullable: true
              email:
                type: string
                format: email
                example: contact@acme.com
              stripe_price_id:
                type: string
                maxLength: 255
                example: price_1234567890
              redirect_url:
                type: string
                format: url
                example: https://example.com/success
                nullable: true
              redirect_url_cancel:
                type: string
                format: url
                example: https://example.com/cancel
                nullable: true
              coupon_id:
                type: string
                maxLength: 255
                example: DISCOUNT20
                nullable: true
              redirect:
                type: boolean
                example: true
                nullable: true
            type: object
    StripeBillingPortalServiceRequest:
      description: Request to create a Stripe billing portal session by company ID and license token
      required: true
      content:
        application/json:
          schema:
            required:
            - company_id
            - license_token
            properties:
              company_id:
                type: string
                format: uuid
                example: 550e8400-e29b-41d4-a716-446655440000
              license_token:
                type: string
                example: abc123def456
              redirect_url:
                description: URL to return to after leaving the billing portal
                type: string
                format: uri
                example: https://mubert.com/success
                nullable: true
            type: object
  securitySchemes:
    customerId:
      type: apiKey
      in: header
      name: customer-id
      description: Mubert customer identifier (public endpoints).
    accessToken:
      type: apiKey
      in: header
      name: access-token
      description: Mubert customer access token (public endpoints).
    companyId:
      type: apiKey
      in: header
      name: company-id
      description: Mubert company identifier (service endpoints).
    licenseToken:
      type: apiKey
      in: header
      name: license-token
      description: Mubert license token (service endpoints).
externalDocs:
  url: https://music-api.mubert.com/api/v3/swagger
  description: Mubert AI Music API v3 Swagger UI