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

# Returns information about the channel with the specified identifier.



## OpenAPI

````yaml /capture/api-spec/openapi.json get /{space_id}/channels/{channel_id}
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}:
    parameters:
      - $ref: '#/components/parameters/space_id'
      - $ref: '#/components/parameters/channel_id'
    get:
      tags:
        - channel
      summary: Returns information about the channel with the specified identifier.
      operationId: get_channel
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
          description: Get particular Channel Details
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - BearerAuth:
            - livecapture:channel:access
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:
    Channel:
      type: object
      required:
        - id
        - name
        - description
        - source_id
        - status
        - continuous_recording
        - expected_properties
        - pinned
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          examples:
            - e3c908ad-dc8f-4edb-88f7-c84dec0aef99
        name:
          type: string
          examples:
            - CNN East Recorder
        description:
          type: string
        source_id:
          type: string
          format: uuid
          description: >-
            ID of the live source (managed by UP.LiveSources) this channel
            records from.
        status:
          $ref: '#/components/schemas/ChannelStatus'
        activated_at:
          type:
            - string
            - 'null'
          format: date-time
          readOnly: true
        auto_shutdown:
          $ref: '#/components/schemas/AutoShutdown'
        continuous_recording:
          type: boolean
        recording_duration:
          type:
            - integer
            - 'null'
          description: >-
            Hours of available recorded window when `continuous_recording` is
            true.
        expected_properties:
          type: string
          description: Expected stream-properties config as a JSON string.
        pinned:
          type: boolean
        recording:
          $ref: '#/components/schemas/Recording'
        recording_settings:
          $ref: '#/components/schemas/RecordingSettings'
        recording_trigger:
          $ref: '#/components/schemas/RecordingTrigger'
        region:
          type:
            - string
            - 'null'
        errors:
          type:
            - array
            - 'null'
          items:
            type: string
        tags:
          type:
            - array
            - 'null'
          items:
            type: string
        created_at:
          format: date-time
          type: string
          readOnly: true
          examples:
            - '2025-04-21T15:53:12.388317Z'
        updated_at:
          format: date-time
          type: string
          readOnly: true
          examples:
            - '2025-04-22T15:53:12.182617Z'
    ChannelStatus:
      enum:
        - DRAFT
        - INACTIVE
        - PENDING
        - ACTIVE
        - RECORDING
        - FINISHING_RECORDING
        - ERROR
      type: string
      readOnly: true
    AutoShutdown:
      type: object
      required:
        - enabled
      properties:
        enabled:
          type: boolean
        no_recording_timeout:
          description: Minutes since last recording before auto-deactivation.
          type:
            - integer
            - 'null'
        no_stream_timeout:
          description: Minutes without a stream before auto-deactivation.
          type:
            - integer
            - 'null'
    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'
    RecordingSettings:
      type: object
      required:
        - engine_version
        - settings
      properties:
        engine_version:
          type: string
          description: >-
            `major.minor.patch`. Each engine version defines its own settings
            JSON shape.
        settings:
          type: string
          description: Engine-specific recording settings as a JSON string.
    RecordingTrigger:
      type: object
      required:
        - recording_trigger
      properties:
        recording_trigger:
          type: boolean
          description: Whether trigger-based recording is enabled.
        trigger_start_type:
          $ref: '#/components/schemas/RecordingStartTriggerType'
        trigger_stop_type:
          $ref: '#/components/schemas/RecordingStopTriggerType'
    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
    RecordingStartTriggerType:
      enum:
        - PROGRAM_START
        - BREAK_START
      type: string
    RecordingStopTriggerType:
      enum:
        - PROGRAM_END
        - BREAK_END
      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
    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

````