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

# List Videos

> Retrieve all saved videos for your account.

Fetch every saved video in your account. Each video object includes a pre-signed URL you can use to stream or download the file.

## Endpoint

```
GET /v1/videos
```

## Authentication

Pass your API key as a Bearer token in the `Authorization` header.

<ParamField header="Authorization" type="string" required>
  Your API key. Format: `Bearer <api_key>`.
</ParamField>

## Response

<ResponseField name="data" type="object" required>
  <Expandable title="properties" defaultOpen>
    <ResponseField name="videos" type="object[]" required>
      Array of video objects. Empty array when no videos are saved.

      <Expandable title="video properties">
        <ResponseField name="id" type="number" required>
          Unique video identifier.
        </ResponseField>

        <ResponseField name="domain_id" type="number" required>
          ID of the domain this video was generated for.
        </ResponseField>

        <ResponseField name="filename" type="string" required>
          Human-readable name of the video.
        </ResponseField>

        <ResponseField name="url" type="string" required>
          Pre-signed URL to stream or download the video file.
        </ResponseField>

        <ResponseField name="created_at" type="string" required>
          ISO 8601 timestamp when the video was created.
        </ResponseField>

        <ResponseField name="updated_at" type="string" required>
          ISO 8601 timestamp when the video was last updated.
        </ResponseField>

        <ResponseField name="size" type="number" required>
          File size in bytes.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<Note>
  The `url` field is a pre-signed URL valid for a limited time. If the URL expires, re-fetch the video to get a fresh one.
</Note>

## Examples

<CodeGroup>
  ```bash curl theme={null}
  curl --request GET \
    --url https://api.demomatic.tech/v1/videos \
    --header 'Authorization: Bearer YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.demomatic.tech/v1/videos', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
    },
  });

  const { data } = await response.json();
  console.log(data.videos);
  ```
</CodeGroup>

### Response

```json 200 theme={null}
{
  "data": {
    "videos": [
      {
        "id": 123,
        "domain_id": 45,
        "filename": "Product Tour Q1 2024",
        "url": "https://signed-url.example.com/video.mp4",
        "created_at": "2024-01-15T10:00:00.000Z",
        "updated_at": "2024-01-15T10:05:00.000Z",
        "size": 15728640
      }
    ]
  }
}
```
