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

# Check access

> Tells you whether the API key you presented may perform an action. A valid key whose permission could be checked is always answered 200: a false answer is the answer, not a refusal.



## OpenAPI

````yaml https://api.up.telestream.com/livesources/v1/openapi.json get /access_check
openapi: 3.1.0
info:
  contact:
    email: cloudsupport@telestream.net
    name: API Support
    url: https://www.telestream.com
  description: >-
    Programmatic access to live sources: the SRT streams the platform ingests
    for you.

    Compatibility. Within a version we only add: new endpoints, new optional
    request fields and new optional response fields, and new problem types.
    Clients must ignore response fields and problem types they do not recognise,
    and fall back to the HTTP status class for an unrecognised problem type.
    Anything else - removing or renaming a field, narrowing a type, requiring a
    previously optional field, a new enum value in a response, or changing the
    status for an existing condition - arrives as a new major version under a
    new path.

    A version stays available until it is retired. A retired operation answers
    410 Gone with the operation-retired problem type; a retirement is announced
    when it is decided rather than on a fixed schedule.
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: https://www.telestream.net/telestream-cloud/terms.htm
  title: Telestream Live Sources API
  version: 1.0.0
servers:
  - url: https://api.up.telestream.com/livesources/v1
security:
  - apiKey: []
tags:
  - description: What the presented API key may do.
    name: Access
  - description: Live sources and their ingest lifecycle.
    name: Sources
paths:
  /access_check:
    get:
      tags:
        - Access
      summary: Check access
      description: >-
        Tells you whether the API key you presented may perform an action. A
        valid key whose permission could be checked is always answered 200: a
        false answer is the answer, not a refusal.
      operationId: CheckAccess
      parameters:
        - description: The action to check; the everyday access to sources when omitted.
          in: query
          name: action
          schema:
            $ref: '#/components/schemas/AccessAction'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessCheck'
          description: Whether the key may perform the action.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  schemas:
    AccessAction:
      description: An action an API key may be permitted to perform.
      enum:
        - livesources:access
        - livesources:source-management
        - livesources:admin
      type: string
    AccessCheck:
      properties:
        has_access:
          description: Whether the presented API key may perform the action.
          example: true
          type: boolean
      required:
        - has_access
      type: object
    Problem:
      description: An RFC 9457 problem document.
      properties:
        detail:
          description: >-
            What went wrong this time, in words meant for a person. Branch on
            `type` rather than parsing it.
          type: string
        instance:
          description: The request path the problem occurred on.
          type: string
        status:
          description: >-
            The HTTP status code, repeated so a logged payload is
            self-describing.
          type: integer
        title:
          description: A short, stable summary of the problem type.
          type: string
        trace_id:
          description: Correlates this response with the server-side logs.
          type: string
        type:
          description: >-
            Identifies the kind of problem. Branch on this rather than on the
            message.
          type: string
      required:
        - type
        - title
        - status
      type: object
  responses:
    BadRequest:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
      description: The request could not be understood.
    Unauthorized:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
      description: The request carries no usable API key.
      headers:
        WWW-Authenticate:
          description: The scheme to present a key with.
          schema:
            type: string
    InternalError:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
      description: The request could not be completed.
    ServiceUnavailable:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
      description: A transient condition prevented the request; it is worth retrying.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
  securitySchemes:
    apiKey:
      description: >-
        A platform API key, presented as `Authorization: Bearer <API_KEY>`. Each
        operation says which permission the key needs.
      scheme: bearer
      type: http

````

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