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

# Projects API

Create, update, list, delete, and refresh projects.

Projects group demos for one product or website. They also own the signing secret used by trusted runtime embeds.

## Create project

```bash
curl -X POST https://littledemo.com/api/v1/projects \
  -H "Authorization: Bearer ld_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme App",
    "url": "https://app.acme.com",
    "viewport": "desktop"
  }'
```

## List projects

```bash
curl https://littledemo.com/api/v1/projects \
  -H "Authorization: Bearer ld_live_xxx"
```

## Get project

```bash
curl https://littledemo.com/api/v1/projects/proj_abc123 \
  -H "Authorization: Bearer ld_live_xxx"
```

## Refresh project demos

```bash
curl -X POST https://littledemo.com/api/v1/projects/proj_abc123/refresh \
  -H "Authorization: Bearer ld_live_xxx"
```

Project refresh queues ready generated demos. Uploaded local recordings are skipped because they cannot be re-recorded from a URL and prompt.

## Signing secret

Project creation returns `signing_secret` once. Store it server-side when you need signed iframe URLs.

Reveal the current secret:

```bash
curl https://littledemo.com/api/v1/projects/proj_abc123/signing-secret \
  -H "Authorization: Bearer ld_live_xxx"
```

Rotate it after exposure:

```bash
curl -X POST https://littledemo.com/api/v1/projects/proj_abc123/signing-secret/rotate \
  -H "Authorization: Bearer ld_live_xxx"
```

For exact schemas, use the generated endpoint reference in the API tab.