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

# List credit roles

> Every credit role in the taxonomy — vocals, guitar, composer, lyricist and the rest. The list is small and is returned whole rather than paginated.



## OpenAPI

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


    No authentication is required and no endpoint writes. Requests are rate
    limited

    to 60 per 60 seconds per IP address.


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

    `{ "data": [...], "meta": { "total", "limit", "offset" } }`; 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: 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: Meta
    description: Service index, statistics and health.
paths:
  /v1/roles:
    get:
      tags:
        - Meta
      summary: List credit roles
      description: >-
        Every credit role in the taxonomy — vocals, guitar, composer, lyricist
        and the rest. The list is small and is returned whole rather than
        paginated.
      operationId: getV1Roles
      responses:
        '200':
          description: All roles.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        slug:
                          anyOf:
                            - type: string
                            - type: 'null'
                        title:
                          type: string
                        order:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                      required:
                        - id
                        - slug
                        - title
                        - order
                  meta:
                    type: object
                    properties:
                      total:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: >-
                          Total rows matching the query, ignoring limit and
                          offset.
                      limit:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: >-
                          Page size actually applied. Bounded by
                          apiConfig.maxLimit (80).
                      offset:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Zero-based row offset of this page.
                    required:
                      - total
                      - limit
                      - offset
                required:
                  - data
                  - meta

````