Track Imports API

The Imports API from Track — 8 operation(s) for imports.

Operations 11

GET /api/imports/batches Api imports batches list #
POST /api/imports/batches Api imports batches create #
GET /api/imports/batches/{batch_id}/preview Api imports batches preview list #
GET /api/imports/batches/{id} Api imports batches retrieve #
GET /api/imports/batches/{id}/catalog-preview Api imports batches catalog preview retrieve #
POST /api/imports/batches/{id}/confirm Api imports batches confirm create #
GET /api/imports/batches/{id}/summary Api imports batches summary retrieve #
GET /api/imports/items/{id}/resolution Api imports items resolution retrieve #
PUT /api/imports/items/{id}/resolution Api imports items resolution update #
PATCH /api/imports/items/{id}/resolution Api imports items resolution partial update #
GET /api/imports/vendors Api imports vendors list #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/track:track-imports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

track-imports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Track Imports API
  version: 1.0.0
  description: Track API schema
tags:
- name: Imports
paths:
  /api/imports/batches:
    get:
      operationId: api_imports_batches_list
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedImportBatchList'
          description: ''
      summary: Api imports batches list
      x-summary-source: derived
    post:
      operationId: api_imports_batches_create
      tags:
      - Imports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportBatchUpload'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ImportBatchUpload'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ImportBatchUpload'
        required: true
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportBatchUpload'
          description: ''
      summary: Api imports batches create
      x-summary-source: derived
  /api/imports/batches/{batch_id}/preview:
    get:
      operationId: api_imports_batches_preview_list
      parameters:
      - in: path
        name: batch_id
        schema:
          type: string
          format: uuid
        required: true
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: q
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedImportItemList'
          description: ''
      summary: Api imports batches preview list
      x-summary-source: derived
  /api/imports/batches/{id}:
    get:
      operationId: api_imports_batches_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportBatch'
          description: ''
      summary: Api imports batches retrieve
      x-summary-source: derived
  /api/imports/batches/{id}/catalog-preview:
    get:
      operationId: api_imports_batches_catalog_preview_retrieve
      description: 'Returns a preview of catalog changes that will occur when the import is confirmed.


        Lists releases and recordings that will be created or updated based on the

        analyzed ImportItems in the batch.'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogPreview'
          description: ''
      summary: Api imports batches catalog preview retrieve
      x-summary-source: derived
  /api/imports/batches/{id}/confirm:
    post:
      operationId: api_imports_batches_confirm_create
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportBatchConfirmResponse'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportBatchConfirmResponse'
          description: ''
      summary: Api imports batches confirm create
      x-summary-source: derived
  /api/imports/batches/{id}/summary:
    get:
      operationId: api_imports_batches_summary_retrieve
      description: Returns a summary of a completed import batch, or of a confirmed statement import whose revenue step failed.
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportBatchSummary'
          description: ''
      summary: Api imports batches summary retrieve
      x-summary-source: derived
  /api/imports/items/{id}/resolution:
    get:
      operationId: api_imports_items_resolution_retrieve
      description: 'Get or update resolution-related fields on an ImportItem.


        GET: Returns current resolution state

        PATCH: Allows updating:

        - release, sound_recording

        - release_match_status, recording_match_status

        - recording_resolution, release_resolution'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportItemResolutionUpdate'
          description: ''
      summary: Api imports items resolution retrieve
      x-summary-source: derived
    put:
      operationId: api_imports_items_resolution_update
      description: 'Get or update resolution-related fields on an ImportItem.


        GET: Returns current resolution state

        PATCH: Allows updating:

        - release, sound_recording

        - release_match_status, recording_match_status

        - recording_resolution, release_resolution'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportItemResolutionUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ImportItemResolutionUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ImportItemResolutionUpdate'
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportItemResolutionUpdate'
          description: ''
      summary: Api imports items resolution update
      x-summary-source: derived
    patch:
      operationId: api_imports_items_resolution_partial_update
      description: 'Get or update resolution-related fields on an ImportItem.


        GET: Returns current resolution state

        PATCH: Allows updating:

        - release, sound_recording

        - release_match_status, recording_match_status

        - recording_resolution, release_resolution'
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Imports
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedImportItemResolutionUpdate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedImportItemResolutionUpdate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedImportItemResolutionUpdate'
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportItemResolutionUpdate'
          description: ''
      summary: Api imports items resolution partial update
      x-summary-source: derived
  /api/imports/vendors:
    get:
      operationId: api_imports_vendors_list
      description: Return the list of supported import vendors and their default currencies.
      tags:
      - Imports
      security:
      - jwtAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SupportedVendor'
          description: ''
      summary: Api imports vendors list
      x-summary-source: derived
components:
  schemas:
    ReleaseResolutionEnum:
      enum:
      - keep_catalog
      - use_import
      type: string
      description: '* `keep_catalog` - Keep Catalog Version

        * `use_import` - Use Import Version'
    SupportedVendor:
      type: object
      description: A supported import vendor and its default settlement currency.
      properties:
        id:
          type: string
        name:
          type: string
        default_currency:
          type:
          - string
          - 'null'
        supported_import_types:
          type: array
          items:
            type: string
      required:
      - default_currency
      - id
      - name
      - supported_import_types
    ImportItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        row_index:
          type: integer
          maximum: 2147483647
          minimum: 0
        payload: {}
        mapped_values: {}
        release:
          type:
          - string
          - 'null'
          format: uuid
        sound_recording:
          type:
          - string
          - 'null'
          format: uuid
        release_match_status:
          oneOf:
          - $ref: '#/components/schemas/ReleaseMatchStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        recording_match_status:
          oneOf:
          - $ref: '#/components/schemas/RecordingMatchStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        matched_values: {}
        warnings: {}
        recording_conflicted_fields:
          description: List of recording field names that have conflicts
        release_conflicted_fields:
          description: List of release field names that have conflicts
        recording_resolution:
          description: 'How to resolve recording conflicts: keep catalog version or use import version


            * `keep_catalog` - Keep Catalog Version

            * `use_import` - Use Import Version'
          oneOf:
          - $ref: '#/components/schemas/RecordingResolutionEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        release_resolution:
          description: 'How to resolve release conflicts: keep catalog version or use import version


            * `keep_catalog` - Keep Catalog Version

            * `use_import` - Use Import Version'
          oneOf:
          - $ref: '#/components/schemas/ReleaseResolutionEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        created_at:
          type: string
          format: date-time
          readOnly: true
      required:
      - created_at
      - id
    CatalogPreview:
      type: object
      description: Main serializer for catalog preview response.
      properties:
        releases_to_create:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewCreate'
        releases_to_update:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewUpdate'
        recordings_to_create:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewCreate'
        recordings_to_update:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewUpdate'
        likely_recordings:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewUpdate'
        likely_releases:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewUpdate'
        conflicts_recordings:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewConflict'
        conflicts_releases:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewConflict'
        errors:
          $ref: '#/components/schemas/CatalogPreviewErrors'
        can_import:
          type: boolean
          description: True when batch has no errors or conflicts (can proceed with import)
        can_auto_import:
          type: boolean
          description: True when batch has only exact matches and duplicates (no catalog changes needed)
        summary:
          $ref: '#/components/schemas/CatalogPreviewSummary'
      required:
      - can_auto_import
      - can_import
      - conflicts_recordings
      - conflicts_releases
      - errors
      - likely_recordings
      - likely_releases
      - recordings_to_create
      - recordings_to_update
      - releases_to_create
      - releases_to_update
      - summary
    CatalogPreviewUpdate:
      type: object
      description: Serializer for a release or recording that will be updated.
      properties:
        id:
          type: string
          format: uuid
        row_index:
          type: integer
        match_status:
          type: string
        import_values:
          type: object
          additionalProperties: {}
        catalog_values: {}
        updates:
          type: object
          additionalProperties: {}
      required:
      - id
      - import_values
      - match_status
      - row_index
      - updates
    ImportBatchConfirmResponse:
      type: object
      properties:
        detail:
          type: string
      required:
      - detail
    ImportBatch:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        label:
          type: string
          format: uuid
        vendor:
          type:
          - string
          - 'null'
          maxLength: 64
        name:
          type:
          - string
          - 'null'
          maxLength: 255
        type:
          $ref: '#/components/schemas/TypeB4bEnum'
        file_name:
          type:
          - string
          - 'null'
          maxLength: 255
        file_size:
          type:
          - integer
          - 'null'
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
        status:
          $ref: '#/components/schemas/StatusEaaEnum'
        progress:
          type: integer
          maximum: 2147483647
          minimum: 0
        counters: {}
        error:
          type:
          - string
          - 'null'
        statement_received_date:
          type:
          - string
          - 'null'
          format: date
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
      required:
      - created_at
      - id
      - label
      - updated_at
    TypeB4bEnum:
      enum:
      - catalog
      - statement
      type: string
      description: '* `catalog` - Catalog

        * `statement` - Statement'
    CatalogPreviewConflict:
      type: object
      description: Serializer for a conflicted import item.
      properties:
        id:
          type: string
          format: uuid
        row_index:
          type: integer
        match_status:
          type: string
        import_values:
          type: object
          additionalProperties: {}
        catalog_values: {}
        updates:
          type: object
          additionalProperties: {}
        conflicted_fields:
          type: array
          items:
            type: string
        warnings:
          type: array
          items:
            type: string
        resolution:
          type:
          - string
          - 'null'
      required:
      - conflicted_fields
      - id
      - import_values
      - match_status
      - row_index
      - warnings
    NullEnum:
      enum:
      - null
    CatalogPreviewSummary:
      type: object
      description: Summary counts for catalog preview.
      properties:
        new_releases:
          type: integer
        updated_releases:
          type: integer
        new_recordings:
          type: integer
        updated_recordings:
          type: integer
        likely_recordings:
          type: integer
        likely_releases:
          type: integer
        conflicts_recordings:
          type: integer
        conflicts_releases:
          type: integer
        errors:
          type: integer
      required:
      - conflicts_recordings
      - conflicts_releases
      - errors
      - likely_recordings
      - likely_releases
      - new_recordings
      - new_releases
      - updated_recordings
      - updated_releases
    ImportBatchUpload:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        label:
          type: string
          format: uuid
        vendor:
          type:
          - string
          - 'null'
          maxLength: 64
        name:
          type:
          - string
          - 'null'
          maxLength: 255
        type:
          $ref: '#/components/schemas/TypeB4bEnum'
        file:
          type: string
          format: uri
          writeOnly: true
        period_start:
          type:
          - string
          - 'null'
          format: date
        period_end:
          type:
          - string
          - 'null'
          format: date
        statement_received_date:
          type:
          - string
          - 'null'
          format: date
        status:
          allOf:
          - $ref: '#/components/schemas/StatusEaaEnum'
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
      required:
      - created_at
      - file
      - id
      - label
      - status
    PaginatedImportItemList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/ImportItem'
    BlankEnum:
      enum:
      - ''
    CatalogPreviewErrors:
      type: object
      description: Grouped analysis errors for releases and recordings.
      properties:
        release:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewError'
        recordings:
          type: array
          items:
            $ref: '#/components/schemas/CatalogPreviewError'
      required:
      - recordings
      - release
    CatalogPreviewCreate:
      type: object
      description: Serializer for a release or recording that will be created.
      properties:
        row_index:
          type: integer
        match_status:
          type: string
        import_values:
          type: object
          additionalProperties: {}
      required:
      - import_values
      - match_status
      - row_index
    RecordingResolutionEnum:
      enum:
      - keep_catalog
      - use_import
      type: string
      description: '* `keep_catalog` - Keep Catalog Version

        * `use_import` - Use Import Version'
    PaginatedImportBatchList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type:
          - string
          - 'null'
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/ImportBatch'
    PatchedImportItemResolutionUpdate:
      type: object
      description: Serializer for updating resolution-related fields on an ImportItem.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        release:
          type:
          - string
          - 'null'
          format: uuid
        sound_recording:
          type:
          - string
          - 'null'
          format: uuid
        release_match_status:
          oneOf:
          - $ref: '#/components/schemas/ReleaseMatchStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        recording_match_status:
          oneOf:
          - $ref: '#/components/schemas/RecordingMatchStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        recording_resolution:
          description: 'How to resolve recording conflicts: keep catalog version or use import version


            * `keep_catalog` - Keep Catalog Version

            * `use_import` - Use Import Version'
          oneOf:
          - $ref: '#/components/schemas/RecordingResolutionEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        release_resolution:
          description: 'How to resolve release conflicts: keep catalog version or use import version


            * `keep_catalog` - Keep Catalog Version

            * `use_import` - Use Import Version'
          oneOf:
          - $ref: '#/components/schemas/ReleaseResolutionEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
    ImportItemResolutionUpdate:
      type: object
      description: Serializer for updating resolution-related fields on an ImportItem.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        release:
          type:
          - string
          - 'null'
          format: uuid
        sound_recording:
          type:
          - string
          - 'null'
          format: uuid
        release_match_status:
          oneOf:
          - $ref: '#/components/schemas/ReleaseMatchStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        recording_match_status:
          oneOf:
          - $ref: '#/components/schemas/RecordingMatchStatusEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        recording_resolution:
          description: 'How to resolve recording conflicts: keep catalog version or use import version


            * `keep_catalog` - Keep Catalog Version

            * `use_import` - Use Import Version'
          oneOf:
          - $ref: '#/components/schemas/RecordingResolutionEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        release_resolution:
          description: 'How to resolve release conflicts: keep catalog version or use import version


            * `keep_catalog` - Keep Catalog Version

            * `use_import` - Use Import Version'
          oneOf:
          - $ref: '#/components/schemas/ReleaseResolutionEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
      required:
      - id
    ImportBatchSummary:
      type: object
      description: Summary of a completed import batch.
      properties:
        revenue_lines:
          type: integer
        releases_created:
          type: integer
        recordings_created:
          type: integer
        recordings_updated:
          type: integer
        releases_updated:
          type: integer
      required:
      - recordings_created
      - recordings_updated
      - releases_created
      - releases_updated
      - revenue_lines
    StatusEaaEnum:
      enum:
      - pending
      - analyzing
      - analyzed
      - importing
      - completed
      - failed
      - canceled
      type: string
      description: '* `pending` - Pending

        * `analyzing` - Analyzing

        * `analyzed` - Analyzed

        * `importing` - Importing

        * `completed` - Completed

        * `failed` - Failed

        * `canceled` - Canceled'
    ReleaseMatchStatusEnum:
      enum:
      - exact
      - likely
      - update
      - new
      - conflict
      - error
      - duplicate
      type: string
      description: '* `exact` - Exact

        * `likely` - Likely

        * `update` - Update

        * `new` - New

        * `conflict` - Conflict

        * `error` - Error

        * `duplicate` - Duplicate'
    CatalogPreviewError:
      type: object
      description: Serializer for an import item that cannot be imported due to an analysis error.
      properties:
        id:
          type: string
          format: uuid
        row_index:
          type: integer
        match_status:
          type: string
        import_values:
          type: object
          additionalProperties: {}
        warnings:
          type: array
          items:
            type: string
      required:
      - id
      - import_values
      - match_status
      - row_index
      - warnings
    RecordingMatchStatusEnum:
      enum:
      - exact
      - likely
      - update
      - new
      - conflict
      - error
      - duplicate
      type: string
      description: '* `exact` - Exact

        * `likely` - Likely

        * `update` - Update

        * `new` - New

        * `conflict` - Conflict

        * `error` - Error

        * `duplicate` - Duplicate'
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT