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

# Get a curated list

> Published curated list with published, non-deleted songs in curated order.



## OpenAPI

````yaml /openapi.json get /v1/curated-lists/{listId}
openapi: 3.1.0
info:
  title: Diskograf API
  description: >-
    A public, read-only REST API over the Diskograf catalogue of Malaysian
    music.


    Public endpoints require no authentication and expose only published

    catalogue rows. Requests are rate limited to 360 per 60 seconds per IP
    address.


    The `/v1/admin` endpoints are the exception: authenticated with a
    short-lived

    bearer token minted by diskograf.com for Backstage staff. They bypass API

    rate limits and are never cached because they expose unpublished rows.


    Every successful response is wrapped in an envelope. List endpoints return

    `{ "data": [...], "meta": { "total", "limit", "offset", "next_cursor" } }`;
    detail endpoints

    return `{ "data": {...} }`. Errors return `{ "error": { "code", "message" }
    }`.
  version: 1.0.0
servers:
  - url: https://api.diskograf.com
    description: Production
security: []
tags:
  - name: Songs
    description: The catalogue of published songs and their credits.
  - name: Albums
    description: Published albums and their track listings.
  - name: Curated Lists
    description: Published editorial song lists.
  - name: Artists
    description: Performers, writers and producers, and their discographies.
  - name: Genres
    description: The genre taxonomy and the songs in each genre.
  - name: Labels
    description: Record labels and their releases.
  - name: Users
    description: Public contributor profiles. Private account fields are never returned.
  - name: Search
    description: Cross-category keyword search.
  - name: Discovery
    description: Composite catalogue selections for exploring Malaysian music.
  - name: Meta
    description: Service index, statistics and health.
  - name: Backstage
    description: >-
      Authenticated, admin-only rows. Never cached. Requires a bearer token
      minted by diskograf.com.
paths:
  /v1/curated-lists/{listId}:
    get:
      tags:
        - Curated Lists
      summary: Get a curated list
      description: >-
        Published curated list with published, non-deleted songs in curated
        order.
      operationId: getV1CuratedListsByListId
      parameters:
        - name: listId
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: The curated list.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      title:
                        type: string
                      description:
                        type:
                          - string
                          - 'null'
                      artwork_url:
                        description: Absolute CDN URL for the list artwork.
                        type:
                          - string
                          - 'null'
                      artwork_colors:
                        default: null
                        description: Saved colours sampled from the artwork, as hex.
                        anyOf:
                          - type: object
                            properties:
                              dominant:
                                type: string
                              average:
                                type: string
                            required:
                              - dominant
                              - average
                          - type: 'null'
                      updated_at:
                        type: string
                        description: >-
                          When the list was last edited. Drives the public
                          page's freshness line.
                      show_artists:
                        default: true
                        description: Whether the tracklist metadata row shows artist names.
                        type: boolean
                      show_writers:
                        default: false
                        description: >-
                          Whether the tracklist metadata row shows writer
                          (composer/lyricist) credits.
                        type: boolean
                      content_type:
                        default: songs
                        description: >-
                          Whether the list holds songs or albums. Only the
                          matching array has rows.
                        type: string
                        enum:
                          - songs
                          - albums
                      songs:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            title:
                              type: string
                            slug:
                              type: string
                              description: >-
                                URL-safe form of the title. Not unique — pair it
                                with the id.
                            released_at:
                              type: string
                            artwork_url:
                              type: string
                              description: >-
                                Absolute CDN URL. Resolved server-side; never a
                                bare storage key.
                            artwork_average:
                              default: null
                              description: >-
                                Saved average artwork colour as hex, or null
                                until computed.
                              type:
                                - string
                                - 'null'
                            artwork_source:
                              anyOf:
                                - type: string
                                  enum:
                                    - Custom
                                    - Apple Music
                                    - Spotify
                                    - YouTube
                                - type: 'null'
                            youtube_video_id:
                              type:
                                - string
                                - 'null'
                            youtube_video_url:
                              type:
                                - string
                                - 'null'
                            youtube_views:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                - type: 'null'
                            youtube_views_per_day:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                - type: 'null'
                            artists:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    minimum: -9007199254740991
                                    maximum: 9007199254740991
                                  name:
                                    type: string
                                required:
                                  - id
                                  - name
                              description: >-
                                Primary performing credits only, in credit
                                order.
                            date_type:
                              anyOf:
                                - type: string
                                  enum:
                                    - FULL
                                    - MONTH
                                    - YEAR
                                - type: 'null'
                            duration_ms:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            youtube_duration_seconds:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                            spotify_url:
                              anyOf:
                                - type: string
                                  format: uri
                                - type: 'null'
                              description: Canonical Spotify URL for this track.
                            apple_music_url:
                              anyOf:
                                - type: string
                                  format: uri
                                - type: 'null'
                              description: Apple Music URL for this track.
                            writers:
                              default: []
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    minimum: -9007199254740991
                                    maximum: 9007199254740991
                                  name:
                                    type: string
                                required:
                                  - id
                                  - name
                          required:
                            - id
                            - title
                            - slug
                            - released_at
                            - artwork_url
                            - artwork_source
                            - youtube_video_id
                            - youtube_video_url
                            - youtube_views
                            - youtube_views_per_day
                            - artists
                            - date_type
                            - duration_ms
                            - youtube_duration_seconds
                            - spotify_url
                            - apple_music_url
                      albums:
                        default: []
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            title:
                              type: string
                            album_type:
                              type: string
                              enum:
                                - album
                                - ep
                                - single
                              description: Album release type.
                            artwork_url:
                              description: Absolute CDN URL for the album artwork.
                              type:
                                - string
                                - 'null'
                            song_count:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            latest_released_at:
                              type:
                                - string
                                - 'null'
                            artists:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    minimum: -9007199254740991
                                    maximum: 9007199254740991
                                  name:
                                    type: string
                                  prefix_title:
                                    type:
                                      - string
                                      - 'null'
                                  is_group:
                                    type:
                                      - boolean
                                      - 'null'
                                  avatar_url:
                                    description: >-
                                      Resolved public CDN URL for the artist
                                      avatar.
                                    type:
                                      - string
                                      - 'null'
                                required:
                                  - id
                                  - name
                                  - prefix_title
                                  - is_group
                                  - avatar_url
                              description: >-
                                Explicit album artists, or primary artists
                                resolved from visible tracks.
                          required:
                            - id
                            - title
                            - album_type
                            - artwork_url
                            - song_count
                            - latest_released_at
                            - artists
                    required:
                      - id
                      - title
                      - description
                      - artwork_url
                      - updated_at
                      - songs
                required:
                  - data
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: The requested resource does not exist, or is not public.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: string
                    enum:
                      - not_found
                      - bad_request
                      - unauthorized
                      - forbidden
                      - rate_limited
                      - internal_error
                  message:
                    type: string
                required:
                  - code
                  - message
            required:
              - error

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.