> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fmdb.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Resolve a slug or FMDB page URL to a UUID

> Maps a slug of an artist, production, release, label or organization, or the URL of
its public page, to the record's UUID. Pass either type and slug, or url. A slug that
has since changed, or the UUID of a record merged into another, is followed to the
current record and reported with redirected: true. A sub-page URL, such as a
production's episodes, resolves to its record. Records hidden from the caller's
detail endpoints answer 404.



## OpenAPI

````yaml /openapi.json get /api/resolve
openapi: 3.1.0
info:
  title: FMDB API
  description: >-
    The FMDB API provides access to a comprehensive film music database,
    covering releases, productions, artists, and recordings. It is designed for
    integration with third-party applications and services. FMDB is a
    non-commercial, privacy-first platform. The API is currently in beta and
    subject to change. Authentication is required for all endpoints unless
    stated otherwise.
  version: 1.0.0 Beta
servers:
  - url: https://www.fmdb.net
    description: Production
security:
  - bearerAuth: []
tags:
  - name: ArtistGroupMember
    description: Group memberships for artists.
  - name: ArtistAlias
    description: Artist aliases including nicknames, pseudonyms, and alternate spellings.
  - name: Artist
    description: Musical artists including individuals, groups, orchestras, and choirs.
  - name: ArtistRoleResolution
    description: >-
      Resolves a free-text credit title to the best-matching artist role, scoped
      by credit context.
  - name: ArtistRole
    description: >-
      Artist roles define the function of an artist in a release, recording, or
      track.
  - name: ArtistExternalLink
    description: External links for artists (MusicBrainz, Spotify, etc.).
  - name: LabelExternalLink
    description: External links for labels (MusicBrainz, Spotify, etc.).
  - name: OrganizationExternalLink
    description: External links for organizations (VGMdb, etc.).
  - name: ProductionExternalLink
    description: External links for productions (VGMdb, MusicBrainz, etc.).
  - name: ReleaseExternalLink
    description: External links for releases (Spotify, Discogs, MusicBrainz, etc.).
  - name: Label
    description: Record labels and music publishers.
  - name: LabelSeries
    description: Label series for categorizing releases within a label.
  - name: Organization
    description: >-
      Non-performer organizations credited on recordings (orchestra contractors,
      music-preparation houses, scoring services).
  - name: PackagingType
    description: >-
      Physical packaging types for releases (Jewel Case, Digipak, Box Set,
      etc.).
  - name: ProductionEntry
    description: Individual entries (episodes, parts) within a production series.
  - name: ProductionRecording
    description: Recordings associated with a production.
  - name: Production
    description: Film, TV, and game productions with associated music.
  - name: ReleaseFormat
    description: Physical or digital formats of a release (CD, vinyl, digital).
  - name: ReleaseRecording
    description: >-
      Recordings linked to a release with effective credits after applying
      exclusions.
  - name: Release
    description: Music releases including albums, soundtracks, and compilations.
  - name: ReleaseTrack
    description: Individual tracks on a release format.
  - name: Resolution
    description: >-
      Resolves a public FMDB slug or page URL to the UUID of the record it
      names, following renamed slugs and records merged into another.
  - name: Me
    description: Resource 'Me' operations.
  - name: User
    description: Resource 'User' operations.
  - name: CollectionItem
    description: Collection items representing releases owned by a user.
  - name: WishlistItem
    description: Wishlist items representing releases a user wants to acquire.
paths:
  /api/resolve:
    get:
      tags:
        - Resolution
      summary: Resolve a slug or FMDB page URL to a UUID
      description: >-
        Maps a slug of an artist, production, release, label or organization, or
        the URL of

        its public page, to the record's UUID. Pass either type and slug, or
        url. A slug that

        has since changed, or the UUID of a record merged into another, is
        followed to the

        current record and reported with redirected: true. A sub-page URL, such
        as a

        production's episodes, resolves to its record. Records hidden from the
        caller's

        detail endpoints answer 404.
      operationId: api_resolve_get
      parameters:
        - name: type
          in: query
          description: Type of the record the slug belongs to. Required with slug.
          required: false
          deprecated: false
          schema:
            type: string
            enum:
              - artist
              - production
              - release
              - label
              - organization
          style: form
          explode: true
        - name: slug
          in: query
          description: >-
            Current or former slug of the record, e.g. bandolero-9a3ef3:
            lowercase letters, digits and hyphens. Required with type.
          required: false
          deprecated: false
          schema:
            type: string
            pattern: ^[a-z0-9-]+$
          style: form
          explode: true
        - name: url
          in: query
          description: >-
            Public FMDB page URL of the record, by slug or UUID, e.g.
            https://www.fmdb.net/releases/bandolero-9a3ef3. Excludes type and
            slug.
          required: false
          deprecated: false
          schema:
            type: string
          style: form
          explode: true
      responses:
        '200':
          description: The record the slug or URL names, under its current slug
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/Resolution.jsonapi'
              example:
                data:
                  type: Resolution
                  id: /api/resolve
                  attributes:
                    entity_type: release
                    entity_id: 9a3ef3c2-8d41-4f6b-a1e7-5c0b2d9f4e18
                    slug: bandolero-9a3ef3
                    url: https://www.fmdb.net/releases/bandolero-9a3ef3
                    redirected: true
          headers:
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
        '400':
          description: >-
            Provide either type and slug, or url. Also answered for an unknown
            type, a slug outside the documented pattern, a URL on another host,
            and a URL that is not the page of an artist, production, release,
            label or organization.
          headers:
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
        '404':
          description: >-
            No record of the searched type is known under that slug or UUID,
            neither directly nor through a redirect.
          headers:
            RateLimit:
              $ref: '#/components/headers/RateLimit'
            RateLimit-Policy:
              $ref: '#/components/headers/RateLimit-Policy'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    Resolution.jsonapi:
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
            attributes:
              type: object
              properties:
                entity_type:
                  type: string
                  enum:
                    - artist
                    - production
                    - release
                    - label
                    - organization
                entity_id:
                  description: UUID of the resolved record.
                  example: 9a3ef3c2-8d41-4f6b-a1e7-5c0b2d9f4e18
                  type: string
                slug:
                  description: Current slug of the resolved record.
                  example: bandolero-9a3ef3
                  type: string
                url:
                  description: Canonical public page URL of the resolved record.
                  example: https://www.fmdb.net/releases/bandolero-9a3ef3
                  type: string
                redirected:
                  description: >-
                    True when the given slug was a former slug of the record, or
                    the given UUID named a record merged into it.
                  example: true
                  type: boolean
          required:
            - type
            - id
  headers:
    RateLimit:
      description: >-
        What each quota policy in force has left, and in how many seconds it
        admits another request.
      schema:
        type: string
      example: '"burst";r=9;t=1, "steady";r=287;t=43, "sustained";r=4711;t=2854'
    RateLimit-Policy:
      description: >-
        The quota policies in force: the requests each grants and the window it
        counts them over.
      schema:
        type: string
      example: '"burst";q=10;w=1, "steady";q=300;w=60, "sustained";q=5000;w=3600'
    Retry-After:
      description: Seconds to wait before the refused request is worth repeating.
      schema:
        type: integer
        minimum: 1
      example: 43
  responses:
    TooManyRequests:
      description: The request exceeded one of the quota policies in force.
      content:
        application/vnd.api+json:
          schema:
            type: object
            required:
              - errors
            properties:
              errors:
                type: array
                items:
                  type: object
                  required:
                    - status
                    - title
                    - detail
                  properties:
                    status:
                      type: string
                      enum:
                        - '429'
                    title:
                      type: string
                      enum:
                        - Rate Limit Exceeded
                    detail:
                      type: string
                      description: >-
                        Names the quota that refused the request and when its
                        window frees.
          example:
            errors:
              - status: '429'
                title: Rate Limit Exceeded
                detail: >-
                  You have exceeded the rate limit of 300 requests per 60
                  seconds. The budget resets at 2026-01-15T10:00:42+00:00.
      headers:
        RateLimit:
          $ref: '#/components/headers/RateLimit'
        RateLimit-Policy:
          $ref: '#/components/headers/RateLimit-Policy'
        Retry-After:
          $ref: '#/components/headers/Retry-After'
  securitySchemes:
    bearerAuth:
      type: http
      description: API token authentication
      scheme: bearer
      bearerFormat: JWT

````