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

# List recordings

> Required permission: recordings:read.



## OpenAPI

````yaml /openapi.json get /recordings
openapi: 3.1.0
info:
  title: Italic API
  version: 2.0.0
  description: >-
    Recordings, devices, and notifications. Text syncs to Italic; audio stays on
    the client.
servers:
  - url: https://app.italic.com/api/v2
security: []
tags:
  - name: Recordings
  - name: Devices
  - name: API keys
  - name: Webhooks
  - name: Events
paths:
  /recordings:
    get:
      tags:
        - Recordings
      summary: List recordings
      description: 'Required permission: recordings:read.'
      operationId: listRecordings
      parameters:
        - name: type
          in: query
          schema:
            type: string
            enum:
              - clip
              - memo
        - name: q
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 200
        - name: deviceId
          in: query
          schema:
            type: string
            minLength: 1
            maxLength: 256
            pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]*$
        - name: status
          in: query
          schema:
            type: string
            enum:
              - pending
              - transcribing
              - ready
              - no_speech
              - failed
        - name: from
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 9007199254740991
        - name: to
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 9007199254740991
        - name: cursor
          in: query
          schema:
            type: string
            minLength: 0
            maxLength: 1024
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: >-
            Success. Writes without read permission return an ID and revision
            only.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Request identifier for troubleshooting.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordingList'
        default:
          description: Request failed. Errors include a stable code and a readable message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    RecordingList:
      type: object
      properties:
        recordings:
          type: array
          items:
            $ref: '#/components/schemas/Recording'
        nextCursor:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - recordings
        - nextCursor
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              minLength: 0
              maxLength: 100
            message:
              type: string
              minLength: 0
              maxLength: 1000
          required:
            - code
            - message
          additionalProperties: false
      required:
        - error
    Recording:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 256
          pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]*$
        type:
          type: string
          enum:
            - clip
            - memo
        title:
          type: string
          minLength: 0
          maxLength: 200
        transcript:
          type: string
          minLength: 0
          maxLength: 1000000
        summary:
          type: string
          minLength: 0
          maxLength: 1000000
        recordedAt:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        updatedAt:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        revision:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        status:
          type: string
          enum:
            - pending
            - transcribing
            - ready
            - no_speech
            - failed
        pinned:
          type: boolean
        audio:
          type: array
          items:
            type: object
            properties:
              clientId:
                type: string
                minLength: 1
                maxLength: 256
                pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]*$
              fileId:
                type: string
                minLength: 1
                maxLength: 256
                pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]*$
            required:
              - clientId
              - fileId
            additionalProperties: false
        deviceId:
          type: string
          minLength: 1
          maxLength: 256
          pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]*$
        externalId:
          type: string
          minLength: 1
          maxLength: 256
          pattern: ^[A-Za-z0-9][A-Za-z0-9._:-]*$
      required:
        - id
        - type
        - title
        - transcript
        - summary
        - recordedAt
        - updatedAt
        - revision
        - status
        - pinned
        - audio
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: An API key from Settings → Integrations.

````