{"openapi":"3.1.0","info":{"title":"Preshow API","version":"v1","description":"Programmatic access to Preshow projects: read projects, stages, media and comps, upload videos and create comps. Authenticate with an API key from Settings → API keys, sent as `Authorization: Bearer psk_…`. Errors are RFC 9457 problem details; rate limits are announced in the RateLimit and RateLimit-Policy headers; POSTs accept an Idempotency-Key. Guide: https://preshow.link/docs/api"},"servers":[{"url":"https://preshow.link/api"}],"security":[{"apiKey":[]},{"oauth2":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"psk_…","description":"An API key from Settings → API keys."},"oauth2":{"type":"oauth2","description":"For apps other people connect. Authorization code with PKCE (S256) only; see https://preshow.link/docs/api#oauth.","flows":{"authorizationCode":{"authorizationUrl":"https://preshow.link/app/oauth/authorize","tokenUrl":"https://preshow.link/api/oauth/token","refreshUrl":"https://preshow.link/api/oauth/token","scopes":{"projects:read":"Read projects, their media and comps","media:write":"Upload media and add new versions","comps:write":"Create and change comps","webhooks:manage":"Add and remove webhook endpoints"}}}}},"schemas":{"Project":{"$ref":"#/$defs/Project","$defs":{"Project":{"type":"object","properties":{"object":{"type":"string","const":"project"},"id":{"type":"string"},"name":{"type":"string"},"workspace":{"$ref":"#/$defs/WorkspaceRef"},"role":{"type":"string","enum":["owner","editor","viewer"],"description":"What the key's owner may do in this project"},"visibility":{"anyOf":[{"type":"string","enum":["private","team"]},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"app_url":{"type":"string","description":"Opens the project in Preshow"}},"required":["object","id","name","workspace","role","visibility","created_at","updated_at","app_url"],"additionalProperties":false},"WorkspaceRef":{"type":"object","properties":{"kind":{"type":"string","enum":["personal","team"]},"id":{"type":"string"}},"required":["kind","id"],"additionalProperties":false}}},"ProjectList":{"$ref":"#/$defs/ProjectList","$defs":{"ProjectList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/$defs/Project"}},"has_more":{"type":"boolean"},"next_cursor":{"description":"Pass as `cursor` for the next page; null on the last","type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Project":{"type":"object","properties":{"object":{"type":"string","const":"project"},"id":{"type":"string"},"name":{"type":"string"},"workspace":{"$ref":"#/$defs/WorkspaceRef"},"role":{"type":"string","enum":["owner","editor","viewer"],"description":"What the key's owner may do in this project"},"visibility":{"anyOf":[{"type":"string","enum":["private","team"]},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"app_url":{"type":"string","description":"Opens the project in Preshow"}},"required":["object","id","name","workspace","role","visibility","created_at","updated_at","app_url"],"additionalProperties":false},"WorkspaceRef":{"type":"object","properties":{"kind":{"type":"string","enum":["personal","team"]},"id":{"type":"string"}},"required":["kind","id"],"additionalProperties":false}}},"Stage":{"$ref":"#/$defs/Stage","$defs":{"Stage":{"type":"object","properties":{"object":{"type":"string","const":"stage"},"id":{"type":"string"},"name":{"type":"string"},"default_screen":{"type":["string","null"]},"known_screens":{"type":"array","items":{"type":"string"},"description":"Screens a comp can use on this stage (see Create a comp)"},"thumbnail_url":{"type":["string","null"]}},"required":["object","id","name","default_screen","known_screens","thumbnail_url"],"additionalProperties":false}}},"StageList":{"$ref":"#/$defs/StageList","$defs":{"StageList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/$defs/Stage"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Stage":{"type":"object","properties":{"object":{"type":"string","const":"stage"},"id":{"type":"string"},"name":{"type":"string"},"default_screen":{"type":["string","null"]},"known_screens":{"type":"array","items":{"type":"string"},"description":"Screens a comp can use on this stage (see Create a comp)"},"thumbnail_url":{"type":["string","null"]}},"required":["object","id","name","default_screen","known_screens","thumbnail_url"],"additionalProperties":false}}},"Media":{"$ref":"#/$defs/Media","$defs":{"Media":{"type":"object","properties":{"object":{"type":"string","const":"media"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["video","image","audio"]},"status":{"type":"string","enum":["processing","ready","error"],"description":"ready once the file can be used in a comp"},"duration_seconds":{"type":["number","null"]},"width":{"type":["number","null"]},"height":{"type":["number","null"]},"thumbnail_url":{"type":["string","null"]},"version":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["id","created_at"],"additionalProperties":false},{"type":"null"}]},"versions_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["object","id","project_id","name","type","status","duration_seconds","width","height","thumbnail_url","version","versions_count","created_at"],"additionalProperties":false}}},"MediaList":{"$ref":"#/$defs/MediaList","$defs":{"MediaList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/$defs/Media"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Media":{"type":"object","properties":{"object":{"type":"string","const":"media"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["video","image","audio"]},"status":{"type":"string","enum":["processing","ready","error"],"description":"ready once the file can be used in a comp"},"duration_seconds":{"type":["number","null"]},"width":{"type":["number","null"]},"height":{"type":["number","null"]},"thumbnail_url":{"type":["string","null"]},"version":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["id","created_at"],"additionalProperties":false},{"type":"null"}]},"versions_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["object","id","project_id","name","type","status","duration_seconds","width","height","thumbnail_url","version","versions_count","created_at"],"additionalProperties":false}}},"CreatedMedia":{"$ref":"#/$defs/CreatedMedia","$defs":{"CreatedMedia":{"type":"object","properties":{"object":{"type":"string","const":"media"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["video","image","audio"]},"status":{"type":"string","enum":["processing","ready","error"],"description":"ready once the file can be used in a comp"},"duration_seconds":{"type":["number","null"]},"width":{"type":["number","null"]},"height":{"type":["number","null"]},"thumbnail_url":{"type":["string","null"]},"version":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["id","created_at"],"additionalProperties":false},{"type":"null"}]},"versions_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"upload":{"$ref":"#/$defs/Upload"}},"required":["object","id","project_id","name","type","status","duration_seconds","width","height","thumbnail_url","version","versions_count","created_at","upload"],"additionalProperties":false},"Upload":{"type":"object","properties":{"url":{"type":"string","description":"PUT the file's bytes here, as the whole request body"},"method":{"type":"string","const":"PUT"},"expires_at":{"type":"string","description":"ISO 8601 timestamp, UTC"}},"required":["url","method","expires_at"],"additionalProperties":false}}},"CreateMediaRequest":{"$ref":"#/$defs/CreateMediaRequest","$defs":{"CreateMediaRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200,"description":"Shown in Preshow's media library"},"filename":{"description":"Defaults to name","type":"string","minLength":1,"maxLength":255},"size_bytes":{"type":"integer","minimum":0,"maximum":9007199254740991},"duration_seconds":{"description":"Used to check the plan's video minutes before upload","type":"number","exclusiveMinimum":0,"maximum":86400},"width":{"type":"integer","exclusiveMinimum":0,"maximum":32768},"height":{"description":"With width, picks the encoding tier; 4K and LED-wide keep full resolution","type":"integer","exclusiveMinimum":0,"maximum":32768}},"required":["name"],"additionalProperties":false}}},"Comp":{"$ref":"#/$defs/Comp","$defs":{"Comp":{"type":"object","properties":{"object":{"type":"string","const":"comp"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"stage_id":{"type":["string","null"]},"status":{"type":"string","description":"draft, in_review, changes_requested or approved"},"duration_seconds":{"type":"number"},"screens":{"type":"array","items":{"type":"object","properties":{"screen":{"type":"string"},"media_id":{"type":"string"},"start_seconds":{"type":"number"},"duration_seconds":{"type":["number","null"]}},"required":["screen","media_id","start_seconds","duration_seconds"],"additionalProperties":false}},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"app_url":{"type":"string"}},"required":["object","id","project_id","name","stage_id","status","duration_seconds","screens","created_at","updated_at","app_url"],"additionalProperties":false}}},"CompList":{"$ref":"#/$defs/CompList","$defs":{"CompList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/$defs/Comp"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"Comp":{"type":"object","properties":{"object":{"type":"string","const":"comp"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"stage_id":{"type":["string","null"]},"status":{"type":"string","description":"draft, in_review, changes_requested or approved"},"duration_seconds":{"type":"number"},"screens":{"type":"array","items":{"type":"object","properties":{"screen":{"type":"string"},"media_id":{"type":"string"},"start_seconds":{"type":"number"},"duration_seconds":{"type":["number","null"]}},"required":["screen","media_id","start_seconds","duration_seconds"],"additionalProperties":false}},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"app_url":{"type":"string"}},"required":["object","id","project_id","name","stage_id","status","duration_seconds","screens","created_at","updated_at","app_url"],"additionalProperties":false}}},"CreateCompRequest":{"$ref":"#/$defs/CreateCompRequest","$defs":{"CreateCompRequest":{"type":"object","properties":{"name":{"description":"Defaults to the first media item's name","type":"string","minLength":1,"maxLength":200},"stage_id":{"type":"string","minLength":1,"maxLength":128},"screens":{"minItems":1,"maxItems":32,"type":"array","items":{"type":"object","properties":{"screen":{"type":"string","minLength":1,"maxLength":256,"description":"One of the stage's known_screens"},"media_id":{"type":"string","minLength":1,"maxLength":128},"start_seconds":{"default":0,"type":"number","minimum":0,"maximum":86400}},"required":["screen","media_id"],"additionalProperties":false}}},"required":["stage_id","screens"],"additionalProperties":false}}},"ApiKey":{"$ref":"#/$defs/ApiKey","$defs":{"ApiKey":{"type":"object","properties":{"object":{"type":"string","enum":["api_key","oauth_grant"],"description":"api_key, or oauth_grant for an OAuth access token"},"id":{"type":"string"},"name":{"type":"string","description":"The key's name, or the connected app's"},"app":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}],"description":"The OAuth app, for an access token"},"scopes":{"type":"array","items":{"type":"string","enum":["projects:read","media:write","comps:write","webhooks:manage"]}},"workspace":{"type":"object","properties":{"kind":{"type":"string","enum":["personal","team"]},"id":{"type":"string"},"name":{"type":["string","null"]}},"required":["kind","id","name"],"additionalProperties":false},"created_at":{"type":"string","description":"ISO 8601 timestamp, UTC"},"expires_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["object","id","name","app","scopes","workspace","created_at","expires_at"],"additionalProperties":false}}},"Problem":{"$ref":"#/$defs/Problem","$defs":{"Problem":{"type":"object","properties":{"type":{"type":"string","description":"A URL identifying the kind of problem"},"title":{"type":"string"},"status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"detail":{"type":"string"},"code":{"type":"string","description":"Stable, machine-readable error code"},"request_id":{"type":"string"}},"required":["type","title","status","detail","code","request_id"],"additionalProperties":false}}},"WebhookEndpoint":{"$ref":"#/$defs/WebhookEndpoint","$defs":{"WebhookEndpoint":{"type":"object","properties":{"object":{"type":"string","const":"webhook_endpoint"},"id":{"type":"string"},"url":{"type":"string"},"description":{"type":"string"},"events":{"type":"array","items":{"type":"string"},"description":"Event types sent to this endpoint; [\"*\"] is every type, including ones added later"},"status":{"type":"string","enum":["enabled","disabled"]},"disabled_reason":{"anyOf":[{"type":"string","enum":["failing","manual"]},{"type":"null"}],"description":"failing: every delivery failed for five days"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"last_success_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"last_failure_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["object","id","url","description","events","status","disabled_reason","created_at","last_success_at","last_failure_at"],"additionalProperties":false}}},"WebhookEndpointList":{"$ref":"#/$defs/WebhookEndpointList","$defs":{"WebhookEndpointList":{"type":"object","properties":{"object":{"type":"string","const":"list"},"data":{"type":"array","items":{"$ref":"#/$defs/WebhookEndpoint"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["object","data","has_more","next_cursor"],"additionalProperties":false},"WebhookEndpoint":{"type":"object","properties":{"object":{"type":"string","const":"webhook_endpoint"},"id":{"type":"string"},"url":{"type":"string"},"description":{"type":"string"},"events":{"type":"array","items":{"type":"string"},"description":"Event types sent to this endpoint; [\"*\"] is every type, including ones added later"},"status":{"type":"string","enum":["enabled","disabled"]},"disabled_reason":{"anyOf":[{"type":"string","enum":["failing","manual"]},{"type":"null"}],"description":"failing: every delivery failed for five days"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"last_success_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"last_failure_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["object","id","url","description","events","status","disabled_reason","created_at","last_success_at","last_failure_at"],"additionalProperties":false}}},"CreatedWebhookEndpoint":{"$ref":"#/$defs/CreatedWebhookEndpoint","$defs":{"CreatedWebhookEndpoint":{"type":"object","properties":{"object":{"type":"string","const":"webhook_endpoint"},"id":{"type":"string"},"url":{"type":"string"},"description":{"type":"string"},"events":{"type":"array","items":{"type":"string"},"description":"Event types sent to this endpoint; [\"*\"] is every type, including ones added later"},"status":{"type":"string","enum":["enabled","disabled"]},"disabled_reason":{"anyOf":[{"type":"string","enum":["failing","manual"]},{"type":"null"}],"description":"failing: every delivery failed for five days"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"last_success_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"last_failure_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"secret":{"type":"string","description":"whsec_…, the signing secret. Returned only here: store it now"}},"required":["object","id","url","description","events","status","disabled_reason","created_at","last_success_at","last_failure_at","secret"],"additionalProperties":false}}},"CreateWebhookEndpointRequest":{"$ref":"#/$defs/CreateWebhookEndpointRequest","$defs":{"CreateWebhookEndpointRequest":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"https URL on the public internet that receives POSTs"},"events":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","enum":["media.ready","media.failed","comp.created","comp.status_changed","comp.version_published","comment.created","review_link.first_opened","*"]}},"description":{"type":"string","maxLength":100}},"required":["url","events"],"additionalProperties":false}}},"MediaEventData":{"$ref":"#/$defs/MediaEventData","$defs":{"MediaEventData":{"type":"object","properties":{"object":{"type":"string","const":"media"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["video","image","audio"]},"status":{"type":"string","enum":["processing","ready","error"],"description":"ready once the file can be used in a comp"},"duration_seconds":{"type":["number","null"]},"width":{"type":["number","null"]},"height":{"type":["number","null"]},"thumbnail_url":{"type":["string","null"]},"version":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]}},"required":["id","created_at"],"additionalProperties":false},{"type":"null"}]},"versions_count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"processed_version_id":{"type":"string","description":"The version whose processing finished (may not be the active one)"}},"required":["object","id","project_id","name","type","status","duration_seconds","width","height","thumbnail_url","version","versions_count","created_at","processed_version_id"],"additionalProperties":false}}},"CompStatusEventData":{"$ref":"#/$defs/CompStatusEventData","$defs":{"CompStatusEventData":{"type":"object","properties":{"object":{"type":"string","const":"comp"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"stage_id":{"type":["string","null"]},"status":{"type":"string","description":"draft, in_review, changes_requested or approved"},"duration_seconds":{"type":"number"},"screens":{"type":"array","items":{"type":"object","properties":{"screen":{"type":"string"},"media_id":{"type":"string"},"start_seconds":{"type":"number"},"duration_seconds":{"type":["number","null"]}},"required":["screen","media_id","start_seconds","duration_seconds"],"additionalProperties":false}},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"app_url":{"type":"string"},"changed_by":{"type":"object","properties":{"name":{"type":["string","null"]}},"required":["name"],"additionalProperties":false},"via":{"type":"string","enum":["app","review_link"]}},"required":["object","id","project_id","name","stage_id","status","duration_seconds","screens","created_at","updated_at","app_url","changed_by","via"],"additionalProperties":false}}},"CompVersionEventData":{"$ref":"#/$defs/CompVersionEventData","$defs":{"CompVersionEventData":{"type":"object","properties":{"object":{"type":"string","const":"comp_version"},"id":{"type":"string"},"project_id":{"type":"string"},"comp_id":{"type":"string"},"number":{"description":"The cut number people see","type":["number","null"]},"label":{"type":["string","null"]},"published_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"published_by":{"type":"object","properties":{"name":{"type":["string","null"]}},"required":["name"],"additionalProperties":false},"comp":{"$ref":"#/$defs/Comp"}},"required":["object","id","project_id","comp_id","number","label","published_at","published_by","comp"],"additionalProperties":false},"Comp":{"type":"object","properties":{"object":{"type":"string","const":"comp"},"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"stage_id":{"type":["string","null"]},"status":{"type":"string","description":"draft, in_review, changes_requested or approved"},"duration_seconds":{"type":"number"},"screens":{"type":"array","items":{"type":"object","properties":{"screen":{"type":"string"},"media_id":{"type":"string"},"start_seconds":{"type":"number"},"duration_seconds":{"type":["number","null"]}},"required":["screen","media_id","start_seconds","duration_seconds"],"additionalProperties":false}},"created_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","description":"ISO 8601 timestamp, UTC"},{"type":"null"}]},"app_url":{"type":"string"}},"required":["object","id","project_id","name","stage_id","status","duration_seconds","screens","created_at","updated_at","app_url"],"additionalProperties":false}}},"CommentEventData":{"$ref":"#/$defs/CommentEventData","$defs":{"CommentEventData":{"type":"object","properties":{"object":{"type":"string","const":"comment"},"id":{"type":"string"},"project_id":{"type":"string"},"comp_id":{"type":["string","null"]},"media_id":{"type":["string","null"]},"text":{"type":"string"},"author":{"type":"object","properties":{"name":{"type":["string","null"]},"signed_in":{"type":"boolean"}},"required":["name","signed_in"],"additionalProperties":false},"at_seconds":{"description":"Where on the timeline the note was left","type":["number","null"]},"has_drawing":{"type":"boolean"},"created_at":{"type":"string","description":"ISO 8601 timestamp, UTC"},"app_url":{"type":["string","null"]}},"required":["object","id","project_id","comp_id","media_id","text","author","at_seconds","has_drawing","created_at","app_url"],"additionalProperties":false}}},"ReviewLinkEventData":{"$ref":"#/$defs/ReviewLinkEventData","$defs":{"ReviewLinkEventData":{"type":"object","properties":{"object":{"type":"string","const":"review_link"},"id":{"type":"string"},"project_id":{"type":"string"},"comp_ids":{"type":"array","items":{"type":"string"}},"title":{"type":["string","null"]},"opened_at":{"type":"string","description":"ISO 8601 timestamp, UTC"}},"required":["object","id","project_id","comp_ids","title","opened_at"],"additionalProperties":false}}}}},"webhooks":{"media.ready":{"post":{"summary":"A video finished processing and can be used in a comp.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"media.ready"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/MediaEventData"}}}}}},"responses":{"200":{"description":"Received"}}}},"media.failed":{"post":{"summary":"A video could not be processed.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"media.failed"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/MediaEventData"}}}}}},"responses":{"200":{"description":"Received"}}}},"comp.created":{"post":{"summary":"A comp was created, in the app or through the API.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"comp.created"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/Comp"}}}}}},"responses":{"200":{"description":"Received"}}}},"comp.status_changed":{"post":{"summary":"A comp’s review status changed, for example to approved.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"comp.status_changed"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/CompStatusEventData"}}}}}},"responses":{"200":{"description":"Received"}}}},"comp.version_published":{"post":{"summary":"A new version of a comp was published for review.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"comp.version_published"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/CompVersionEventData"}}}}}},"responses":{"200":{"description":"Received"}}}},"comment.created":{"post":{"summary":"Someone left a note on a comp.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"comment.created"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/CommentEventData"}}}}}},"responses":{"200":{"description":"Received"}}}},"review_link.first_opened":{"post":{"summary":"A review link was opened for the first time.","description":"Signed per Standard Webhooks: verify `webhook-signature` (HMAC-SHA256 of `{webhook-id}.{webhook-timestamp}.{body}` with the endpoint secret) before trusting the body. Answer 2xx within 10 s; anything else is retried for about 28 hours.","parameters":[{"name":"webhook-id","in":"header","required":true,"schema":{"type":"string"},"description":"msg_…, identical on every retry of this message: use it to ignore duplicates"},{"name":"webhook-timestamp","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds of this attempt; reject one more than 5 minutes off"},{"name":"webhook-signature","in":"header","required":true,"schema":{"type":"string"},"description":"v1,<base64 signature>"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","timestamp","data"],"properties":{"type":{"const":"review_link.first_opened"},"timestamp":{"type":"string","format":"date-time"},"data":{"$ref":"#/components/schemas/ReviewLinkEventData"}}}}}},"responses":{"200":{"description":"Received"}}}}},"paths":{"/v1/me":{"get":{"summary":"The API key making the request","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/projects":{"get":{"summary":"List the projects this key can see","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"next_cursor from the previous page"}]}},"/v1/projects/{projectId}":{"get":{"summary":"Retrieve a project","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/projects/{projectId}/stages":{"get":{"summary":"List a project's stages, with the screens a comp can use","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StageList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"next_cursor from the previous page"}]}},"/v1/projects/{projectId}/media":{"get":{"summary":"List a project's media","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"next_cursor from the previous page"}]},"post":{"summary":"Create a video and get the URL to upload it to","description":"Returns the new media item with an `upload.url`. PUT the file's bytes to that URL, then poll the media item until `status` is `ready` (usually under a minute per minute of video). Requires the `media:write` scope.","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Any unique string. Retrying with the same key and body within 24 h replays the first response instead of creating a duplicate."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMediaRequest"}}}},"responses":{"201":{"description":"Created","headers":{"Location":{"schema":{"type":"string"},"description":"The new resource"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedMedia"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Conflict","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Unprocessable Content","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/projects/{projectId}/media/{mediaId}":{"get":{"summary":"Retrieve a media item, including its processing status","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Media"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"mediaId","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/projects/{projectId}/comps":{"get":{"summary":"List a project's comps","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"next_cursor from the previous page"}]},"post":{"summary":"Create a comp from media on a stage","description":"Each screen must be one of the stage's `known_screens`, and each media item must be `ready`. Requires the `comps:write` scope.","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Any unique string. Retrying with the same key and body within 24 h replays the first response instead of creating a duplicate."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCompRequest"}}}},"responses":{"201":{"description":"Created","headers":{"Location":{"schema":{"type":"string"},"description":"The new resource"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comp"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Conflict","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Unprocessable Content","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/projects/{projectId}/comps/{compId}":{"get":{"summary":"Retrieve a comp","description":"Requires the `projects:read` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comp"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"compId","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/webhook_endpoints":{"get":{"summary":"List the webhook endpoints this key's owner added to its workspace","description":"Requires the `webhooks:manage` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointList"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"next_cursor from the previous page"}]},"post":{"summary":"Add a webhook endpoint","description":"Preshow will POST the chosen events to `url`, signed with the returned `secret`, which is shown only in this response. Requires the `webhooks:manage` scope.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Any unique string. Retrying with the same key and body within 24 h replays the first response instead of creating a duplicate."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookEndpointRequest"}}}},"responses":{"201":{"description":"Created","headers":{"Location":{"schema":{"type":"string"},"description":"The new resource"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedWebhookEndpoint"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Conflict","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Unprocessable Content","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/v1/webhook_endpoints/{endpointId}":{"get":{"summary":"Retrieve a webhook endpoint","description":"Requires the `webhooks:manage` scope.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpoint"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"parameters":[{"name":"endpointId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Delete a webhook endpoint","description":"Stops all deliveries to it, including retries in progress. Requires the `webhooks:manage` scope.","parameters":[{"name":"endpointId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deleted"},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too Many Requests","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}}}