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

# List recordings

> Lists your Plaud recordings, newest first by default. **Pro license required.**



## OpenAPI

````yaml /api-reference/plaud/openapi.json get /plaud/files
openapi: 3.1.0
info:
  title: Magic Meal Kits — Plaud API
  version: 1.0.0
  description: >-
    Read your Plaud voice-recorder library — recordings, transcripts, AI
    summaries, note tabs, devices, and search — through your Magic Meal Kits
    server. Backs the **Plaud (Magic Meal Kits)** Make.com app.


    Your Plaud account credentials live server-side (Secret Manager) on your
    deployment; callers only send the MMK API key. Every endpoint requires a
    **Pro** license — a Basic key is rejected with `400` and `you are not a
    magic meal kits PRO user`.
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://{deployment}/api/v1
    description: Your Magic Meal Kits deployment
    variables:
      deployment:
        default: magic-meal-kits-xxxxx.run.app
        description: Your Cloud Run host (without protocol)
security:
  - ApiKeyAuth: []
tags:
  - name: User
    description: Account profile and membership.
  - name: Files
    description: List, inspect, and bundle recordings.
  - name: Content
    description: Transcripts, summaries, note tabs, and audio.
  - name: Search
    description: Full-text search across transcripts.
  - name: Devices
    description: Bound Plaud hardware.
  - name: Webhooks
    description: Polling source for new-recording triggers.
paths:
  /plaud/files:
    get:
      tags:
        - Files
      summary: List recordings
      description: >-
        Lists your Plaud recordings, newest first by default. **Pro license
        required.**
      operationId: listPlaudFiles
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
          description: Max files to return.
        - name: skip
          in: query
          schema:
            type: integer
            default: 0
          description: Offset for pagination.
        - name: is_trash
          in: query
          schema:
            type: integer
            enum:
              - 0
              - 1
              - 2
            default: 0
          description: 0 = active, 1 = trash, 2 = both.
        - name: sort_by
          in: query
          schema:
            type: string
            enum:
              - edit_time
              - start_time
            default: edit_time
          description: Sort field.
        - name: is_desc
          in: query
          schema:
            type: boolean
            default: true
          description: Descending order.
      responses:
        '200':
          description: File listing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFilesResponse'
        '401':
          $ref: '#/components/responses/PlaudAuthError'
components:
  schemas:
    ListFilesResponse:
      type: object
      properties:
        status:
          type: integer
        data_file_total:
          type: integer
        data_file_list:
          type: array
          items:
            $ref: '#/components/schemas/PlaudFile'
    PlaudFile:
      type: object
      description: >-
        A recording. Epoch-ms fields are echoed alongside pre-formatted siblings
        (`*_time_human`, `duration_human`, `duration_seconds`,
        `duration_minutes`, `duration_hours`).
      properties:
        id:
          type: string
        filename:
          type: string
        keywords:
          type: array
          items:
            type: string
        filesize:
          type: integer
          format: int64
        filetype:
          type: string
        is_trash:
          type: boolean
        start_time:
          type: integer
          format: int64
          description: Epoch ms.
        end_time:
          type: integer
          format: int64
          description: Epoch ms.
        duration:
          type: integer
          format: int64
          description: Milliseconds.
        filetag_id_list:
          type: array
          items:
            type: string
        is_trans:
          type: boolean
          description: Transcript ready.
        is_summary:
          type: boolean
          description: Summary ready.
        start_time_human:
          type: string
          description: RFC3339 UTC.
        duration_human:
          type: string
          description: '`m:ss` or `h:mm:ss`.'
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
  responses:
    PlaudAuthError:
      description: >-
        Plaud credentials rejected (revoked/expired) — reconnect your Plaud
        account.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Your deployment's API key (MMK_API_KEY). Your Plaud account credentials
        are stored server-side — you do not send them.

````