Projects
Manage project scopes, defaults, brand context, and signing secrets.
Projects organize captures and hold signing secrets for signed URLs.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /v1/projects | List projects. |
POST | /v1/projects | Create a project. |
GET | /v1/projects/{id} | Get one project. |
PATCH | /v1/projects/{id} | Update name or domain. |
POST | /v1/projects/{id}/default | Make project default. |
GET | /v1/projects/{id}/signing-secret | Reveal signing secret. |
POST | /v1/projects/{id}/signing-secret/rotate | Rotate signing secret. |
POST | /v1/projects/{id}/brand/refresh | Refresh project brand context. |
GET | /v1/projects/{id}/brand/status | Check brand status. |
Create project
bashcurl -X POST "https://screenframed.com/v1/projects" \ -H "Authorization: Bearer $SCREENFRAMED_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "domain": "example.com", "name": "Example marketing site", "make_default": true }'
json{ "project": { "id": "prj_01K...", "name": "Example marketing site", "domain": "example.com", "brand": null, "brand_status": "pending", "brand_error": null, "is_default": true, "created_at": "2026-04-27 15:00:00", "updated_at": "2026-04-27 15:00:00" }, "signing_secret": "..."}
Signed URLs
Use /v1/projects/{id}/signing-secret to read the current secret and /rotate to replace it. See Signed URLs.
Signing secrets should only be used from your backend. Rotate immediately if a secret is exposed.