# List your remakes

> Your remakes, newest first, each with its status, its shots as they build and its project link.

### GET /v1/remakes

**List your remakes**

Your remakes, newest first, each with its status, its shots as they build and its project link.

Auth: `Authorization: Bearer rl_live_...` with the `remake` scope.

Parameters:

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | integer | no |  |

Responses:

| Status | Meaning |
| --- | --- |
| 200 | Your remakes, newest first. |
| 400 | Invalid request. |
| 401 | Missing, invalid or revoked key. |
| 403 | The key lacks the scope, or the key's owner has view-only access to the workspace (code `forbidden`). |
| 404 | Not found. |
| 429 | Rate limited, or a monthly cap reached. |

Response body (200):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `remakes` | object[] | yes |  |
| `remakes[].id` | uuid | yes |  |
| `remakes[].status` | enum | yes | The furthest stage reached: studying (the study runs on your machine), building (shots land in the project as they are built; overlaps studying), polishing (the film-wide pass), needs_repair (the CLI is running the repair session), then done, failed or canceled. New values may be added; treat unknown ones as opaque. One of: `studying`, `building`, `polishing`, `needs_repair`, `done`, `failed`, `canceled`. |
| `remakes[].projectId` | uuid \| null | yes |  |
| `remakes[].projectUrl` | url \| null | yes |  |
| `remakes[].shots` | object[] | yes |  |
| `remakes[].shots[].index` | integer | yes |  |
| `remakes[].shots[].startMs` | number | yes |  |
| `remakes[].shots[].durationMs` | number | yes |  |
| `remakes[].shots[].state` | enum | yes | One of: `skeleton`, `building`, `built`, `failed`. |
| `remakes[].repair` | object \| null | yes |  |
| `remakes[].repair.requested` | boolean | yes |  |
| `remakes[].repair.uncovered` | object[] | yes |  |
| `remakes[].repair.uncovered[].segmentId` | string | yes |  |
| `remakes[].repair.uncovered[].firstMs` | number | yes |  |
| `remakes[].repair.uncovered[].lastMs` | number | yes |  |
| `remakes[].repair.uncovered[].box` | object | yes |  |
| `remakes[].repair.uncovered[].box.x` | number | yes |  |
| `remakes[].repair.uncovered[].box.y` | number | yes |  |
| `remakes[].repair.uncovered[].box.w` | number | yes |  |
| `remakes[].repair.uncovered[].box.h` | number | yes |  |
| `remakes[].repair.uncovered[].samples` | integer | yes |  |
| `remakes[].report` | object \| null | yes |  |
| `remakes[].report.glitches` | any[] | yes |  |
| `remakes[].report.gaps` | any[] | yes |  |
| `remakes[].report.notes` | string[] | yes |  |
| `remakes[].error` | string \| null | yes |  |
| `remakes[].errorCode` | enum \| null | yes | One of: `cli_stopped`, `tab_lost`, `study_error`, `build_error`. |
| `remakes[].libraryEligible` | boolean | yes | Whether this remake (the video, the study and the plan applied) may feed Raylight's motion library. False once the owner or the workspace turns data sharing off (Settings, Improve Raylight); that switch is the only opt-out. |
| `remakes[].source` | object | yes |  |
| `remakes[].source.fileName` | string | yes |  |
| `remakes[].source.durationMs` | integer | yes |  |
| `remakes[].source.width` | integer | yes |  |
| `remakes[].source.height` | integer | yes |  |
| `remakes[].source.fps` | number | yes |  |
| `remakes[].agent` | enum | yes | One of: `claude`, `codex`. |
| `remakes[].builder` | object | yes |  |
| `remakes[].builder.attached` | boolean | yes |  |
| `remakes[].builder.lastSeenAt` | string \| null | yes |  |
| `remakes[].createdAt` | string | yes |  |
| `remakes[].updatedAt` | string | yes |  |

Example (curl):

```bash
curl https://api.raylight.app/v1/remakes \
  -H "Authorization: Bearer $RAYLIGHT_API_KEY"
```

## More

- Previous: [Read a render](https://www.raylight.app/docs/reference/get-v1-renders-id.md)
- Next: [Start a remake](https://www.raylight.app/docs/reference/post-v1-remakes.md)
- All docs: https://www.raylight.app/llms.txt
- Everything in one file: https://www.raylight.app/llms-full.txt
- OpenAPI: https://api.raylight.app/v1/openapi.json
