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

# Poll generation progress

HTTP fallback for generation progress. The dashboard normally uses /api/ws/{demoId}; this endpoint returns the current generation state.

` GET /api/progress/{demoId} `

Poll generation progress

HTTP fallback for generation progress. The dashboard normally uses /api/ws/{demoId}; this endpoint returns the current generation state.

## Servers

- ` https://littledemo.com ` — Production

## Parameters

### ` demoId ` (path, required)

- ` value `: type ` string `

## Responses

### ` 200 ` — Progress state

Content type: ` application/json `

- ` value `: type ` object `

  - Required fields: ` events `, ` startedAt `

  - ` events `: type ` array `

    - ` array item `: type ` object `

      - Required fields: ` step `, ` message `, ` timestamp `

      - ` step `: type ` string `

      - ` message `: type ` string `

      - ` detail `: type ` string `

      - ` progress `: type ` number `

      - ` elapsed `: type ` number `

      - ` videoUrl `: type ` string `

      - ` timestamp `: type ` number `

  - ` startedAt `: type ` number `; nullable

## Request examples

### cURL

```curl
curl -X GET 'https://littledemo.com/api/progress/string' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'
```

### JavaScript

```javascript
const response = await fetch('https://littledemo.com/api/progress/string', {
  method: 'GET',
  headers: {
      "Authorization": "Bearer YOUR_API_TOKEN"
  }
});

const data = await response.json();
console.log(data);
```

### Python

```python
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_TOKEN'
}

response = requests.get('https://littledemo.com/api/progress/string', headers=headers)
print(response.json())
```