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

# Start Recording on the channel.

> Starts a recording on the channel. The channel must be in the ACTIVE status.



## OpenAPI

````yaml /capture/api-spec/openapi.json put /{space_id}/channels/{channel_id}/recording/start
openapi: 3.1.3
info:
  title: UP.LiveCapture API Specification
  version: 1.0.0
  description: |
    Telestream UP.LiveCapture API Specification.

    REST surface for the UP.LiveCapture service: space-scoped recording
    channels that consume CHLS streams produced by UP.LiveSources, plus
    the scheduler used to drive cross-application events (recording
    starts/stops, auto-shutdown, etc.) on an RFC-5545 recurrence rule.

    Naming conventions follow the rest of the UP REST surface
    (snake_case path parameters, operation IDs, and JSON properties).
    Pagination is offset-based (`page`, `per_page`) returning a wrapper
    with the resource-named array plus `page_count` and `total_count`.

    > Live sources are managed through the separate **UP.LiveSources**
    > service at `/livesources/v1` and are organisation-scoped. A
    > channel references a source by its `source_id`.
  termsOfService: https://www.telestream.net/telestream-cloud/terms.htm
  contact:
    name: API Support
    url: https://www.telestream.com
    email: up@telestream.net
  license:
    name: Proprietary — Telestream
servers:
  - url: https://app.up.telestream.com/livecapture/v1
    description: Production
security:
  - BearerAuth: []
tags:
  - name: channel
    description: Operations related to recording channels
  - name: recording
    description: Operations related to channel recordings
  - name: event
    description: Operations related to scheduled events
  - name: access
    description: Operations related to access checks
paths:
  /{space_id}/channels/{channel_id}/recording/start:
    parameters:
      - $ref: '#/components/parameters/space_id'
      - $ref: '#/components/parameters/channel_id'
    put:
      tags:
        - channel
        - recording
      summary: Start Recording on the channel.
      description: >-
        Starts a recording on the channel. The channel must be in the ACTIVE
        status.
      operationId: start_channel_recording
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Recording'
          description: Recording started (or scheduled to start).
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/Unprocessable'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - BearerAuth:
            - livecapture:channel:channel-management
components:
  parameters:
    space_id:
      name: space_id
      description: UP Space Id
      schema:
        type: string
        format: uuid
      in: path
      required: true
    channel_id:
      name: channel_id
      description: Unique identifier of a Channel
      schema:
        type: string
        format: uuid
      in: path
      required: true
  schemas:
    Recording:
      type: object
      required:
        - id
        - status
        - channel_id
      properties:
        id:
          type: string
          format: uuid
        channel_id:
          type: string
          format: uuid
          description: ID of the channel this recording belongs to.
        started_at:
          type:
            - string
            - 'null'
          format: date-time
        ended_at:
          type:
            - string
            - 'null'
          format: date-time
        status:
          $ref: '#/components/schemas/RecordingStatus'
        outputs:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/RecordingOutput'
    RecordingStatus:
      enum:
        - SCHEDULED
        - RECORDING
        - COMPLETE
        - FAILED
      type: string
      readOnly: true
    RecordingOutput:
      type: object
      required:
        - file_name
        - location_url
      properties:
        file_name:
          type: string
        format:
          type:
            - string
            - 'null'
        location_url:
          type: string
  responses:
    Unauthorized:
      content:
        application/json:
          schema:
            type: object
            properties:
              error_message:
                type: string
            examples:
              - error_message: You don't have permission to access this resource
      description: Not authorized
    NotFound:
      content:
        application/json:
          schema:
            type: object
            properties:
              error_message:
                type: string
            examples:
              - error_message: 404 Not found
      description: Item not found
    Unprocessable:
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: object
                additionalProperties:
                  type: string
            examples:
              - errors:
                  source_id: Source with given ID does not exist or is invalid
      description: Invalid options provided
    InternalError:
      content:
        application/json:
          schema:
            type: object
            properties:
              error_message:
                type: string
            examples:
              - error_message: 500 internal error
      description: 500 Internal error
  securitySchemes:
    BearerAuth:
      type: oauth2
      description: OAuth2 bearer token in the Authorization header
      flows:
        clientCredentials:
          tokenUrl: /auth/token
          scopes:
            livecapture:access: Validate that the token has access to LiveCapture in a space
            livecapture:channel:access: Read access to channels
            livecapture:channel:channel-management: Manage (create / update / delete / activate / record) channels
            livecapture:event:access: Read access to scheduled events
            livecapture:event:event-management: Manage (create / update / delete) scheduled events

````