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

# Create a recording request

> Creates a recording request and returns a URL to share with whoever will record the video. The request is created on behalf of an active member of the workspace, and it counts against that person's monthly recording limit.

<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/recording-requests.yaml POST /recording_requests
openapi: 3.0.3
info:
  title: NeetoRecord Recording Requests 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: Recording Requests
    description: APIs to ask someone to record and upload a video.
paths:
  /recording_requests:
    post:
      tags:
        - Recording Requests
      summary: Create a recording request
      description: >-
        Creates a recording request and returns a URL to share with whoever will
        record the video. The request is created on behalf of an active member
        of the workspace, and it counts against that person's monthly recording
        limit.
      parameters:
        - $ref: '#/components/parameters/api_key_header'
        - $ref: '#/components/parameters/accept_header'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - recording
              properties:
                recording:
                  type: object
                  required:
                    - title
                    - created_by_email
                  properties:
                    title:
                      type: string
                      description: Title of the requested recording.
                      example: Walk me through the billing bug
                    created_by_email:
                      type: string
                      format: email
                      description: >-
                        Email of the workspace member making the request. Must
                        belong to an active user in the workspace.
                      example: oliver@example.com
                    request_instructions:
                      type: string
                      description: >-
                        Instructions shown to the person who opens the request
                        link.
                      example: Start from the invoice list and reproduce the error.
                    request_notes:
                      type: string
                      description: >-
                        Private notes about the request, not shown to the
                        recipient.
                      example: Raised by support ticket 4821.
      responses:
        '201':
          description: The recording request was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/recording_request_create_response'
              example:
                recording_request:
                  id: 7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18
                  title: Walk me through the billing bug
                  request_url: >-
                    https://your-workspace.neetorecord.com/request/7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18
                  created_at: '2026-02-14T08:31:47.000Z'
        '403':
          description: The requester has reached their monthly recording limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              example:
                error: You have reached your limit of free recordings this month.
        '422':
          description: >-
            `title` or `created_by_email` is missing, or no active user matches
            the given email.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
              examples:
                missing_params:
                  summary: Required attributes missing
                  value:
                    error: Title and created_by_email are required.
                creator_not_found:
                  summary: No active user with that email
                  value:
                    error: Could not find active user with the specified email.
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
  schemas:
    recording_request_create_response:
      type: object
      properties:
        recording_request:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier for the requested recording.
              example: 7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18
            title:
              type: string
              description: Title of the requested recording.
              example: Walk me through the billing bug
            request_url:
              type: string
              description: >-
                URL to share with the person who will record and upload the
                video.
              example: >-
                https://your-workspace.neetorecord.com/request/7d2e5b90-1c34-4a68-b7f5-9e0a2c3d4b18
            created_at:
              type: string
              format: date-time
              description: Timestamp when the request was created.
              example: '2026-02-14T08:31:47.000Z'
    error:
      type: object
      properties:
        error:
          type: string
          description: A human readable error message.

````