Media
Create a browser upload session
Returns a hosted upload URL for the user to open in a browser. Poll GET /v1/media/upload-sessions/{id} until status is completed, then use the returned file URLs in a post.
Required permission: `media:write`
Accepts `profileId` to target a specific profile. Omit it to use the key’s home profile.
POST
/v1/media/upload-sessionsmedia:writeRequest
Authorization
Send your API key as a Bearer token in the Authorization header.
Request body
profileIdstringoptionalProfile to act on. Defaults to the profile the API key was created in.
Response
Returns 201.
idstringrequireduploadUrlstringrequiredexpiresAtstringrequiredISO 8601 datetime, for example 2026-08-01T12:00:00Z.
statusenumrequiredOne of:pendingcompletedexpired
Errors
Failures use the standard error format.
| Status | Code | When it happens |
|---|---|---|
| 401 | invalid_api_key | The key does not exist, was revoked, or is malformed. Keys start with cdyn_live_. |
| 403 | profile_not_accessible | The requested profile is outside this key’s scope, or belongs to another account. |
| 429 | rate_limit_exceeded | Too many requests for this key. Honour the Retry-After header before retrying. |
| 500 | internal_error | Something failed on our side. Retry with the same Idempotency-Key; report the requestId if it persists. |