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

# Get File Change Feed

> Returns new, updated and deleted files since the last checkpoint. The first call back-fills everything visible; Team Files are always included, and a member's own recordings only appear once that member has accepted the consent notice.

> [!NOTE]
>
> Resume from `next_checkpoint` with the `checkpoint` query parameter to get only what changed. Delivery is **at-least-once** — the most recent file may be repeated on the next page, so dedupe on `(id, version)`.


## OpenAPI

````yaml /openapi/enterprise.json get /team-api-integration/v1/team-files/items
openapi: 3.0.4
info:
  title: Enterprise API
  description: >-
    Workspace-owned, read-only access to a Plaud Team workspace's recordings,
    transcripts, summaries and member data. Currently in Private Beta and
    feature-flagged for Private Beta workspaces only.
  version: 0.0.1
servers:
  - url: https://api.plaud.ai
    description: >-
      US workspace endpoint. Japan workspaces receive their own host and token
      issuer together with their credential.
security: []
paths:
  /team-api-integration/v1/team-files/items:
    get:
      tags:
        - Files
      summary: Get File Change Feed
      description: >-
        Returns new, updated and deleted files since the last checkpoint. The
        first call back-fills everything visible; Team Files are always
        included, and a member's own recordings only appear once that member has
        accepted the consent notice.
      operationId: listFileChanges
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/cursor'
        - in: query
          name: checkpoint
          schema:
            type: string
          description: >-
            A `next_checkpoint` value from a previous call. Returns only files
            that changed since that checkpoint.
      responses:
        '200':
          description: File change feed page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesFeedResponse'
              example:
                status: 200
                data:
                  files:
                    - id: <file_id_2>
                      workspace_id: <workspace_id>
                      title: <recording_title_2>
                      status: ready
                      created_by_member_id: <member_id>
                      recorded_at: '2026-06-16T23:55:52Z'
                      created_at: '2026-09-30T00:13:32Z'
                      updated_at: '2026-09-30T00:13:51Z'
                      version: 1790727231923
                      duration_ms: 96190
                      has_transcript: true
                      has_summary: true
                  next_cursor: null
                  next_checkpoint: <checkpoint>
                  has_more: false
                type: files
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - bearerAuth: []
components:
  parameters:
    limit:
      in: query
      name: limit
      schema:
        type: integer
      description: Maximum number of items to return in one page.
      example: 5
    cursor:
      in: query
      name: cursor
      schema:
        type: string
      description: A `next_cursor` value from a previous call, to fetch the next page.
  schemas:
    FilesFeedResponse:
      type: object
      properties:
        status:
          type: integer
          example: 200
        data:
          type: object
          properties:
            files:
              type: array
              items:
                $ref: '#/components/schemas/File'
            next_cursor:
              type: string
              nullable: true
            next_checkpoint:
              type: string
              description: >-
                Server-issued checkpoint. Pass back as the `checkpoint` query
                parameter to resume from here.
            has_more:
              type: boolean
        type:
          type: string
          example: files
    File:
      type: object
      properties:
        id:
          type: string
        workspace_id:
          type: string
        title:
          type: string
        status:
          type: string
          example: ready
        created_by_member_id:
          type: string
        recorded_at:
          type: string
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        version:
          type: integer
          description: >-
            Monotonically increasing version, used with `id` to dedupe
            at-least-once delivery.
        duration_ms:
          type: integer
        has_transcript:
          type: boolean
        has_summary:
          type: boolean
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          example: 401
        msg:
          type: string
          example: unauthorized
        type:
          type: string
          example: error
  responses:
    Unauthorized:
      description: Missing, expired or invalid access token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: 401
            msg: unauthorized
            type: error
    TooManyRequests:
      description: >-
        Rate limit exceeded (120 requests per minute per credential). Retry
        after the number of seconds in the `Retry-After` header.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            status: 429
            msg: rate limit exceeded
            type: error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Workspace access token returned by `POST /team-oauth/oauth/token`.

````

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