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

# Update a recording

> Updates a recording's title, summary, folder, or tags. Only the attributes present in the request body are changed.

<Info>Replace `{your-subdomain}` with your workspace's subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/getting-started/workspace-subdomain).</Info>


## OpenAPI

````yaml bundled/recordings.yaml PATCH /recordings/{id}
openapi: 3.0.3
info:
  title: NeetoRecord Recordings APIs
  version: 2.0.0
servers:
  - description: NeetoRecord APIs
    url: https://{your-subdomain}.neetorecord.com/api/external/v2
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/getting-started/workspace-subdomain).
security: []
tags:
  - name: Recordings
    description: APIs to retrieve and manage recordings in your workspace.
paths:
  /recordings/{id}:
    patch:
      tags:
        - Recordings
      summary: Update a recording
      description: >-
        Updates a recording's title, summary, folder, or tags. Only the
        attributes present in the request body are changed.
      parameters:
        - $ref: '#/components/parameters/api_key_header'
        - $ref: '#/components/parameters/accept_header'
        - $ref: '#/components/parameters/recording_id_param'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - recording
              properties:
                recording:
                  type: object
                  properties:
                    title:
                      type: string
                      description: New title for the recording.
                      example: Product demo walkthrough, February
                    summary:
                      type: string
                      description: New summary for the recording.
                      example: Covers folders, tags, and sharing.
                    folder_id:
                      type: string
                      nullable: true
                      description: >-
                        Folder to move the recording into. Accepts the folder
                        `id` returned by the [List
                        folders](/api-reference/folders/list) API. Send an empty
                        value to remove the recording from its folder.
                      example: hqzptnv
                    tag_names:
                      type: array
                      items:
                        type: string
                      description: >-
                        Replaces every tag on the recording, so send the
                        complete list. Names that do not exist yet are created.
                      example:
                        - demo
                        - internal
      responses:
        '200':
          description: Successfully updated the recording.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/recording'
        '404':
          $ref: '#/components/responses/recording_not_found'
        '422':
          description: >-
            The request body is missing the `recording` key, or the folder does
            not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              example:
                error: 'param is missing or the value is empty or invalid: recording'
components:
  parameters:
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        API key. Refer to [Authentication](/getting-started/authentication) for
        more information.
      required: true
      schema:
        type: string
    accept_header:
      in: header
      name: Accept
      description: Must be `application/json`.
      required: true
      schema:
        type: string
        enum:
          - application/json
        default: application/json
    recording_id_param:
      in: path
      name: id
      required: true
      description: >-
        The recording's `id` (UUID) or its `public_link_id` (the short code in
        the watch URL). Both are accepted.
      schema:
        type: string
  schemas:
    recording:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the recording.
        title:
          type: string
          nullable: true
          description: Custom title set by the user.
        default_title:
          type: string
          description: Auto-generated title for the recording.
        duration:
          type: number
          nullable: true
          description: Duration of the recording in seconds.
        view_count:
          type: integer
          description: Number of times the recording has been viewed.
        is_uploaded:
          type: boolean
          description: Whether the recording has been fully uploaded.
        requested:
          type: boolean
          description: Whether the recording was requested from someone.
        summary:
          type: string
          nullable: true
          description: AI-generated summary of the recording.
        public_link_id:
          type: string
          nullable: true
          description: Public link identifier used in the watch URL.
        public_url:
          type: string
          nullable: true
          description: Public watch URL for the recording.
        transcoded_url:
          type: string
          nullable: true
          description: CloudFront signed URL for the transcoded video.
        thumbnail_url:
          type: string
          nullable: true
          description: URL for the recording thumbnail image.
        user_name:
          type: string
          description: Display name of the user who created the recording.
        tags:
          type: array
          items:
            $ref: '#/components/schemas/tag'
          description: Tags associated with the recording.
        folder_name:
          type: string
          nullable: true
          description: Name of the folder containing the recording.
        folder_id:
          type: string
          nullable: true
          description: Unique identifier of the folder containing the recording.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the recording was created.
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the recording was last updated.
        uploaded_at:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when the recording was uploaded.
    error:
      type: object
      properties:
        error:
          type: string
          description: A human readable error message.
    tag:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the tag.
        name:
          type: string
          description: Name of the tag.
        style:
          type: string
          description: Style/color of the tag.
  responses:
    recording_not_found:
      description: The recording does not exist in this workspace.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: Recording does not exist.

````