{"openapi":"3.0.2","paths":{"/recordings":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nPaginated list of recordings visible in the workspace. Use `list=owned|watched|shared` to choose the list. `search` is supported only for `list=owned`. Owned items include all-time viewership counts (visits and plays, total and unique, aggregated across versions).","summary":"List recordings","tags":["REST API"],"parameters":[{"name":"list","in":"query","schema":{"type":"string","enum":["owned","watched","shared"]}},{"name":"search","in":"query","schema":{"type":"string","maxLength":100}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50}}],"operationId":"recordings.list","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"created_at":{"type":"string"},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"workspace_safename":{"type":"string"},"last_watched_at":{"type":"string"},"analytics":{"type":"object","properties":{"visits":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"plays":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false}},"required":["visits","plays"],"additionalProperties":false}},"required":["public_id","link","title","created_at","duration_ms","workspace_safename"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"string","nullable":true}]}},"required":["items","next_cursor"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/search":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nSearch recordings in the personal-token caller's workspace by meaning or keyword. Matches recording titles and AI summaries and returns only the recordings the caller can see, best match first. An empty results page with a non-null next_cursor is not the end: keep paging with the cursor.","summary":"Search recordings","tags":["REST API"],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50}}],"operationId":"recordings.search","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"created_at":{"type":"string"},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"snippet":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","link","title","created_at","duration_ms","snippet"],"additionalProperties":false}},"workspace_safename":{"type":"string"},"next_cursor":{"anyOf":[{"type":"string","nullable":true}]}},"required":["results","workspace_safename","next_cursor"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns metadata (title, owner, duration, processing status, created date, public link and workspace access) for a single recording the token can access. Includes all-time viewership counts (visits and plays, total and unique, aggregated across versions) when the caller has analytics access.","summary":"Get a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.get","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"status":{"type":"string","enum":["pending","processing","completed","failed"],"description":"`pending` and `processing` are not final; `completed` and `failed` are."},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"created_at":{"type":"string"},"owner":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false},"analytics":{"type":"object","properties":{"visits":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"plays":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false}},"required":["visits","plays"],"additionalProperties":false},"summary":{"anyOf":[{"type":"string","nullable":true}]},"chapters":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"summary":{"type":"string"},"start_ms":{"type":"number"}},"required":["title","summary","start_ms"],"additionalProperties":false}},"public_link":{"anyOf":[{"type":"string","nullable":true}],"description":"The recording's `link` while its public link is on, otherwise null. Anyone with it can watch the recording while the link is on, unless the recording has a password."},"public_link_expires_at":{"anyOf":[{"type":"string","nullable":true}],"description":"When the public link turns itself off, or null when it does not expire or is off."},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEW","EDIT","FULL_ACCESS"],"nullable":true}],"description":"What everyone in the workspace can do with the recording (\"General access\"), or null when it is not shared with the workspace."}},"required":["public_id","link","title","status","duration_ms","created_at","owner","summary","chapters","public_link","public_link_expires_at","workspace_access"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]},"patch":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nChanges a recording's title or summary, for example to replace an AI-generated title. Requires edit access to the recording. Each version of a recording keeps its own title and summary, so the change applies only to the version the ID points to. A summary can be replaced only once processing has generated one; before that it returns 409.","summary":"Update a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.update","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":112},"summary":{"type":"string","minLength":1,"maxLength":750}},"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"status":{"type":"string","enum":["pending","processing","completed","failed"],"description":"`pending` and `processing` are not final; `completed` and `failed` are."},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"created_at":{"type":"string"},"owner":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false},"analytics":{"type":"object","properties":{"visits":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"plays":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false}},"required":["visits","plays"],"additionalProperties":false},"summary":{"anyOf":[{"type":"string","nullable":true}]},"chapters":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"summary":{"type":"string"},"start_ms":{"type":"number"}},"required":["title","summary","start_ms"],"additionalProperties":false}},"public_link":{"anyOf":[{"type":"string","nullable":true}],"description":"The recording's `link` while its public link is on, otherwise null. Anyone with it can watch the recording while the link is on, unless the recording has a password."},"public_link_expires_at":{"anyOf":[{"type":"string","nullable":true}],"description":"When the public link turns itself off, or null when it does not expire or is off."},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEW","EDIT","FULL_ACCESS"],"nullable":true}],"description":"What everyone in the workspace can do with the recording (\"General access\"), or null when it is not shared with the workspace."}},"required":["public_id","link","title","status","duration_ms","created_at","owner","summary","chapters","public_link","public_link_expires_at","workspace_access"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/transcript":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns the full transcript when it is available; otherwise returns a status.","summary":"Get a recording transcript","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.getTranscript","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["completed"]},"language":{"anyOf":[{"type":"string","nullable":true}]},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"sentences":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"start":{"type":"number"},"end":{"type":"number"}},"required":["text","start","end"],"additionalProperties":false}}},"required":["public_id","status","language","duration_ms","sentences"],"additionalProperties":false},{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["pending","processing","failed","unavailable"],"description":"`pending` and `processing` are not final. `failed` and `unavailable` are final; `unavailable` means the recording has no transcript (for example, it has no audio)."}},"required":["public_id","status"],"additionalProperties":false}]}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/frame":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns a signed URL for a video frame at the requested timestamp. Defaults to the composed `screen_and_camera` frame; pass `source` to read the screen or camera track on its own. Requesting a source the recording does not have returns a 404 listing the ones it does. If the recording is still processing, returns the public processing status instead.","summary":"Get a recording frame image URL","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"time_ms","in":"query","schema":{"type":"number"}},{"name":"time","in":"query","description":"Deprecated: use `time_ms`. Frame timestamp in seconds (decimals allowed). Ignored when `time_ms` is present.","schema":{"deprecated":true,"type":"number"}},{"name":"quality","in":"query","schema":{"type":"string","enum":["uhd","qhd","fhd","hd","sd"]}},{"name":"source","in":"query","schema":{"type":"string","enum":["screen","camera","screen_and_camera"]}}],"operationId":"recordings.getFrame","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"}},"required":["public_id","status","url"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/reactions":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns raw emoji reactions placed directly on the recording timeline. Reactions are ordered by `timestamp_ms` and include the matching transcript sentence when available.","summary":"List timeline reactions for a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.listReactions","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"reactions":{"type":"array","items":{"type":"object","properties":{"emoji":{"type":"string"},"timestamp_ms":{"type":"number"},"transcript_reference":{"anyOf":[{"type":"string","nullable":true}]},"user":{"anyOf":[{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false,"nullable":true}],"description":"Null for a deleted user."},"id":{"type":"string"},"user_name":{"type":"string","deprecated":true,"description":"Deprecated: use `user.name`."},"user_avatar_url":{"anyOf":[{"type":"string","nullable":true}],"deprecated":true,"description":"Deprecated: use `user.avatar_url`."}},"required":["emoji","timestamp_ms","transcript_reference","user","id","user_name","user_avatar_url"],"additionalProperties":false}}},"required":["public_id","reactions"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/download":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a signed URL for the merged, rendered video — the same artifact the Supercut dashboard's Download action produces. Always the recording's live version: the `public_id` of any older edit resolves to the current one, and the response's `public_id` is the version served. If the file has not been produced yet the merge is started and 202 is returned — poll until 200. A 409 means the recording can never produce one. The raw screen and camera captures are not offered here; see the raw asset endpoints. Requires a personal token, access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the video-download plan feature on the recording's workspace; `skip_outro` also needs the download-options feature.","summary":"Get a download URL for the recording video","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"skip_outro","in":"query","schema":{"type":"boolean"}}],"operationId":"recordings.downloadRecording","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"}},"required":["public_id","status","url"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"202":{"description":"202","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["preparing"]},"message":{"type":"string"}},"required":["public_id","status","message"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReports the status of every raw asset of a recording, keyed by type (`screen`, `camera`, `microphone_audio`, `system_audio`, `aligned_transcription`, `mouse_events`, `keyboard_events`), so a client does not have to probe each one. An entry is `ready` (the file exists, with its size and the path to fetch it), `processing` (still being produced; poll), `requires_processing` (screen and camera are merged on first request, which returns 202 until done) or `unavailable` (with the reason it will never exist). If the recording is still processing or its processing failed, returns the public processing status instead of a manifest; the mouse and keyboard captures are written at capture time and can still be fetched directly on a failed recording. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"List raw assets available for a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.getAssets","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["completed"]},"assets":{"type":"object","properties":{"screen":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]},"camera":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]},"microphone_audio":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]},"system_audio":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]},"aligned_transcription":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]},"mouse_events":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]},"keyboard_events":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["ready"]},"content_type":{"type":"string"},"path":{"type":"string"},"size_bytes":{"type":"number"},"updated_at":{"type":"string"}},"required":["status","content_type","path"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["requires_processing"]},"content_type":{"type":"string"},"path":{"type":"string"},"detail":{"type":"string"}},"required":["status","content_type","path","detail"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"content_type":{"type":"string"},"reason":{"type":"string"}},"required":["status","content_type","reason"],"additionalProperties":false}]}},"required":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"],"additionalProperties":false}},"required":["public_id","status","assets"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/screen":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a signed URL for the raw screen capture as MP4, merged from the source fragments rather than the rendered composite. This is the screen on its own, for clients that want to re-edit the recording themselves. If it has not been produced yet the merge is started and 202 is returned — poll until 200. A 409 means this recording has no screen stream. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get a download URL for the raw screen capture","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.downloadRecordingScreen","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"}},"required":["public_id","status","url"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"202":{"description":"202","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["preparing"]},"message":{"type":"string"}},"required":["public_id","status","message"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/camera":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a signed URL for the raw camera capture as MP4, merged from the source fragments rather than the rendered composite. This is the camera on its own, for clients that want to re-edit the recording themselves. If it has not been produced yet the merge is started and 202 is returned — poll until 200. A 409 means this recording has no camera stream. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get a download URL for the raw camera capture","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.downloadRecordingCamera","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"}},"required":["public_id","status","url"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"202":{"description":"202","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"status":{"type":"string","enum":["preparing"]},"message":{"type":"string"}},"required":["public_id","status","message"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/microphone-audio":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a short-lived signed URL for the recording's microphone track. Defaults to the processing level the recording itself plays with; pass `variant` to choose `original`, `normalised` or `denoised`. Returns the public processing status instead while the track is still being produced. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get the microphone audio asset","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"variant","in":"query","schema":{"type":"string","enum":["original","normalised","denoised"]}}],"operationId":"recordings.getMicrophoneAudio","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"},"content_type":{"type":"string"},"expires_in":{"type":"number"}},"required":["public_id","type","status","url","content_type","expires_in"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","type","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/system-audio":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a short-lived signed URL for the recording's captured system audio, the sound coming from the machine rather than the microphone. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get the system audio asset","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.getSystemAudio","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"},"content_type":{"type":"string"},"expires_in":{"type":"number"}},"required":["public_id","type","status","url","content_type","expires_in"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","type","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/aligned-transcription":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a short-lived signed URL for `aligned_transcription.json` — the force-aligned, word-level transcript. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get the aligned transcription asset","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.getAlignedTranscription","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"},"content_type":{"type":"string"},"expires_in":{"type":"number"}},"required":["public_id","type","status","url","content_type","expires_in"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","type","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/mouse-events":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a short-lived signed URL for `mouse_activity.csv` — pointer positions, cursor types and event timings captured during recording. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get the mouse activity asset","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.getMouseEvents","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"},"content_type":{"type":"string"},"expires_in":{"type":"number"}},"required":["public_id","type","status","url","content_type","expires_in"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","type","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/assets/keyboard-events":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns a short-lived signed URL for `keyboard_activity.csv` — typing-activity intervals (start, end, duration) captured during recording. Raw assets are always the original recording's captures: an edit's `public_id` resolves to the recording it was cut from, the edit's cuts are not applied, and the response's `public_id` is the original's. For the edited video use `/download`. Requires a personal token, edit access to the recording, the `recording:download` workspace capability (or ownership of the recording), and the raw-asset download plan feature on the recording's workspace.","summary":"Get the keyboard activity asset","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.getKeyboardEvents","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["completed"]},"url":{"type":"string"},"content_type":{"type":"string"},"expires_in":{"type":"number"}},"required":["public_id","type","status","url","content_type","expires_in"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"type":{"type":"string","enum":["screen","camera","microphone_audio","system_audio","aligned_transcription","mouse_events","keyboard_events"]},"status":{"type":"string","enum":["pending","processing","failed"]}},"required":["public_id","type","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}]}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/form-responses":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nReturns viewer form-response submissions for a recording. Requires full access to the recording.","summary":"List form responses for a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"operationId":"recordings.listFormResponses","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"type":{"type":"string","enum":["text","multiple_choice"]}},"required":["key","label","type"],"additionalProperties":false}},"responses":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"session_id":{"type":"string"},"viewer_id":{"type":"string"},"form_id":{"type":"string"},"created_at":{"type":"string"},"responses":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"x-propertyNames":{"type":"string"}}},"required":["id","session_id","viewer_id","form_id","created_at","responses"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","fields","responses","next_cursor"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/analytics":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns top-line viewership metrics: visit counts (total and unique), play counts (total and unique), and the overall engagement rate (average percent of the video watched). Requires access to the recording. Stats are aggregated across all versions. Optional `start`/`end` bound the reporting window; both default to all time.","summary":"Get viewership analytics for a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"start","in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},{"name":"end","in":"query","schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}}],"operationId":"recordings.getAnalytics","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"visits":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"plays":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"public_id":{"type":"string"},"engagement_rate":{"type":"number"}},"required":["visits","plays","public_id","engagement_rate"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/public-link":{"put":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nWith the public link on, anyone with the recording's URL can watch it without signing in, unless it has a password. Confirm with the user before enabling it. Enabling applies the workspace's default link expiry, if it has one, and the setting covers every version of the recording.","summary":"Turn a recording public link on or off","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.updatePublicLink","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"status":{"type":"string","enum":["pending","processing","completed","failed"],"description":"`pending` and `processing` are not final; `completed` and `failed` are."},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"created_at":{"type":"string"},"owner":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false},"analytics":{"type":"object","properties":{"visits":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"plays":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false}},"required":["visits","plays"],"additionalProperties":false},"summary":{"anyOf":[{"type":"string","nullable":true}]},"chapters":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"summary":{"type":"string"},"start_ms":{"type":"number"}},"required":["title","summary","start_ms"],"additionalProperties":false}},"public_link":{"anyOf":[{"type":"string","nullable":true}],"description":"The recording's `link` while its public link is on, otherwise null. Anyone with it can watch the recording while the link is on, unless the recording has a password."},"public_link_expires_at":{"anyOf":[{"type":"string","nullable":true}],"description":"When the public link turns itself off, or null when it does not expire or is off."},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEW","EDIT","FULL_ACCESS"],"nullable":true}],"description":"What everyone in the workspace can do with the recording (\"General access\"), or null when it is not shared with the workspace."}},"required":["public_id","link","title","status","duration_ms","created_at","owner","summary","chapters","public_link","public_link_expires_at","workspace_access"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/workspace-access":{"put":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nLets everyone in the workspace view a recording or have full access to it, or stops sharing it with the workspace. People and teams it is shared with individually keep their access, and the setting covers every version of the recording.","summary":"Share a recording with the workspace","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"recordings.updateWorkspaceAccess","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"access":{"anyOf":[{"type":"string","enum":["VIEW","FULL_ACCESS"],"nullable":true}]}},"required":["access"],"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"status":{"type":"string","enum":["pending","processing","completed","failed"],"description":"`pending` and `processing` are not final; `completed` and `failed` are."},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"created_at":{"type":"string"},"owner":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false},"analytics":{"type":"object","properties":{"visits":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false},"plays":{"type":"object","properties":{"total":{"type":"number"},"unique":{"type":"number"}},"required":["total","unique"],"additionalProperties":false}},"required":["visits","plays"],"additionalProperties":false},"summary":{"anyOf":[{"type":"string","nullable":true}]},"chapters":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"summary":{"type":"string"},"start_ms":{"type":"number"}},"required":["title","summary","start_ms"],"additionalProperties":false}},"public_link":{"anyOf":[{"type":"string","nullable":true}],"description":"The recording's `link` while its public link is on, otherwise null. Anyone with it can watch the recording while the link is on, unless the recording has a password."},"public_link_expires_at":{"anyOf":[{"type":"string","nullable":true}],"description":"When the public link turns itself off, or null when it does not expire or is off."},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEW","EDIT","FULL_ACCESS"],"nullable":true}],"description":"What everyone in the workspace can do with the recording (\"General access\"), or null when it is not shared with the workspace."}},"required":["public_id","link","title","status","duration_ms","created_at","owner","summary","chapters","public_link","public_link_expires_at","workspace_access"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/recordings/{public_id}/comments":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns a flat oldest-first list of top-level comments and replies for the recording, with their emoji reactions. Replies reference their parent comment via `parent_public_id`. Mentions in `content` read `@name`, and `mentions` lists who was mentioned.","summary":"List comments and replies for a recording","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"comments.list","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"comments":{"type":"array","items":{"type":"object","properties":{"public_id":{"type":"string","description":"This comment's public id, distinct from the list's recording `public_id`."},"parent_public_id":{"anyOf":[{"type":"string","nullable":true}],"description":"The parent comment's `public_id` for a reply, null for a top-level comment. The parent may be deleted and no longer listed."},"content":{"type":"string","description":"Comment text, with mentions as `@name`. `mentions` lists who was mentioned."},"mentions":{"type":"array","items":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false},"description":"Each mentioned user once, in order of first appearance. Deleted users are left out."},"timestamp_ms":{"type":"number"},"transcript_reference":{"anyOf":[{"type":"string","nullable":true}]},"user":{"anyOf":[{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false,"nullable":true}],"description":"The author. Null for a deleted user."},"reactions":{"type":"array","items":{"type":"object","properties":{"emoji":{"type":"string"},"user":{"anyOf":[{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]}},"required":["public_id","name","avatar_url"],"additionalProperties":false,"nullable":true}],"description":"Null for a deleted user."},"id":{"type":"string","deprecated":true,"description":"Deprecated: a comment reaction is identified by its comment, `user` and `emoji`."},"user_name":{"type":"string","deprecated":true,"description":"Deprecated: use `user.name`."},"user_avatar_url":{"anyOf":[{"type":"string","nullable":true}],"deprecated":true,"description":"Deprecated: use `user.avatar_url`."}},"required":["emoji","user","id","user_name","user_avatar_url"],"additionalProperties":false}},"attachments":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"thumbnail_url":{"type":"string"},"width":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"height":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"description":{"anyOf":[{"type":"string","nullable":true}]}},"required":["url","thumbnail_url","width","height","description"],"additionalProperties":false}},"id":{"type":"string","deprecated":true,"description":"Deprecated: use `public_id`."},"parent_id":{"anyOf":[{"type":"string","nullable":true}],"deprecated":true,"description":"Deprecated: use `parent_public_id`."},"user_name":{"type":"string","deprecated":true,"description":"Deprecated: use `user.name`."},"user_avatar_url":{"anyOf":[{"type":"string","nullable":true}],"deprecated":true,"description":"Deprecated: use `user.avatar_url`."}},"required":["public_id","parent_public_id","content","mentions","timestamp_ms","transcript_reference","user","reactions","attachments","id","parent_id","user_name","user_avatar_url"],"additionalProperties":false}}},"required":["public_id","comments"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nList stacks visible in the workspace. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"List stacks","tags":["REST API"],"parameters":[{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50}}],"operationId":"stacks.list","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"string","nullable":true}]}},"required":["items","next_cursor"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]},"post":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nCreates a playlist in the token's workspace, owned by the caller, and returns its public_id for adding recordings. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Create a playlist","tags":["REST API"],"parameters":[],"operationId":"stacks.create","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","maxLength":500}},"required":["name"],"additionalProperties":false}}}},"responses":{"201":{"description":"201","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks/{public_id}":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns a playlist the caller can view, including the teams and workspace members it is shared with and each one's access level. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Get stack metadata","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.get","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"},"teams":{"type":"array","items":{"type":"object","properties":{"team":{"type":"object","properties":{"public_id":{"type":"string"},"name":{"type":"string"}},"required":["public_id","name"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["team","access"],"additionalProperties":false}},"users":{"description":"Left out when the caller's workspace role can't list workspace members, since each entry carries an email.","type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]},"email":{"type":"string"}},"required":["public_id","name","avatar_url","email"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["user","access"],"additionalProperties":false}}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count","teams"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]},"patch":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nRenames a playlist or changes its description. Requires edit access to the playlist. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Update playlist details","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.update","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"description":{"anyOf":[{"type":"string","maxLength":500,"nullable":true}]}},"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]},"delete":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nDeletes a playlist. The recordings in it are kept; only the playlist is removed. This cannot be undone. Requires owner or admin access to the playlist. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Delete a playlist","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.delete","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"deleted":{"type":"boolean","enum":[true]}},"required":["public_id","deleted"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks/{public_id}/recordings":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nReturns recordings in a stack the caller can view. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"List stack recordings","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","schema":{"type":"number"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50}}],"operationId":"stacks.listRecordings","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The recording's page: on the workspace's custom domain when it has one, else on the Supercut app that served the response."},"title":{"type":"string"},"created_at":{"type":"string"},"duration_ms":{"anyOf":[{"type":"number","nullable":true}]},"workspace_safename":{"type":"string"},"position":{"type":"number"}},"required":["public_id","link","title","created_at","duration_ms","workspace_safename"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"number","nullable":true}]}},"required":["public_id","items","next_cursor"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]},"post":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nAdds an existing recording to a stack. Requires edit access to the stack and view access to the recording. Returns 409 if the recording is already in the stack. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Add a recording to a stack","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.addRecording","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"recording_public_id":{"type":"string"}},"required":["recording_public_id"],"additionalProperties":false}}}},"responses":{"201":{"description":"201","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"recording_public_id":{"type":"string"},"position":{"type":"number"}},"required":["public_id","recording_public_id","position"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks/{public_id}/recordings/{recording_public_id}":{"delete":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nRemoves a recording from a playlist without deleting the recording. Requires edit access to the playlist and access to the recording. Returns 404 if the recording is not in the playlist. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Remove a recording from a playlist","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"recording_public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.removeRecording","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"recording_public_id":{"type":"string"}},"required":["public_id","recording_public_id"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks/{public_id}/public-link":{"put":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nWith the public link on, anyone with the link can see the title and thumbnail of every recording in the playlist, though each recording still plays only for viewers its own sharing allows. Confirm with the user before enabling it. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Turn a playlist public link on or off","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.updatePublicLink","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"},"teams":{"type":"array","items":{"type":"object","properties":{"team":{"type":"object","properties":{"public_id":{"type":"string"},"name":{"type":"string"}},"required":["public_id","name"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["team","access"],"additionalProperties":false}},"users":{"description":"Left out when the caller's workspace role can't list workspace members, since each entry carries an email.","type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]},"email":{"type":"string"}},"required":["public_id","name","avatar_url","email"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["user","access"],"additionalProperties":false}}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count","teams"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks/{public_id}/workspace-access":{"put":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nLets everyone in the workspace view or edit a playlist, or stops sharing it with the workspace. People and teams it is shared with individually keep their access. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Share a playlist with the workspace","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.updateWorkspaceAccess","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]}},"required":["access"],"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"},"teams":{"type":"array","items":{"type":"object","properties":{"team":{"type":"object","properties":{"public_id":{"type":"string"},"name":{"type":"string"}},"required":["public_id","name"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["team","access"],"additionalProperties":false}},"users":{"description":"Left out when the caller's workspace role can't list workspace members, since each entry carries an email.","type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]},"email":{"type":"string"}},"required":["public_id","name","avatar_url","email"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["user","access"],"additionalProperties":false}}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count","teams"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/stacks/{public_id}/access/users/{user_public_id}":{"put":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nGives a workspace member viewer, editor or admin access to a playlist, or changes their level. They are notified the first time they are given access. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Set a person's access to a playlist","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"user_public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.updateUserAccess","requestBody":{"description":"Body","content":{"application/json":{"schema":{"type":"object","properties":{"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["access"],"additionalProperties":false}}}},"responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"},"teams":{"type":"array","items":{"type":"object","properties":{"team":{"type":"object","properties":{"public_id":{"type":"string"},"name":{"type":"string"}},"required":["public_id","name"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["team","access"],"additionalProperties":false}},"users":{"description":"Left out when the caller's workspace role can't list workspace members, since each entry carries an email.","type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]},"email":{"type":"string"}},"required":["public_id","name","avatar_url","email"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["user","access"],"additionalProperties":false}}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count","teams"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]},"delete":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span></p>\n\nRemoves the access a workspace member was given to a playlist. They keep any access they have through a team or the whole workspace. Removing someone without specific access changes nothing. Note: Stacks have been renamed to Playlists across Supercut. The endpoint paths and payloads remain `stacks` for backwards compatibility.","summary":"Remove a person's access to a playlist","tags":["REST API"],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"user_public_id","in":"path","required":true,"schema":{"type":"string"}}],"operationId":"stacks.removeUserAccess","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"public_id":{"type":"string"},"link":{"type":"string","description":"The playlist's page in the Supercut app that served the response, for the workspace members who can see it. `public_link` is its public page."},"name":{"type":"string"},"description":{"anyOf":[{"type":"string","nullable":true}]},"created_at":{"type":"string"},"updated_at":{"type":"string"},"is_public":{"type":"boolean","deprecated":true,"description":"Deprecated: use `public_link`. Whether the stack has a public link."},"public_link":{"anyOf":[{"type":"string","nullable":true}]},"workspace_access":{"anyOf":[{"type":"string","enum":["VIEWER","EDITOR"],"nullable":true}]},"sort":{"type":"string","enum":["added_desc","added_asc","recorded_desc","recorded_asc","manual"]},"workspace_safename":{"type":"string"},"permission":{"type":"string","enum":["VIEWER","EDITOR","ADMIN","OWNER"]},"recording_count":{"type":"number"},"teams":{"type":"array","items":{"type":"object","properties":{"team":{"type":"object","properties":{"public_id":{"type":"string"},"name":{"type":"string"}},"required":["public_id","name"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["team","access"],"additionalProperties":false}},"users":{"description":"Left out when the caller's workspace role can't list workspace members, since each entry carries an email.","type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]},"email":{"type":"string"}},"required":["public_id","name","avatar_url","email"],"additionalProperties":false},"access":{"type":"string","enum":["VIEWER","EDITOR","ADMIN"]}},"required":["user","access"],"additionalProperties":false}}},"required":["public_id","link","name","description","created_at","updated_at","is_public","public_link","workspace_access","sort","workspace_safename","permission","recording_count","teams"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}},"/workspace/members":{"get":{"description":"<p class=\"access-row\"><span class=\"access-label\">Works with:</span> <span class=\"access-pill access-personal\">Personal token</span> <span class=\"access-pill access-workspace\">Workspace token</span></p>\n\nFind workspace members by name or email, for example to resolve a person to the `user.public_id` that sharing endpoints take. An exact email match comes first. Pending invitations are not included.","summary":"List workspace members","tags":["REST API"],"parameters":[{"name":"search","in":"query","schema":{"type":"string","maxLength":100}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50}}],"operationId":"workspace.listMembers","responses":{"200":{"description":"200","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"members":{"type":"array","items":{"type":"object","properties":{"user":{"type":"object","properties":{"public_id":{"type":"string","description":"Public user id, the same for this person everywhere."},"name":{"type":"string"},"avatar_url":{"anyOf":[{"type":"string","nullable":true}]},"email":{"type":"string"}},"required":["public_id","name","avatar_url","email"],"additionalProperties":false},"role":{"anyOf":[{"type":"string","nullable":true}]},"user_id":{"type":"string","deprecated":true,"description":"Deprecated: use `user.public_id`."},"name":{"anyOf":[{"type":"string","nullable":true}],"deprecated":true,"description":"Deprecated: use `user.name`."},"email":{"type":"string","deprecated":true,"description":"Deprecated: use `user.email`."},"avatar_url":{"anyOf":[{"type":"string","nullable":true}],"deprecated":true,"description":"Deprecated: use `user.avatar_url`."}},"required":["user","role","user_id","name","email","avatar_url"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"string","nullable":true}]}},"required":["members","next_cursor"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"400","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"401":{"description":"401","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"402":{"description":"402","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"403":{"description":"403","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"404":{"description":"404","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"409":{"description":"409","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"429":{"description":"429","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}},"500":{"description":"500","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"boolean","enum":[true]},"code":{"type":"string"},"message":{"type":"string"}},"required":["error","code","message"],"additionalProperties":false}}}}},"security":[{"BearerAuth":[]}]}}},"info":{"title":"Supercut Platform API","version":"1.0.0","description":"Programmatic access to your Supercut workspace data.\n\nSupercut exposes two surfaces over the same backend:\n\n- **REST API** at `https://api.supercut.ai/v1` — for scripts and backend integrations. Call it from a server: it sends no CORS headers, so requests from a browser page are not supported.\n- **MCP Server** at `https://mcp.supercut.ai/mcp` — for AI clients (Cursor, Claude, Copilot, Codex, and others).\n\n### Stacks are now Playlists\n\nStacks have been renamed to **Playlists** across Supercut — in the app and on the MCP server. The REST API keeps the `/stacks` paths and payloads unchanged for backwards compatibility, so existing integrations keep working. A dedicated `/playlists` endpoint set will follow; we'll announce it here before any migration is needed.\n\n### Authentication\n\nThe recommended way to connect an **MCP client** is **OAuth**: point it at `https://mcp.supercut.ai/mcp` and approve access in your browser. There's nothing to create, paste, or rotate — you sign in, choose the workspace to grant, and the client stores the credential for you. Clients like Claude Code and Claude support this today.\n\nThe server implements the standard OAuth flow with Dynamic Client Registration (RFC 7591) and PKCE, so a compliant client registers itself and completes the exchange automatically — no pre-registration or client secret to configure.\n\nFor the **REST API** — and for MCP clients that don't support OAuth — authenticate with a bearer token instead. Two token types are supported:\n\n- **Workspace token** (`sk_...`) — created by a workspace admin, scoped to the workspace.\n- **Personal token** (`sk_u_...`) — created by an individual user, scoped to that user inside one workspace.\n\nCreate either kind from your workspace's API token settings.\n\n## Quickstart\n\n1. **MCP (recommended):** add the Supercut MCP server to your client (configs below) and authorize in the browser when prompted — no token to manage.\n2. **REST, or MCP without OAuth:** generate a token in your workspace's Settings > \"Workspace API tokens\" or \"Personal API Tokens\" (see the [MCP setup guide](https://help.supercut.ai/en/articles/15163981-model-context-protocol-mcp)), then send `Authorization: Bearer <token>` on every request.\n\n## MCP client setup\n\nChoose the client you use. Supercut supports remote HTTP MCP only, available at `https://mcp.supercut.ai/mcp`. Each client below connects with just the URL and signs in through your browser over OAuth — there's no token to paste. Clients that don't support OAuth can authenticate with a bearer token instead (see **Authentication** above).\n\n<div class=\"mcp-client-list\">\n<details class=\"mcp-client\" open>\n<summary>Claude Code</summary>\n\nRun this in your terminal, then authorize in the browser when prompted:\n\n```bash\nclaude mcp add \\\n  --scope user \\\n  --transport http \\\n  supercut https://mcp.supercut.ai/mcp\n```\n\n</details>\n<details class=\"mcp-client\">\n<summary>Claude</summary>\n\nInstall Supercut from the Claude connectors directory at [https://claude.ai/directory/connectors/supercut](https://claude.ai/directory/connectors/supercut), then sign in to Supercut and authorize access when prompted.\n\n</details>\n<details class=\"mcp-client\">\n<summary>Cursor</summary>\n\nPaste this into your Cursor MCP configuration.\n\n```json\n{\n  \"mcpServers\": {\n    \"supercut\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.supercut.ai/mcp\"\n    }\n  }\n}\n```\n\n</details>\n<details class=\"mcp-client\">\n<summary>Codex</summary>\n\nAdd this to your Codex MCP configuration.\n\n```toml\n[mcp_servers.supercut]\nurl = \"https://mcp.supercut.ai/mcp\"\n```\n\n</details>\n<details class=\"mcp-client\">\n<summary>VS Code</summary>\n\nPaste this into your VS Code MCP configuration.\n\n```json\n{\n  \"servers\": {\n    \"supercut\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.supercut.ai/mcp\"\n    }\n  }\n}\n```\n\n</details>\n<details class=\"mcp-client\">\n<summary>Opencode</summary>\n\nAdd this to your Opencode MCP configuration.\n\n```json\n{\n  \"mcp\": {\n    \"supercut\": {\n      \"type\": \"remote\",\n      \"url\": \"https://mcp.supercut.ai/mcp\",\n      \"enabled\": true\n    }\n  }\n}\n```\n\n</details>\n</div>","x-logo":{"url":"https://supercut.ai/icons/android-icon-192x192.png","altText":"Supercut","href":"https://supercut.ai"}},"servers":[{"url":"https://api.supercut.ai/v1","description":"Production"}],"tags":[{"name":"REST API","description":"HTTP endpoints for search, recordings, comments, reactions, form responses, playlists, and workspace members.","x-scalar-icon":"interface-content-code"}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}}}}