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

# List videos

> The workspace's videos, newest first, including ones made in the dashboard or by a posting schedule. Filter by `status`; page with `meta.cursor`. Free.



## OpenAPI

````yaml /openapi.json get /v1/videos
openapi: 3.1.0
info:
  title: LumisReach v1 API
  version: 1.0.0
  description: >-
    Programmatic access to the LumisReach voice platform — calls, numbers,
    caller trust, and brands.
  contact:
    name: LumisReach
    email: founders@lumisreach.com
servers:
  - url: https://api.lumisreach.com/api
security:
  - bearerAuth: []
tags:
  - name: Phone Numbers
  - name: Caller IDs
  - name: Enterprise Registration
  - name: Branded Calling
  - name: Calls
  - name: SMS
  - name: WebRTC
  - name: Reputation
  - name: Usage
  - name: Account
  - name: Billing
  - name: Conversation History
  - name: Documents
  - name: Lincoln AI
  - name: Quick Agent Actions
  - name: Sub-entities
  - name: Video schedules
  - name: Videos
paths:
  /v1/videos:
    get:
      tags:
        - Videos
      summary: List videos
      description: >-
        The workspace's videos, newest first, including ones made in the
        dashboard or by a posting schedule. Filter by `status`; page with
        `meta.cursor`. Free.
      operationId: v1_videos_get
      parameters:
        - name: limit
          in: query
          required: true
          schema:
            default: 20
            type: integer
            minimum: 1
            maximum: 100
        - name: cursor
          in: query
          required: false
          schema:
            description: '`meta.cursor` from the previous page'
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
        - name: status
          in: query
          required: false
          schema:
            description: Only videos in this status
            type: string
            enum:
              - unsubmitted
              - queued
              - researching
              - script_review
              - rendering
              - compositing
              - ready
              - failed
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $schema: http://json-schema.org/draft-07/schema#
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                        title:
                          type: string
                        status:
                          type: string
                          enum:
                            - unsubmitted
                            - queued
                            - researching
                            - script_review
                            - rendering
                            - compositing
                            - ready
                            - failed
                          description: >-
                            `queued` → `researching` → `script_review` (waiting
                            for approval) → `rendering` → `compositing` →
                            `ready`, or `failed`. `unsubmitted` is a draft saved
                            in the dashboard.
                        template:
                          type: string
                          enum:
                            - talking_avatar
                            - remotion
                            - freeform_ai
                            - meme_hook
                            - interview
                            - phone_mockup
                            - slideshow
                            - real_footage
                        preset:
                          type:
                            - string
                            - 'null'
                        format:
                          type: string
                          enum:
                            - vertical
                            - horizontal
                        duration_seconds:
                          type:
                            - number
                            - 'null'
                        video_url:
                          anyOf:
                            - type: string
                              format: uri
                            - type: 'null'
                          description: >-
                            The finished MP4, once `ready`. A signed link that
                            needs no API key, safe to hand to other services.
                        thumbnail_url:
                          anyOf:
                            - type: string
                              format: uri
                            - type: 'null'
                        billed_cents:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                          description: >-
                            What the video was charged, once, when it was
                            released to render. Null until then.
                        error:
                          description: >-
                            Why it failed, or (in `script_review`) why an
                            automatic approval was held back
                          type:
                            - string
                            - 'null'
                        created_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                        updated_at:
                          type: string
                          format: date-time
                          pattern: >-
                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                        posts:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              provider:
                                type: string
                                enum:
                                  - tiktok
                                  - instagram
                                  - facebook
                                  - x
                                  - linkedin
                              status:
                                type: string
                                enum:
                                  - scheduled
                                  - pending
                                  - publishing
                                  - published
                                  - failed
                                  - canceled
                              media_type:
                                type: string
                                enum:
                                  - video
                                  - carousel
                              permalink:
                                type:
                                  - string
                                  - 'null'
                              scheduled_for:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                  - type: 'null'
                              published_at:
                                anyOf:
                                  - type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                                  - type: 'null'
                              error:
                                type:
                                  - string
                                  - 'null'
                            required:
                              - id
                              - provider
                              - status
                              - media_type
                              - permalink
                              - scheduled_for
                              - published_at
                              - error
                            additionalProperties: false
                      required:
                        - id
                        - title
                        - status
                        - template
                        - preset
                        - format
                        - duration_seconds
                        - video_url
                        - thumbnail_url
                        - billed_cents
                        - error
                        - created_at
                        - updated_at
                        - posts
                      additionalProperties: false
                  meta:
                    type: object
                    properties:
                      cursor:
                        type: string
                      page_size:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - page_size
                    additionalProperties: false
                required:
                  - data
                  - meta
                additionalProperties: false
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '409':
          description: Conflict (incl. idempotency conflicts)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: Rate limited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    ErrorEnvelope:
      type: object
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
            fields:
              type: object
              additionalProperties:
                type: string
            doc_url:
              type: string
              format: uri
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````