> ## 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.

# Bulk import artists

> Creates multiple artists in a single request with partial success semantics. Duplicate detection is based on name + type combination. Requires ROLE_EDITOR.



## OpenAPI

````yaml /openapi.json post /api/artists/import
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: 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/artists/import:
    post:
      tags:
        - Artist
      summary: Bulk import artists
      description: >-
        Creates multiple artists in a single request with partial success
        semantics. Duplicate detection is based on name + type combination.
        Requires ROLE_EDITOR.
      operationId: api_artists_import
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - artists
              properties:
                artists:
                  type: array
                  maxItems: 100
                  items:
                    type: object
                    required:
                      - name
                      - type
                    properties:
                      name:
                        type: string
                        example: Hans Zimmer
                      type:
                        type: string
                        enum:
                          - person
                          - group
                          - orchestra
                          - choir
                        example: person
                      country:
                        type: string
                        example: DE
                        description: ISO 3166-1 alpha-2 code
                      real_name:
                        type: string
                        example: Hans Florian Zimmer
            example:
              artists:
                - name: Hans Zimmer
                  type: person
                  country: DE
                  real_name: Hans Florian Zimmer
                - name: London Symphony Orchestra
                  type: orchestra
                  country: GB
        required: true
      responses:
        '207':
          description: Multi-Status — partial success response with per-entry results
          content:
            application/json:
              schema:
                type: object
                properties:
                  summary:
                    type: object
                    properties:
                      total:
                        type: integer
                        example: 3
                      created:
                        example: 1
                        type: integer
                      skipped:
                        example: 1
                        type: integer
                      failed:
                        example: 1
                        type: integer
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        index:
                          type: integer
                        status:
                          type: string
                          enum:
                            - created
                            - skipped
                            - failed
                        artist:
                          type: object
                          description: Present when status is "created"
                          properties:
                            '@id':
                              type: string
                              example: /api/artists/uuid
                            name:
                              type: string
                            type:
                              type: string
                        reason:
                          type: string
                          description: Present when status is "skipped" or "failed"
                        existing_artist:
                          type: object
                          description: Present when status is "skipped"
                          properties:
                            '@id':
                              type: string
                            name:
                              type: string
                            type:
                              type: string
              example:
                summary:
                  total: 3
                  created: 1
                  skipped: 1
                  failed: 1
                results:
                  - index: 0
                    status: created
                    artist:
                      '@id': /api/artists/uuid-1
                      name: Hans Zimmer
                      type: person
                  - index: 1
                    status: skipped
                    reason: duplicate
                    existing_artist:
                      '@id': /api/artists/uuid-2
                      name: Hans Zimmer
                      type: person
                  - index: 2
                    status: failed
                    reason: 'type: Invalid artist type.'
        '400':
          description: Malformed JSON or missing "artists" array
        '422':
          description: Empty artists array or batch size exceeds 100
components:
  securitySchemes:
    bearerAuth:
      type: http
      description: API token authentication
      scheme: bearer
      bearerFormat: JWT

````