Artlist · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Artlist Enterprise Search API

15 actions 15 updates documentation extends openapi/artlist-search-openapi-original.yml
Generated by API Evangelist Written by API Evangelist tooling for Artlist's API. It is a proposal applied on top of the contract, not a document Artlist publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptionminimummaximumcontactx-apievangelist-providerx-apievangelist-enrichedsecuritySchemessecurity

Targets 15

$.info
$.servers
$.components
$
$.paths['/https://business.artlist.io/search/v1/song'].get
$.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='vocalType')].schema
$.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='durationMin')].schema
$.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='durationMax')].schema
$.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='bpmMin')].schema
$.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='bpmMax')].schema
$.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='page')].schema
$.paths['/https://business.artlist.io/search/v1/song/{id}'].get
$.paths['/https://business.artlist.io/search/v1/artist/{id}'].get
$.paths['/https://business.artlist.io/search/v1/album/{id}'].get
$.tags

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Artlist Enterprise Search API
  version: 1.0.0
extends: openapi/artlist-search-openapi-original.yml
x-generated: '2026-08-02'
x-method: generated
x-source: >-
  Derived from https://developer.artlist.io/openapi/search.yaml plus the documented
  authentication, rate-limit, error and dictionary pages. Captures API Evangelist
  enhancements without mutating the harvested original.
actions:
- target: $.info
  update:
    description: >-
      Search the Artlist music catalog. Retrieve songs with mood, genre, instrument and
      video-theme category filters plus BPM, duration, vocal-type and free-text query, and
      resolve artists and albums by id. Responses carry AAC stream URLs, waveform URLs,
      artwork and the genre-category taxonomy. Paged at 20 results per request.
    contact:
      name: Artlist Enterprise API Support
      email: enterprise-api-support@artlist.io
      url: https://developer.artlist.io/welcome
    x-apievangelist-provider: artlist
    x-apievangelist-enriched: '2026-08-02'
- target: $.servers
  description: >-
    The harvested document declares a placeholder server (https://host.com) while each path
    key embeds the absolute URL. Replace with the real base URL documented at
    developer.artlist.io.
  update:
  - url: https://business.artlist.io/search/v1
    description: Artlist Enterprise Search API, production
- target: $.components
  description: >-
    The harvested document declares no securitySchemes despite a documented OAuth 2.0
    client-credentials flow. Add the scheme described at
    https://developer.artlist.io/authentication.
  update:
    securitySchemes:
      OAuth2ClientCredentials:
        type: oauth2
        description: >-
          OAuth 2.0 client-credentials grant. Base64-encode client_id:client_secret into an
          Authorization: Basic header, POST grant_type=client_credentials to the token
          endpoint, then send the returned access_token as a Bearer token. Tokens expire
          after 3600 seconds. Credentials are issued by an Artlist account manager.
        flows:
          clientCredentials:
            tokenUrl: https://artlist-business-api-prod-cognito.artlist.io/oauth2/token
            scopes: {}
- target: $
  description: Apply the OAuth 2.0 requirement to every operation.
  update:
    security:
    - OAuth2ClientCredentials: []
- target: $.paths['/https://business.artlist.io/search/v1/song'].get
  update:
    description: >-
      Search the song catalog. Filter with a free-text query, category ids from the Artlist
      song dictionary (https://developer.artlist.io/dictionaries), vocal type, and
      duration/BPM ranges. Returns 20 songs per page plus a total count.
    x-rate-limit: 50 requests per minute (/search surface)
- target: $.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='vocalType')].schema
  description: >-
    The documented allowed values are expressed only in prose in the parameter description.
    Promote them to a JSON Schema enum so generated clients validate.
  update:
    enum:
    - VOCAL_AND_INSTRUMENTS
    - VOCAL
    - INSTRUMENTAL
    - FEMALE_VOCAL
    - MALE_VOCAL
    - DUET
    - GROUP
    - ACAPELLA
- target: $.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='durationMin')].schema
  update:
    minimum: 0
    maximum: 420
- target: $.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='durationMax')].schema
  update:
    minimum: 0
    maximum: 420
- target: $.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='bpmMin')].schema
  update:
    minimum: 0
    maximum: 200
- target: $.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='bpmMax')].schema
  update:
    minimum: 0
    maximum: 200
- target: $.paths['/https://business.artlist.io/search/v1/song'].get.parameters[?(@.name=='page')].schema
  update:
    minimum: 1
- target: $.paths['/https://business.artlist.io/search/v1/song/{id}'].get
  update:
    description: Retrieve a single song by its Artlist id.
- target: $.paths['/https://business.artlist.io/search/v1/artist/{id}'].get
  update:
    description: Retrieve an artist profile by id, including bio and cover/profile imagery.
- target: $.paths['/https://business.artlist.io/search/v1/album/{id}'].get
  update:
    description: Retrieve an album by id, including its primary and featured artists.
- target: $.tags
  description: The harvested document tags operations but declares no tag objects.
  update:
  - name: song
    description: Song search and retrieval.
  - name: artist
    description: Artist profiles.
  - name: album
    description: Albums and their artist credits.
x-not-applied:
  note: >-
    Error responses are deliberately NOT added here. Artlist documents a status-code table
    and a bespoke error envelope at https://developer.artlist.io/responses-api, but the
    per-operation mapping is not published, so adding 4xx responses would assert something
    the provider has not. The documented envelope is captured in
    errors/artlist-problem-types.yml instead.