Mubert AI Music API

Mubert AI Music API v3 — the unified B2B surface for generating royalty-free AI music tracks, streaming continuous generative music (HTTP / WebRTC), browsing the pre-generated music library and playlist taxonomy, and (service tier) administering customers, licenses, prices, and Stripe subscriptions. Authentication uses customer-id + access-token headers for public endpoints and company-id + license-token headers for service endpoints. Ships AI-optimized llms.txt / llms-full.txt docs alongside Swagger UI.

Mubert AI Music API is published by Mubert on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 6 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 7 JSON Schema definitions.

Tagged areas include AI Music, Generation, Streaming, Library, and Customers. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, a JSON-LD context, sample payloads, 6 Naftiko capability specs, and 7 JSON Schemas.

Documentation

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

mubert-music-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Mubert AI Music API v3
  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
paths:
  /api/v3/public/music-library/params:
    get:
      tags:
      - Public
      summary: Get Music Library Filter Parameters
      description: Retrieve available filter parameters and track counts for the music library. Use filters to refine results
        — multiple filters are combined with logical AND.
      operationId: f65f86f18b2e3cb6ab9110f3146f8548
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/BpmQueryParameter'
      - $ref: '#/components/parameters/KeyQueryParameter'
      - $ref: '#/components/parameters/GenresQueryParameter'
      - $ref: '#/components/parameters/MoodsQueryParameter'
      - $ref: '#/components/parameters/ActivitiesQueryParameter'
      - $ref: '#/components/parameters/PlaylistsQueryParameter'
      - $ref: '#/components/parameters/InstrumentsQueryParameter'
      - $ref: '#/components/parameters/ThemesQueryParameter'
      - $ref: '#/components/parameters/DurationQueryParameter'
      - $ref: '#/components/parameters/ModeQueryParameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  properties:
                    param:
                      type: string
                    values:
                      type: array
                      items:
                        properties:
                          value:
                            type: string
                          tracks_count:
                            type: integer
                        type: object
                  type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/music-library/tracks:
    get:
      tags:
      - Public
      summary: List Music Library Tracks
      description: Retrieve a paginated list of pre-generated music library tracks with optional filtering by genre, mood,
        BPM, key, and other parameters.
      operationId: 365bb28dfad41d3920f5a0a24642b638
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/OffsetQueryParameter'
      - $ref: '#/components/parameters/LimitQueryParameter'
      - $ref: '#/components/parameters/OrderQueryParameter'
      - $ref: '#/components/parameters/OrderByQueryParameter'
      - $ref: '#/components/parameters/BpmQueryParameter'
      - $ref: '#/components/parameters/KeyQueryParameter'
      - $ref: '#/components/parameters/GenresQueryParameter'
      - $ref: '#/components/parameters/MoodsQueryParameter'
      - $ref: '#/components/parameters/ActivitiesQueryParameter'
      - $ref: '#/components/parameters/PlaylistsQueryParameter'
      - $ref: '#/components/parameters/InstrumentsQueryParameter'
      - $ref: '#/components/parameters/ThemesQueryParameter'
      - $ref: '#/components/parameters/DurationQueryParameter'
      - $ref: '#/components/parameters/ModeQueryParameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TrackIndexPublicResource'
                  meta:
                    $ref: '#/components/schemas/MetadataPagination'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/playlists:
    get:
      tags:
      - Public
      summary: List Playlists
      description: Retrieve all available music channels, groups, and categories. Each entry includes a playlist_index identifier,
        category, group, channel name, and available parameters (BPM range, keys).
      operationId: d68c06882a4e1d4680efe1d88974a17b
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PlaylistPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/prices:
    get:
      tags:
      - Public
      - Price
      description: Retrieve a list of available prices with their options, limits, and Stripe prices
      operationId: 3001228072f8465cfa87f7d30d82ca3a
      parameters:
      - $ref: '#/components/parameters/LangQueryParameter'
      responses:
        '200':
          description: List of available prices retrieved successfully.
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PricePublicResource'
                type: object
      summary: GET 3001228072f8465cfa87f7d30d82ca3a
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/prices/{price}:
    get:
      tags:
      - Public
      - Price
      description: Retrieve a single price by ID with its options, limits, and Stripe prices
      operationId: ab40acc2fb0c6ed854aa6268ff37f9aa
      parameters:
      - $ref: '#/components/parameters/PricePathParameter'
      - $ref: '#/components/parameters/LangQueryParameter'
      responses:
        '200':
          description: Price retrieved successfully.
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/PricePublicResource'
                type: object
        '404':
          description: Price not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceNotFoundException'
      summary: GET Ab40acc2fb0c6ed854aa6268ff37f9aa
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/streaming/get-link:
    get:
      tags:
      - Public
      summary: Get Streaming Link
      description: Generate a streaming URL for continuous music playback. The returned link can be used in any audio player
        that supports HTTP streaming or WebRTC.
      operationId: 71dcda42d723b81664f09bae9ab93bab
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/PlaylistIndexQueryParameter'
      - $ref: '#/components/parameters/BitrateQueryParameter'
      - $ref: '#/components/parameters/IntensityQueryParameter'
      - $ref: '#/components/parameters/StreamingTypeQueryParameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    description: The response data
                    properties:
                      link:
                        description: The generated streaming link
                        type: string
                        format: url
                    type: object
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/streaming/restart:
    post:
      tags:
      - Public
      summary: Restart Stream
      description: Restart the stream so that a different track is played using the same streaming URL.
      operationId: c06391bccf911d7ec55361df058f2bb1
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      requestBody:
        $ref: '#/components/requestBodies/StreamingRestartRequest'
      responses:
        '204':
          description: Successful response
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/streaming/set-intensity:
    post:
      tags:
      - Public
      summary: Set Stream Intensity
      description: Dynamically adjust the arrangement complexity during streaming. Changes occur seamlessly without stream
        interruption.
      operationId: 7469c4af9afa48908cbea5967247b65a
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      requestBody:
        $ref: '#/components/requestBodies/StreamingSetIntensityRequest'
      responses:
        '204':
          description: Successful response
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/streaming/set-loop-state:
    post:
      tags:
      - Public
      summary: Set Stream Loop State
      description: Enable or disable loop mode for the current stream segment. When enabled, the later part of the music composition
        will loop continuously.
      operationId: b25aa26b18350caf6f87bbcc90fab90f
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      requestBody:
        $ref: '#/components/requestBodies/StreamingSetLoopStateRequest'
      responses:
        '204':
          description: Successful response
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/stripe/webhook:
    post:
      tags:
      - Public
      - Stripe
      description: Stripe webhook endpoint for processing payment events
      operationId: f34f8b9619d1fcefc3785ae4d263c4eb
      responses:
        '204':
          description: Webhook processed successfully
        '400':
          description: Invalid payload or signature
          content:
            application/json:
              schema:
                properties:
                  error:
                    type: string
                    example: Invalid signature
                type: object
      summary: POST F34f8b9619d1fcefc3785ae4d263c4eb
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/subscriptions/buy:
    get:
      tags:
      - Public
      - Subscription
      description: Buy a subscription via GET (redirect flow). Creates a Stripe Checkout session and redirects to checkout
        URL.
      operationId: 757ed3344f9d4efab037bb22f26561c4
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionBuyPublicRequest'
      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 757ed3344f9d4efab037bb22f26561c4
      security:
      - customerId: []
        accessToken: []
    post:
      tags:
      - Public
      - Subscription
      description: Buy a subscription. Creates a Stripe Checkout session and returns the checkout URL.
      operationId: c98b366f8fdb147f8a26cf9b0dea88f7
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionBuyPublicRequest'
      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 C98b366f8fdb147f8a26cf9b0dea88f7
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/subscriptions/cancel:
    get:
      tags:
      - Public
      - Subscription
      summary: Cancel Subscription (GET)
      description: Cancel a subscription via GET. Cancels at the end of the current billing period.
      operationId: 6c8f8d392bf3d549c7cc57408d704cea
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionCancelPublicRequest'
      responses:
        '204':
          description: Subscription cancelled successfully
        '404':
          description: Subscription not found
        '422':
          description: Validation error
      security:
      - customerId: []
        accessToken: []
    post:
      tags:
      - Public
      - Subscription
      summary: Cancel Subscription
      description: Cancel a subscription by company ID and license token. Cancels at the end of the current billing period.
      operationId: 884c9366deab18ae2438fefff9769789
      requestBody:
        $ref: '#/components/requestBodies/SubscriptionCancelPublicRequest'
      responses:
        '204':
          description: Subscription cancelled successfully
        '404':
          description: Subscription not found
        '422':
          description: Validation error
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks:
    get:
      tags:
      - Public
      summary: List Tracks
      description: Retrieve a paginated list of tracks generated by the customer.
      operationId: 8d26cddde635200d2b919d38442ec773
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/OffsetQueryParameter'
      - $ref: '#/components/parameters/LimitQueryParameter'
      - $ref: '#/components/parameters/OrderQueryParameter'
      - $ref: '#/components/parameters/OrderByQueryParameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/TrackIndexPublicResource'
                  meta:
                    $ref: '#/components/schemas/MetadataPagination'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
    post:
      tags:
      - Public
      summary: Create Track
      description: 'Create a custom music track from channel/category parameters, text prompt, or image. Supports multiple
        generation modes: track, loop, jingle, and mix.'
      operationId: 164c375ae1b251c2427b13c92688806e
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      requestBody:
        $ref: '#/components/requestBodies/TrackCreatePublicRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks/{track}/edit:
    post:
      tags:
      - Public
      summary: Edit Track
      description: Modify track parameters or manipulate instrument/stem composition. Allows changing duration, bitrate, format,
        intensity, as well as replacing or removing specific instruments and stems.
      operationId: c94d8965b5cac5696b404ff9a75dc92b
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/TrackPathParameter'
      requestBody:
        $ref: '#/components/requestBodies/TrackEditPublicRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '404':
          description: Not Found - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks/stored:
    post:
      tags:
      - Public
      summary: Get Stored Track
      description: Retrieve a pre-generated track from the track-store. Returns a cached track matching the requested parameters
        if available.
      operationId: f0a592054428e569061a7b76726d7791
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      requestBody:
        $ref: '#/components/requestBodies/TrackStoredPublicRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '404':
          description: Not Found - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks/record:
    post:
      tags:
      - Public
      summary: Record Track
      description: Record a new track by sending a request directly to the track-recorder service, bypassing the track-store
        cache.
      operationId: bc3386787ea176adaa55b8d6dc9671d9
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      requestBody:
        $ref: '#/components/requestBodies/TrackCreatePublicRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks/session/{session_id}:
    get:
      tags:
      - Public
      summary: Get Track by Session ID
      description: Retrieve specific track details by session ID including generation status, download URLs, and expiration
        times.
      operationId: 1fdcc61287c422aa4d7ff74811270d88
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/TrackSessionIdPathParameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackShowPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '404':
          description: Not Found - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks/{track}:
    get:
      tags:
      - Public
      summary: Get Track by ID
      description: Retrieve specific track details including generation status, download URLs, and expiration times.
      operationId: b7f372d758da31567f463545e5390884
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/TrackPathParameter'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackShowPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '404':
          description: Not Found - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/public/tracks/{track}/similar:
    post:
      tags:
      - Public
      summary: Generate Similar Track
      description: Generate a new track similar to an existing one. Uses the original track parameters as a base and allows
        overriding duration, bitrate, format, intensity, and mode.
      operationId: 528596a7066aa8910fdf358c919e9f69
      parameters:
      - $ref: '#/components/parameters/customer-id'
      - $ref: '#/components/parameters/access-token'
      - $ref: '#/components/parameters/TrackPathParameter'
      requestBody:
        $ref: '#/components/requestBodies/TrackSimilarPublicRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/TrackPublicResource'
                type: object
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '404':
          description: Not Found - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404Response'
        '422':
          description: Unprocessable Content
      security:
      - customerId: []
        accessToken: []
  /api/v3/service/customers/{customer}:
    get:
      tags:
      - Public Service
      summary: Retrieve Customer Details by ID
      description: Fetches the details of a specific customer using their unique identifier
      operationId: 3f3c9331843cdbb37fe0cd84be9c60a9
      parameters:
      - $ref: '#/components/parameters/company-id'
      - $ref: '#/components/parameters/license-token'
      - $ref: '#/components/parameters/CustomerPathParameter'
      responses:
        '200':
          description: Successful response with customer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerServiceResource'
        '401':
          description: Unauthenticated - the user is not authenticated to access this resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedException'
        '403':
          description: Forbidden - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403Response'
        '404':
          description: Not Found - Different reasons specified in the error content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404Response'
        '422':
          description: Unprocessable Content
      security:
      - companyId: []
        licenseToken: []
    put:
      tags:
      - Public Service
      summary: Update an Existing Customer
      description: Handles the update of an existing customer identified by their UUID
      o

# --- truncated at 32 KB (146 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mubert/refs/heads/main/openapi/mubert-music-api-openapi.yml