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

# Get a Track



## OpenAPI

````yaml /developers/api-reference/openapi.json get /tracks/{id}
openapi: 3.0.0
info:
  description: >-
    The BeatPass API provides access to platform data for approved developer
    integrations. API access is invite-only — contact contact@beatpass.ca to
    request access. Authenticate with a Bearer token. Tokens expire after 90
    days. Unauthenticated requests return minimal data (e.g. id, name, image,
    model_type, and basic metadata). Global rate limit: 300 requests/minute.
  version: 1.0.1
  title: BeatPass API
servers:
  - url: https://open.beatpass.ca/api/v1
    description: Production API
security:
  - bearerAuth: []
tags:
  - name: Search
    description: Search across albums, artists, playlists, tracks and users
  - name: Playlists
    description: Manage playlists and playlist tracks
  - name: Playlist Collaboration
    description: Invite users to collaborate on playlists
  - name: Artists
    description: Manage artists and artist information
  - name: Albums
    description: Manage albums and album information
  - name: Tracks
    description: Manage tracks, downloads and track information
  - name: Track Purchases
    description: Purchase tracks and generate exclusive licenses
  - name: License Certificates
    description: Generate, verify and manage track licenses
  - name: Audio Fingerprinting
    description: Generate audio fingerprints and detect duplicates
  - name: Beat Requests
    description: Create and manage custom beat requests
  - name: Producer Intelligence
    description: Analytics, XP, achievements and leaderboards for producers
  - name: Tags
    description: Manage track and album tags
  - name: Genres
    description: Manage music genres
  - name: Users
    description: User management, search and social features
  - name: User Library
    description: Manage user's liked tracks, albums and artists
  - name: Reposts
    description: Repost tracks to share with followers
  - name: Track Plays
    description: Log and track music playback statistics
  - name: Radio
    description: Get personalized music recommendations
  - name: Leaderboards
    description: Platform-wide producer and achievement leaderboards
  - name: Cover Art
    description: Generate custom cover art using templates
  - name: Auth
    description: Authenticate requests to the API
  - name: Messaging
    description: Direct messages, group conversations, and real-time features
  - name: Collections
    description: Curated content collections
  - name: Stripe Connect
    description: Legacy Stripe Connect onboarding and financial overview where available
  - name: Exclusive Licenses
    description: Manage exclusive license pricing presets
  - name: Coupons
    description: Validate discount codes during checkout
  - name: Notifications
    description: Manage notification preferences and FCM device tokens
paths:
  /tracks/{id}:
    get:
      tags:
        - Tracks
      summary: Get a Track
      operationId: getTrack
      parameters:
        - name: id
          in: path
          description: ID of the track
          example: 1
          required: true
          schema:
            type: integer
        - name: with
          in: query
          description: >-
            Comma separated list of additional data to fetch for this track.
            Supported values: tags, genres, artists, album.
          schema:
            type: string
            example: album,genres,tags
            default: null
      responses:
        '200':
          description: Response body contains a track object in JSON format.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  track:
                    allOf:
                      - $ref: '#/components/schemas/Track'
                      - type: object
                        properties:
                          album:
                            $ref: '#/components/schemas/Album'
                          genres:
                            nullable: true
                            type: array
                            items:
                              $ref: '#/components/schemas/Genre'
                          tags:
                            nullable: true
                            type: array
                            items:
                              $ref: '#/components/schemas/Tag'
        '401':
          $ref: '#/components/responses/Response401'
        '403':
          $ref: '#/components/responses/Response403'
      security:
        - {}
        - bearerAuth: []
components:
  schemas:
    Track:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
          example: Hey Hey What Can I Do
        release_date:
          type: string
          example: '1982-11-19'
          description: Release date of the album in YYYY-MM-DD format
        image:
          type: string
          example: https://example.com/image1.jpg
          description: Artwork image for album, usually 300x300px in size
        duration:
          type: integer
          format: int64
          example: 5645848548
          description: Duration for track in milliseconds
        description:
          type: string
          nullable: true
          description: description for the track
        artists:
          description: List of artists who performed the track
          type: array
          items:
            $ref: '#/components/schemas/Artist'
    Album:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
          example: Coda
        image:
          type: string
          example: https://example.com/image1.jpg
          description: Artwork image for album, usually 300x300px in size
        release_date:
          type: string
          example: '1982-11-19'
          description: Release date of the album in YYYY-MM-DD format
        description:
          type: string
          nullable: true
          description: description for the album
        tracks:
          nullable: true
          type: array
          description: Tracks of the album
          items:
            $ref: '#/components/schemas/Track'
        artists:
          nullable: true
          type: array
          description: Artists of the album
          items:
            $ref: '#/components/schemas/Artist'
    Genre:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: rock
    Tag:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    Artist:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
          example: Led Zeppelin
        image_small:
          type: string
          example: https://example.com/image1.jpg
          description: Small image for artist, usually 320x320px in size.
        verified:
          type: boolean
          example: true
          description: Whether artist has been verified by SITE_NAME staff
  responses:
    Response401:
      description: Unauthenticated. Bearer token is missing, invalid, or expired.
    Response403:
      description: >-
        Unauthorized access. You don't have permissions required to perform this
        operation.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API access is invite-only. Contact contact@beatpass.ca to request
        access. Once approved, generate tokens from Account Settings →
        Developers. Include as: Authorization: Bearer {token}. Tokens expire
        after 90 days.

````