{"components":{"schemas":{"Account":{"properties":{"key_id":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"tenant_id":{"type":"string"},"tenant_name":{"type":"string"},"usage":{"$ref":"#/components/schemas/Usage"}},"required":["tenant_id","tenant_name","key_id","scopes","usage"],"type":"object"},"AnalysisConfig":{"additionalProperties":false,"description":"An analysis: speech, pictures, and how events are joined to them. Every field has a default, so\n`{}` runs everything that the deployment's engines can do.","properties":{"correlate":{"$ref":"#/components/schemas/CorrelateConfig","default":{"tolerance_ms":1500}},"speech":{"$ref":"#/components/schemas/SpeechConfig","default":{"diarize":true,"enabled":true,"entities":true,"entity_types":["person","organisation","place","event","work","product","date"],"language":null,"min_entity_confidence":0.5,"min_topic_confidence":0.5,"speakers":null,"summary":true,"summary_language":"en","taxonomy":null,"translate_to":[],"vocabularies":[]}},"vision":{"$ref":"#/components/schemas/VisionConfig","default":{"brands":[],"enabled":true,"min_object_confidence":0.5,"min_text_confidence":0.6,"objects":true,"objects_interval_ms":3000,"sensitivity":0.5,"shots":true,"text":true,"text_interval_ms":2000,"text_languages":["el","en"]}}},"type":"object"},"AssetView":{"properties":{"bytes":{"format":"int64","type":["integer","null"]},"created_at":{"type":"string"},"error":{"type":["string","null"]},"external_ref":{"description":"The caller's own identifier (a programme, a channel and time…).","type":["string","null"]},"id":{"type":"string"},"media":{"description":"Duration, container and streams, as ffprobe reported them; null until the file is probed.","type":["object","null"]},"name":{"type":"string"},"sha256":{"type":["string","null"]},"source_url":{"type":["string","null"]},"status":{"description":"`pending` (being fetched), `ready`, `failed`.","type":"string"}},"required":["id","name","status","created_at"],"type":"object"},"AuditEntry":{"description":"A change someone made, with who made it.","properties":{"action":{"description":"What was done, e.g. `link.confirmed`, `conflict.resolved`.","type":"string"},"actor":{"description":"`key:<id>` for changes made with an API key (the console signs in with one).","type":"string"},"at":{"type":"string"},"detail":{"type":"object"},"id":{"type":"string"},"subject":{"type":"string"}},"required":["id","actor","action","subject","detail","at"],"type":"object"},"CandidateDoc":{"description":"A work a recording may embody, and why.","properties":{"evidence":{"items":{"$ref":"#/components/schemas/EvidenceDoc"},"type":"array"},"score":{"description":"0 to 1: the sum of weight × score over the evidence, capped at 1.","format":"double","type":"number"},"work_id":{"type":"string"}},"required":["work_id","score","evidence"],"type":"object"},"Capabilities":{"properties":{"engines":{"items":{"$ref":"#/components/schemas/EngineStatus"},"type":"array"},"exports":{"items":{"type":"string"},"type":"array"},"limits":{"$ref":"#/components/schemas/Limits"},"notes":{"description":"Why an engine is not available here.","items":{"type":"string"},"type":"array"},"version":{"type":"string"}},"required":["version","engines","notes","exports","limits"],"type":"object"},"Category":{"additionalProperties":false,"description":"A taxonomy category.","properties":{"description":{"type":["string","null"]},"id":{"type":"string"},"label":{"type":"string"},"parent":{"description":"The parent category's `id`.","type":["string","null"]}},"required":["id","label"],"type":"object"},"ConflictDecision":{"additionalProperties":false,"properties":{"resolution":{"type":"string"},"status":{"description":"`resolved` or `dismissed`.","type":"string"}},"required":["status","resolution"],"type":"object"},"ConflictView":{"properties":{"code":{"description":"`duplicate_isrc`, `duplicate_iswc`, `isrc_claimed_by_two_works`, `recording_linked_twice`,\n`link_iswc_mismatch`, `isrc_listed_elsewhere`, `ipi_name_mismatch`, `share_total`.","type":"string"},"created_at":{"type":"string"},"detail":{"type":"string"},"id":{"type":"string"},"resolution":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"severity":{"type":"string"},"status":{"description":"`open`, `resolved`, `dismissed`.","type":"string"},"subjects":{"description":"The records involved.","items":{"type":"string"},"type":"array"}},"required":["id","code","severity","subjects","detail","status","created_at"],"type":"object"},"ContributorDoc":{"description":"A writer, publisher or other contributor.","properties":{"ipi_base_number":{"description":"`I-NNNNNNNNN-C`.","type":["string","null"]},"ipi_name_number":{"description":"11 digits; the last two are a check.","type":["string","null"]},"name":{"type":"string"},"role":{"description":"`composer`, `lyricist`, `composer_lyricist`, `arranger`, `adapter`, `translator`,\n`original_publisher`, `sub_publisher`, `administrator`, `performer`, `label`.","type":"string"},"shares":{"items":{"$ref":"#/components/schemas/ShareDoc"},"type":"array"}},"required":["name","role"],"type":"object"},"Corrections":{"additionalProperties":false,"properties":{"corrections":{"description":"Applied in order, all or nothing: `set`, `set_programme`, `insert`, `remove`, `merge`, `split`, `renumber`.","items":{"type":"object"},"type":"array"},"version":{"description":"The version the corrections were made on.","format":"int64","type":"integer"}},"required":["version","corrections"],"type":"object"},"CorrelateConfig":{"additionalProperties":false,"properties":{"tolerance_ms":{"default":1500,"description":"How far apart (ms) an external event and a speech or picture item may be and still be joined.","format":"int64","type":"integer"}},"type":"object"},"Correlation":{"properties":{"entities":{"items":{"$ref":"#/components/schemas/Joined"},"type":"array"},"event":{"$ref":"#/components/schemas/EventView"},"on_screen_text":{"description":"Text on screen during the event.","items":{"$ref":"#/components/schemas/Joined"},"type":"array"},"seen":{"description":"What the vision model saw during the event (or within the tolerance): logos, objects,\npeople and actions, each once, the most likely first.","items":{"$ref":"#/components/schemas/Seen"},"type":"array"},"shot_kinds":{"description":"The kinds of the shots the event spans, as the vision model saw them (`interview`, `report`).","items":{"type":"string"},"type":"array"},"shots":{"description":"Shots the event spans.","items":{"format":"int32","minimum":0,"type":"integer"},"type":"array"},"speakers":{"items":{"type":"string"},"type":"array"},"speech":{"description":"Sentences said during the event (or within the tolerance).","items":{"$ref":"#/components/schemas/Joined"},"type":"array"},"topics":{"description":"The topic categories of the speech the event falls in (labels, most likely first).","items":{"type":"string"},"type":"array"}},"required":["event","speech","speakers","on_screen_text","shots","entities","topics","seen","shot_kinds"],"type":"object"},"CreateCueSheet":{"additionalProperties":false,"properties":{"asset_id":{"description":"The asset the programme was broadcast as.","type":["string","null"]},"entries":{"description":"Entries to start with, when not generated.","items":{"$ref":"#/components/schemas/CueEntryDoc"},"type":"array"},"from_events":{"oneOf":[{"$ref":"#/components/schemas/FromEvents","description":"Build the entries from the asset's events of this kind (usually `content_match`)."},{"type":"null"}]},"programme":{"$ref":"#/components/schemas/ProgrammeDoc"}},"required":["programme"],"type":"object"},"CueEntryDoc":{"description":"One use of music.","properties":{"confidence":{"format":"double","type":["number","null"]},"in_ms":{"format":"int64","type":"integer"},"label":{"type":["string","null"]},"notes":{"type":["string","null"]},"origin":{"description":"`commercial`, `library`, `commissioned`, `live`, `unknown`.","type":"string"},"out_ms":{"format":"int64","type":"integer"},"parties":{"items":{"$ref":"#/components/schemas/PartyDoc"},"type":"array"},"recording_isrc":{"type":["string","null"]},"seq":{"format":"int32","minimum":0,"type":"integer"},"source":{"description":"`imported`, `detected`, `manual`.","type":"string"},"title":{"type":"string"},"usage":{"description":"`background_instrumental` (BI), `background_vocal` (BV), `visual_instrumental` (VI),\n`visual_vocal` (VV), `theme_open` (TO), `theme_close` (TC), `logo` (LO), `source` (SO), `unknown`.","type":"string"},"work_iswc":{"type":["string","null"]}},"required":["seq","title","parties","in_ms","out_ms","usage","origin","source"],"type":"object"},"CueSheetDoc":{"description":"A cue sheet.","properties":{"entries":{"items":{"$ref":"#/components/schemas/CueEntryDoc"},"type":"array"},"programme":{"$ref":"#/components/schemas/ProgrammeDoc"},"rejection_reason":{"type":["string","null"]},"status":{"description":"`draft`, `submitted`, `approved`, `rejected`, `exported`.","type":"string"}},"required":["programme","status","entries"],"type":"object"},"CueSheetSummary":{"properties":{"asset_id":{"type":["string","null"]},"entries":{"minimum":0,"type":"integer"},"id":{"type":"string"},"status":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["id","title","status","version","entries","updated_at"],"type":"object"},"CueSheetView":{"properties":{"asset_id":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string"},"issues":{"description":"What validation finds in the sheet now.","items":{"$ref":"#/components/schemas/IssueDoc"},"type":"array"},"sheet":{"$ref":"#/components/schemas/CueSheetDoc"},"status":{"type":"string"},"updated_at":{"type":"string"},"version":{"description":"Send it back with every change.","format":"int64","type":"integer"}},"required":["id","status","version","sheet","issues","created_at","updated_at"],"type":"object"},"DeliveryView":{"properties":{"attempts":{"format":"int64","type":"integer"},"created_at":{"type":"string"},"delivered_at":{"type":["string","null"]},"event_type":{"type":"string"},"id":{"type":"string"},"last_error":{"type":["string","null"]},"last_status":{"format":"int64","type":["integer","null"]},"next_attempt_at":{"type":["string","null"]},"payload":{"type":"object"},"status":{"description":"`pending`, `delivered`, `failed` (given up after a day of retries).","type":"string"}},"required":["id","event_type","status","attempts","created_at","payload"],"type":"object"},"Detection":{"description":"One thing seen in the picture, from a time.","properties":{"confidence":{"description":"The engine's own probability, 0 to 1: the text reader's for text, the vision model's for\nlogos, objects, people and actions. Shots and scenes have none.","format":"double","type":["number","null"]},"detail":{"description":"A scene's setting (`control room`), or how many people at most.","type":["string","null"]},"end_ms":{"format":"int64","type":"integer"},"label":{"description":"How a shot began (`hard`, `fade`, `start`), a shot's kind (`interview`, `presenter`…), the\ntext read, or the name of what was seen.","type":"string"},"shot":{"description":"The shot it is in.","format":"int32","minimum":0,"type":["integer","null"]},"start_ms":{"format":"int64","type":"integer"},"timestamp":{"description":"When it begins, `HH:MM:SS.mmm` from the start of the asset.","type":"string"},"type":{"description":"`shot` (a new shot), `scene` (what kind of shot it is), `text` (on screen), `logo`, `object`,\n`person` or `action`.","type":"string"}},"required":["timestamp","start_ms","end_ms","type","label"],"type":"object"},"DetectionResult":{"properties":{"found":{"minimum":0,"type":"integer"},"new":{"minimum":0,"type":"integer"}},"required":["found","new"],"type":"object"},"Detections":{"properties":{"asset_id":{"type":"string"},"duration_ms":{"format":"int64","type":"integer"},"items":{"items":{"$ref":"#/components/schemas/Detection"},"type":"array"}},"required":["asset_id","duration_ms","items"],"type":"object"},"EngineStatus":{"properties":{"available":{"type":"boolean"},"capability":{"description":"`speech_recognition`, `voice_activity`, `speaker_embedding`, `named_entities`,\n`topic_classification`, `on_screen_text`, `language_model`, `language_identification`,\n`shot_detection`, `transcript_correction`, `media`.","type":"string"},"engine":{"type":"string"},"license":{"type":"string"},"model":{"type":"string"},"self_hosted":{"description":"Runs on this deployment's own hardware: no data leaves it.","type":"boolean"}},"required":["capability","available","engine","model","license","self_hosted"],"type":"object"},"EventBatch":{"additionalProperties":false,"properties":{"events":{"items":{"$ref":"#/components/schemas/EventInput"},"type":"array"},"replace":{"description":"Replace the asset's events of the kinds in this batch instead of adding to them.","type":"boolean"}},"required":["events"],"type":"object"},"EventInput":{"additionalProperties":false,"properties":{"data":{"description":"Anything the event carries. For `content_match`, a `recording` object (`isrc`, `title`,\n`artists`, `duration_ms`) and a `confidence` make it usable for cue sheets.","type":"object"},"end_ms":{"format":"int64","type":"integer"},"kind":{"description":"What happened: `content_match` (a recording identified), `ad`, `alert`, or a kind of your own\n(lower case, digits, `_`).","type":"string"},"source":{"description":"The system that reported it.","type":["string","null"]},"start_ms":{"format":"int64","type":"integer"}},"required":["kind","start_ms","end_ms"],"type":"object"},"EventView":{"properties":{"created_at":{"type":"string"},"data":{"type":"object"},"end_ms":{"format":"int64","type":"integer"},"id":{"type":"string"},"kind":{"type":"string"},"source":{"type":["string","null"]},"start_ms":{"format":"int64","type":"integer"}},"required":["id","kind","start_ms","end_ms","data","created_at"],"type":"object"},"EvidenceDoc":{"description":"One reason a work is, or is not, the one recorded.","properties":{"detail":{"type":"string"},"kind":{"description":"`isrc_listed`, `iswc_given`, `title`, `writer_ipi`, `writer_name`, `artist_writer`,\n`duration`; `manual` for a link a person made.","type":"string"},"score":{"description":"How far this evidence agrees, 0 to 1.","format":"double","type":"number"},"weight":{"description":"What it adds to the candidate's score at full agreement; 0 when it only explains.","format":"double","type":"number"}},"required":["kind","score","weight","detail"],"type":"object"},"FieldError":{"properties":{"code":{"type":"string"},"message":{"type":"string"},"pointer":{"description":"A JSON pointer to the field, e.g. `/speech/translate_to/0`.","type":"string"}},"required":["pointer","code","message"],"type":"object"},"FromEvents":{"additionalProperties":false,"properties":{"kind":{"type":"string"},"merge_gap_ms":{"description":"Fragments of one recording at most this far apart (ms) become one use.","format":"int64","type":"integer"},"min_confidence":{"description":"Events less confident than this (0..1) are left out.","format":"double","type":"number"}},"type":"object"},"FromUrl":{"additionalProperties":false,"properties":{"external_ref":{"type":["string","null"]},"name":{"type":["string","null"]},"url":{"description":"A public `http` or `https` address of the media file.","type":"string"}},"required":["url"],"type":"object"},"HistoryView":{"properties":{"action":{"description":"`created`, `generated`, `imported`, `corrected`, `transition`.","type":"string"},"actor":{"type":"string"},"at":{"type":"string"},"detail":{"type":"object"},"version":{"format":"int64","type":"integer"}},"required":["version","actor","action","detail","at"],"type":"object"},"IdentifierCheck":{"properties":{"canonical":{"description":"The canonical form, when valid.","type":["string","null"]},"display":{"description":"The conventional written form, when valid.","type":["string","null"]},"error":{"type":["string","null"]},"input":{"type":"string"},"kind":{"type":"string"},"valid":{"type":"boolean"}},"required":["kind","input","valid"],"type":"object"},"ImportBatch":{"additionalProperties":false,"properties":{"mode":{"description":"`strict` (default): a record with an invalid identifier is not stored. `lossy`: it is\nstored without the invalid identifier, and the issue is reported. In both modes a record\nwith any other error (an empty title, shares that miss 100%) is not stored.","type":["string","null"]},"recordings":{"items":{"$ref":"#/components/schemas/RecordingDoc"},"type":"array"},"works":{"items":{"$ref":"#/components/schemas/WorkDoc"},"type":"array"}},"type":"object"},"ImportResult":{"properties":{"issues":{"description":"Issues by record: `/works/3/contributors/0/ipi_name_number`, for example.","items":{"$ref":"#/components/schemas/RecordIssueDoc"},"type":"array"},"recording_ids":{"items":{"type":["string","null"]},"type":"array"},"recordings_stored":{"minimum":0,"type":"integer"},"rejected":{"minimum":0,"type":"integer"},"work_ids":{"description":"The identifiers given to stored records, in input order (absent for rejected ones).","items":{"type":["string","null"]},"type":"array"},"works_stored":{"minimum":0,"type":"integer"}},"required":["works_stored","recordings_stored","rejected","work_ids","recording_ids","issues"],"type":"object"},"Imported":{"properties":{"imported":{"minimum":0,"type":"integer"},"replaced":{"minimum":0,"type":"integer"}},"required":["imported","replaced"],"type":"object"},"ImportedCueSheet":{"allOf":[{"$ref":"#/components/schemas/CueSheetView"},{"properties":{"import_issues":{"description":"What the import noticed, by source row.","items":{"$ref":"#/components/schemas/IssueDoc"},"type":"array"},"mapping":{"description":"How the file's columns were read.","items":{"type":"object"},"type":"array"}},"required":["import_issues","mapping"],"type":"object"}]},"IssueDoc":{"description":"Something wrong or worth a look, with a stable `code`.","properties":{"code":{"type":"string"},"column":{"type":["string","null"]},"message":{"type":"string"},"row":{"minimum":0,"type":["integer","null"]},"seq":{"format":"int32","minimum":0,"type":["integer","null"]},"severity":{"description":"`error`, `warning`, `info`. Errors block submission.","type":"string"}},"required":["code","severity","message"],"type":"object"},"JobEvent":{"properties":{"job_id":{"type":"string"},"message":{"type":["string","null"]},"progress":{"format":"double","type":"number"},"stage":{"type":["string","null"]},"status":{"type":"string"}},"required":["job_id","status","progress"],"type":"object"},"JobInput":{"additionalProperties":false,"properties":{"asset_id":{"type":"string"},"config":{"oneOf":[{"$ref":"#/components/schemas/AnalysisConfig","description":"A configuration given with the request; it takes the place of the profile's when both are sent."},{"type":"null"}]},"profile_id":{"description":"A stored profile to run.","type":["string","null"]}},"required":["asset_id"],"type":"object"},"JobView":{"properties":{"asset_id":{"type":"string"},"config":{"$ref":"#/components/schemas/AnalysisConfig"},"created_at":{"type":"string"},"error":{"type":["string","null"]},"finished_at":{"type":["string","null"]},"id":{"type":"string"},"profile_id":{"type":["string","null"]},"progress":{"description":"0 to 1.","format":"double","type":"number"},"stages":{"items":{"$ref":"#/components/schemas/Stage"},"type":"array"},"started_at":{"type":["string","null"]},"status":{"description":"`queued`, `running`, `succeeded`, `failed`, `cancelled`.","type":"string"}},"required":["id","asset_id","status","progress","stages","config","created_at"],"type":"object"},"Joined":{"properties":{"end_ms":{"format":"int64","type":"integer"},"gap_ms":{"format":"int64","type":"integer"},"overlap_ms":{"description":"Time shared with the event (0 when only near it).","format":"int64","type":"integer"},"start_ms":{"format":"int64","type":"integer"},"text":{"type":"string"}},"required":["text","start_ms","end_ms","overlap_ms","gap_ms"],"type":"object"},"Language":{"properties":{"code":{"description":"ISO 639-1.","type":"string"},"name":{"type":"string"},"on_screen_text":{"type":"boolean"},"speech":{"type":"boolean"},"translation":{"type":"boolean"}},"required":["code","name","speech","translation","on_screen_text"],"type":"object"},"LayerInfo":{"properties":{"created_at":{"type":"string"},"engine":{"description":"The engine and model that made it.","type":"string"},"items":{"format":"int64","type":"integer"},"job_id":{"type":"string"},"layer":{"description":"`speech.words`, `speech.sentences`, `speech.speakers`, `speech.corrections`,\n`speech.translation.<lang>`, `speech.entities`, `speech.topics`, `speech.summary`, `vision.shots`, `vision.scenes`, `vision.text`,\n`vision.objects`, `vision.context`.","type":"string"}},"required":["layer","job_id","engine","items","created_at"],"type":"object"},"LayerView":{"properties":{"engine":{"type":"string"},"items":{"description":"The items; their shape depends on the layer (see the documentation).","items":{"type":"object"},"type":"array"},"job_id":{"type":"string"},"layer":{"type":"string"}},"required":["layer","engine","job_id","items"],"type":"object"},"Limits":{"properties":{"concurrent_jobs":{"minimum":0,"type":"integer"},"max_media_minutes":{"format":"int64","minimum":0,"type":"integer"},"max_upload_mb":{"format":"int64","minimum":0,"type":"integer"}},"required":["max_upload_mb","max_media_minutes","concurrent_jobs"],"type":"object"},"LinkDecision":{"additionalProperties":false,"properties":{"recording_id":{"type":"string"},"status":{"description":"`confirmed` or `rejected`.","type":"string"},"work_id":{"type":"string"}},"required":["recording_id","work_id","status"],"type":"object"},"LinkView":{"properties":{"created_at":{"type":"string"},"decided_at":{"type":["string","null"]},"decided_by":{"description":"Who decided (`key:<id>`); null for links matching made on its own.","type":["string","null"]},"evidence":{"description":"Why matching proposed it, or `manual` for a link a person made.","items":{"$ref":"#/components/schemas/EvidenceDoc"},"type":"array"},"recording_id":{"type":"string"},"score":{"description":"Matching's score; null for a link a person made.","format":"double","type":["number","null"]},"status":{"description":"`proposed`, `confirmed`, `rejected`.","type":"string"},"work_id":{"type":"string"}},"required":["recording_id","work_id","status","evidence","created_at"],"type":"object"},"List_AssetView":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"properties":{"bytes":{"format":"int64","type":["integer","null"]},"created_at":{"type":"string"},"error":{"type":["string","null"]},"external_ref":{"description":"The caller's own identifier (a programme, a channel and time…).","type":["string","null"]},"id":{"type":"string"},"media":{"description":"Duration, container and streams, as ffprobe reported them; null until the file is probed.","type":["object","null"]},"name":{"type":"string"},"sha256":{"type":["string","null"]},"source_url":{"type":["string","null"]},"status":{"description":"`pending` (being fetched), `ready`, `failed`.","type":"string"}},"required":["id","name","status","created_at"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_ConflictView":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"properties":{"code":{"description":"`duplicate_isrc`, `duplicate_iswc`, `isrc_claimed_by_two_works`, `recording_linked_twice`,\n`link_iswc_mismatch`, `isrc_listed_elsewhere`, `ipi_name_mismatch`, `share_total`.","type":"string"},"created_at":{"type":"string"},"detail":{"type":"string"},"id":{"type":"string"},"resolution":{"type":["string","null"]},"resolved_at":{"type":["string","null"]},"severity":{"type":"string"},"status":{"description":"`open`, `resolved`, `dismissed`.","type":"string"},"subjects":{"description":"The records involved.","items":{"type":"string"},"type":"array"}},"required":["id","code","severity","subjects","detail","status","created_at"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_CueSheetSummary":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"properties":{"asset_id":{"type":["string","null"]},"entries":{"minimum":0,"type":"integer"},"id":{"type":"string"},"status":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"version":{"format":"int64","type":"integer"}},"required":["id","title","status","version","entries","updated_at"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_JobView":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"properties":{"asset_id":{"type":"string"},"config":{"$ref":"#/components/schemas/AnalysisConfig"},"created_at":{"type":"string"},"error":{"type":["string","null"]},"finished_at":{"type":["string","null"]},"id":{"type":"string"},"profile_id":{"type":["string","null"]},"progress":{"description":"0 to 1.","format":"double","type":"number"},"stages":{"items":{"$ref":"#/components/schemas/Stage"},"type":"array"},"started_at":{"type":["string","null"]},"status":{"description":"`queued`, `running`, `succeeded`, `failed`, `cancelled`.","type":"string"}},"required":["id","asset_id","status","progress","stages","config","created_at"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_PartyView":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"properties":{"id":{"type":"string"},"ipi_base_number":{"type":["string","null"]},"ipi_name_number":{"type":["string","null"]},"kind":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","kind","updated_at"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_ProfileView":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"properties":{"config":{"$ref":"#/components/schemas/AnalysisConfig"},"created_at":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","config","created_at","updated_at"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_RecordingDoc":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"description":"A sound recording. Fields this API does not know are ignored.","properties":{"artists":{"items":{"type":"string"},"type":"array"},"contributors":{"items":{"$ref":"#/components/schemas/ContributorDoc"},"type":"array"},"duration_ms":{"format":"int64","type":["integer","null"]},"id":{"description":"Given by the server when a recording is created; send it to replace a stored recording.","type":"string"},"isrc":{"description":"`CC-XXX-YY-NNNNN`.","type":["string","null"]},"iswc":{"description":"The work's ISWC, when the release states it.","type":["string","null"]},"label":{"type":["string","null"]},"release_year":{"format":"int32","type":["integer","null"]},"title":{"type":"string"},"version":{"description":"`Live`, `Remastered 2011`…","type":["string","null"]}},"required":["title"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"List_WorkDoc":{"description":"A page of results. Lists are newest first; `next_cursor` is null on the last page.","properties":{"items":{"items":{"description":"A musical work. Fields this API does not know are ignored, so records exported from other\nsystems can be sent as they are.","properties":{"alternate_titles":{"items":{"type":"string"},"type":"array"},"contributors":{"items":{"$ref":"#/components/schemas/ContributorDoc"},"type":"array"},"duration_ms":{"format":"int64","type":["integer","null"]},"id":{"description":"Given by the server when a work is created; send it to replace a stored work.","type":"string"},"isrcs":{"description":"Recordings known to embody the work.","items":{"type":"string"},"type":"array"},"iswc":{"description":"`T-DDD.DDD.DDD-C`, check digit verified.","type":["string","null"]},"language":{"type":["string","null"]},"title":{"type":"string"}},"required":["title"],"type":"object"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"MatchSummary":{"properties":{"auto_linked":{"minimum":0,"type":"integer"},"for_review":{"minimum":0,"type":"integer"},"no_match":{"minimum":0,"type":"integer"},"recordings":{"minimum":0,"type":"integer"}},"required":["recordings","auto_linked","for_review","no_match"],"type":"object"},"MatchView":{"properties":{"candidates":{"description":"The best candidates with the evidence for each.","items":{"$ref":"#/components/schemas/CandidateDoc"},"type":"array"},"decision":{"description":"`auto_link` (a link was confirmed), `review` (proposed links await a person), `no_match`.","type":"string"},"recording_id":{"type":"string"}},"required":["recording_id","decision","candidates"],"type":"object"},"PartyDoc":{"description":"A writer, publisher or performer.","properties":{"ipi_name_number":{"type":["string","null"]},"name":{"type":"string"},"role":{"description":"`composer`, `lyricist`, `composer_lyricist`, `arranger`, `publisher`, `performer`.","type":"string"}},"required":["name","role"],"type":"object"},"PartyInput":{"additionalProperties":false,"properties":{"ipi_base_number":{"type":["string","null"]},"ipi_name_number":{"type":["string","null"]},"kind":{"description":"`person` or `organisation`.","type":"string"},"name":{"type":"string"}},"required":["name"],"type":"object"},"PartyView":{"properties":{"id":{"type":"string"},"ipi_base_number":{"type":["string","null"]},"ipi_name_number":{"type":["string","null"]},"kind":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","kind","updated_at"],"type":"object"},"Problem":{"properties":{"detail":{"type":"string"},"errors":{"description":"What was wrong with the input, field by field.","items":{"$ref":"#/components/schemas/FieldError"},"type":"array"},"status":{"format":"int32","minimum":0,"type":"integer"},"title":{"type":"string"},"type":{"description":"A URI reference naming the kind of problem, relative to this server, e.g.\n`/docs/problems#not_found`; the page it points to explains it.","type":"string"}},"required":["type","title","status","detail"],"type":"object"},"ProfileInput":{"additionalProperties":false,"properties":{"config":{"$ref":"#/components/schemas/AnalysisConfig"},"name":{"type":"string"}},"required":["name"],"type":"object"},"ProfileView":{"properties":{"config":{"$ref":"#/components/schemas/AnalysisConfig"},"created_at":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","name","config","created_at","updated_at"],"type":"object"},"ProgrammeDoc":{"description":"The programme the music was used in.","properties":{"air_date":{"description":"`YYYY-MM-DD`.","type":["string","null"]},"broadcaster":{"type":["string","null"]},"channel":{"type":["string","null"]},"duration_ms":{"format":"int64","type":["integer","null"]},"episode":{"type":["string","null"]},"production_id":{"type":["string","null"]},"title":{"type":"string"}},"required":["title"],"type":"object"},"RecordIssueDoc":{"description":"Something wrong or worth a look in a record.","properties":{"code":{"type":"string"},"message":{"type":"string"},"path":{"description":"A JSON pointer into the record.","type":"string"},"severity":{"description":"`error`, `warning`, `info`.","type":"string"}},"required":["code","severity","path","message"],"type":"object"},"RecordingDoc":{"description":"A sound recording. Fields this API does not know are ignored.","properties":{"artists":{"items":{"type":"string"},"type":"array"},"contributors":{"items":{"$ref":"#/components/schemas/ContributorDoc"},"type":"array"},"duration_ms":{"format":"int64","type":["integer","null"]},"id":{"description":"Given by the server when a recording is created; send it to replace a stored recording.","type":"string"},"isrc":{"description":"`CC-XXX-YY-NNNNN`.","type":["string","null"]},"iswc":{"description":"The work's ISWC, when the release states it.","type":["string","null"]},"label":{"type":["string","null"]},"release_year":{"format":"int32","type":["integer","null"]},"title":{"type":"string"},"version":{"description":"`Live`, `Remastered 2011`…","type":["string","null"]}},"required":["title"],"type":"object"},"RecordingView":{"properties":{"issues":{"items":{"$ref":"#/components/schemas/RecordIssueDoc"},"type":"array"},"links":{"items":{"$ref":"#/components/schemas/LinkView"},"type":"array"},"recording":{"$ref":"#/components/schemas/RecordingDoc"},"updated_at":{"type":"string"}},"required":["recording","links","issues","updated_at"],"type":"object"},"Seen":{"properties":{"confidence":{"description":"The vision model's probability, the highest of its sightings near the event.","format":"double","type":"number"},"end_ms":{"format":"int64","type":"integer"},"gap_ms":{"format":"int64","type":"integer"},"kind":{"description":"`logo`, `object`, `person` or `action`.","type":"string"},"label":{"type":"string"},"overlap_ms":{"description":"Time shared with the event (0 when only near it).","format":"int64","type":"integer"},"start_ms":{"format":"int64","type":"integer"}},"required":["kind","label","confidence","start_ms","end_ms","overlap_ms","gap_ms"],"type":"object"},"ShareDoc":{"description":"A share of a right, for some territories (none listed: the world).","properties":{"excluded_territories":{"items":{"type":"string"},"type":"array"},"percent":{"format":"double","type":"number"},"right":{"description":"`performance`, `mechanical`, `synchronisation`.","type":"string"},"territories":{"description":"ISO 3166-1 alpha-2 codes or `WORLD`.","items":{"type":"string"},"type":"array"}},"required":["right","percent"],"type":"object"},"SpeechConfig":{"additionalProperties":false,"properties":{"diarize":{"default":true,"description":"Who spoke when.","type":"boolean"},"enabled":{"default":true,"type":"boolean"},"entities":{"default":true,"description":"Named entities mentioned in the speech.","type":"boolean"},"entity_types":{"default":["person","organisation","place","event","work","product","date"],"description":"The types of entity to look for. The standard ones are `person`, `organisation`, `place`,\n`event`, `work` (songs, films, programmes), `product` and `date`; any other type named in\nplain words works as well (`football club`, `political party`, `medicine`), up to 20.","items":{"type":"string"},"type":"array"},"language":{"default":null,"description":"The spoken language (ISO 639-1, e.g. `el`); omitted, it is detected.","type":["string","null"]},"min_entity_confidence":{"default":0.5,"description":"Entities found with less confidence (0..1) are left out.","format":"float","type":"number"},"min_topic_confidence":{"default":0.5,"description":"Categories scored lower (0..1) do not apply.","format":"float","type":"number"},"speakers":{"default":null,"description":"The number of speakers, when known (improves diarisation).","format":"int32","minimum":0,"type":["integer","null"]},"summary":{"default":true,"description":"A short summary of the programme and its keywords.","type":"boolean"},"summary_language":{"default":"en","description":"The language of the summary and keywords (ISO 639-1).","type":"string"},"taxonomy":{"default":null,"description":"A taxonomy vocabulary: the speech is divided into stretches by the taxonomy's categories.","type":["string","null"]},"translate_to":{"default":[],"description":"Languages to translate the transcript into (ISO 639-1), at most five.","items":{"type":"string"},"type":"array"},"vocabularies":{"default":[],"description":"Lexicon vocabularies: their terms bias recognition and correct the transcript.","items":{"type":"string"},"type":"array"}},"type":"object"},"Stage":{"properties":{"detail":{"description":"Why it was skipped or failed, or what it found.","type":["string","null"]},"duration_ms":{"format":"int64","type":["integer","null"]},"engine":{"description":"The engine and model that produced the stage's result.","type":["string","null"]},"finished_at":{"type":["string","null"]},"name":{"description":"`prepare`, `audio`, `transcribe`, `diarize`, `correct`, `translate`, `entities`, `topics`,\n`summary`, `shots`, `text`, `assemble`.","type":"string"},"started_at":{"type":["string","null"]},"status":{"description":"`pending`, `running`, `done`, `skipped`, `failed`.","type":"string"}},"required":["name","status"],"type":"object"},"Term":{"additionalProperties":false,"description":"A lexicon entry: how a term is written, its other forms, and what it is.","properties":{"canonical":{"type":"string"},"kind":{"description":"`person`, `organisation`, `place`, `event`, `work`, `product`, `brand`…","type":["string","null"]},"variants":{"items":{"type":"string"},"type":"array"}},"required":["canonical"],"type":"object"},"Timeline":{"properties":{"asset_id":{"type":"string"},"duration_ms":{"format":"int64","type":"integer"},"items":{"items":{"$ref":"#/components/schemas/TimelineItem"},"type":"array"}},"required":["asset_id","duration_ms","items"],"type":"object"},"TimelineItem":{"properties":{"data":{"description":"The item as its layer stores it.","type":"object"},"end_ms":{"format":"int64","type":"integer"},"layer":{"type":"string"},"start_ms":{"format":"int64","type":"integer"}},"required":["layer","start_ms","end_ms","data"],"type":"object"},"TranscriptSentence":{"properties":{"confidence":{"description":"Recognition's confidence (0..1); absent in a translation.","format":"double","type":["number","null"]},"end_ms":{"format":"int64","type":"integer"},"index":{"minimum":0,"type":"integer"},"language":{"description":"The sentence's language (ISO 639-1): as spoken, or the translation's.","type":["string","null"]},"origin":{"description":"In a translation: `model`, or `unchanged` for a sentence that was already in the language.","type":["string","null"]},"speaker":{"type":["string","null"]},"start_ms":{"format":"int64","type":"integer"},"text":{"type":"string"}},"required":["index","text","start_ms","end_ms"],"type":"object"},"TranscriptView":{"properties":{"asset_id":{"type":"string"},"language":{"description":"The spoken language, or the translation's.","type":["string","null"]},"sentences":{"items":{"$ref":"#/components/schemas/TranscriptSentence"},"type":"array"},"translated":{"type":"boolean"},"words":{"description":"Words with their timing (the original language only).","items":{"$ref":"#/components/schemas/WordItem"},"type":"array"}},"required":["asset_id","translated","sentences","words"],"type":"object"},"TransitionInput":{"allOf":[{"type":"object"},{"properties":{"version":{"format":"int64","type":"integer"}},"required":["version"],"type":"object"}],"description":"The version the move is made on, and the move, side by side: `{\"version\": 3, \"action\": \"submit\"}`,\n`approve`, `{\"version\": 4, \"action\": \"reject\", \"reason\": \"…\"}`, `reopen`, `mark_exported`."},"Usage":{"properties":{"jobs":{"format":"int64","type":"integer"},"minutes_left":{"format":"double","type":["number","null"]},"minutes_quota":{"description":"Processing minutes a month; absent means unlimited.","format":"int64","type":["integer","null"]},"month":{"description":"`YYYY-MM`, UTC.","type":"string"},"processed_minutes":{"format":"double","type":"number"}},"required":["month","processed_minutes","jobs"],"type":"object"},"ValidateInput":{"additionalProperties":false,"properties":{"recordings":{"items":{"$ref":"#/components/schemas/RecordingDoc"},"type":"array"},"works":{"items":{"$ref":"#/components/schemas/WorkDoc"},"type":"array"}},"type":"object"},"VisionConfig":{"additionalProperties":false,"properties":{"brands":{"default":[],"description":"Brands to look for in every frame, whether or not the model mentions them: `[\"Coca-Cola\"]`.","items":{"type":"string"},"type":"array"},"enabled":{"default":true,"type":"boolean"},"min_object_confidence":{"default":0.5,"description":"Things the model is less sure of (0..1) are left out.","format":"double","type":"number"},"min_text_confidence":{"default":0.6,"description":"Lines read with less confidence (0..1) are left out.","format":"double","type":"number"},"objects":{"default":true,"description":"Objects, logos, actions and people, and what kind of shot each shot is, from a vision model.","type":"boolean"},"objects_interval_ms":{"default":3000,"description":"How often a shot is looked at again for them, in milliseconds.","format":"int64","type":"integer"},"sensitivity":{"default":0.5,"description":"0 (only clear cuts) to 1 (every change of picture); 0.5 suits broadcast.","format":"double","type":"number"},"shots":{"default":true,"description":"Shot boundaries and scenes.","type":"boolean"},"text":{"default":true,"description":"Text on screen: captions, tickers, signs, credits.","type":"boolean"},"text_interval_ms":{"default":2000,"description":"How often a long shot is read again, in milliseconds.","format":"int64","type":"integer"},"text_languages":{"default":["el","en"],"description":"The scripts to read (ISO 639-1), e.g. `[\"el\", \"en\"]`.","items":{"type":"string"},"type":"array"}},"type":"object"},"VocabularyBody":{"oneOf":[{"properties":{"kind":{"enum":["lexicon"],"type":"string"},"language":{"type":["string","null"]},"name":{"type":"string"},"terms":{"items":{"$ref":"#/components/schemas/Term"},"type":"array"}},"required":["name","terms","kind"],"type":"object"},{"properties":{"categories":{"items":{"$ref":"#/components/schemas/Category"},"type":"array"},"kind":{"enum":["taxonomy"],"type":"string"},"name":{"type":"string"}},"required":["name","categories","kind"],"type":"object"}]},"VocabularyView":{"allOf":[{"$ref":"#/components/schemas/VocabularyBody"},{"properties":{"created_at":{"type":"string"},"id":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","created_at","updated_at"],"type":"object"}]},"WebhookInput":{"additionalProperties":false,"properties":{"events":{"description":"Event types, or `[\"*\"]` for all.","items":{"type":"string"},"type":"array"},"url":{"description":"A public `https` address.","type":"string"}},"required":["url","events"],"type":"object"},"WebhookView":{"properties":{"active":{"type":"boolean"},"created_at":{"type":"string"},"events":{"items":{"type":"string"},"type":"array"},"id":{"type":"string"},"secret":{"description":"Shown once, when the endpoint is created: `whsec_` and a base64 key.","type":["string","null"]},"url":{"type":"string"}},"required":["id","url","events","active","created_at"],"type":"object"},"WordItem":{"description":"A recognised word.","properties":{"confidence":{"description":"0 to 1.","format":"double","type":"number"},"end_ms":{"format":"int64","type":"integer"},"speaker":{"description":"`S1`, `S2`… when diarised.","type":["string","null"]},"start_ms":{"format":"int64","type":"integer"},"text":{"type":"string"}},"required":["text","start_ms","end_ms","confidence"],"type":"object"},"WorkDoc":{"description":"A musical work. Fields this API does not know are ignored, so records exported from other\nsystems can be sent as they are.","properties":{"alternate_titles":{"items":{"type":"string"},"type":"array"},"contributors":{"items":{"$ref":"#/components/schemas/ContributorDoc"},"type":"array"},"duration_ms":{"format":"int64","type":["integer","null"]},"id":{"description":"Given by the server when a work is created; send it to replace a stored work.","type":"string"},"isrcs":{"description":"Recordings known to embody the work.","items":{"type":"string"},"type":"array"},"iswc":{"description":"`T-DDD.DDD.DDD-C`, check digit verified.","type":["string","null"]},"language":{"type":["string","null"]},"title":{"type":"string"}},"required":["title"],"type":"object"},"WorkView":{"properties":{"issues":{"items":{"$ref":"#/components/schemas/RecordIssueDoc"},"type":"array"},"links":{"description":"Recordings linked to the work.","items":{"$ref":"#/components/schemas/LinkView"},"type":"array"},"updated_at":{"type":"string"},"work":{"$ref":"#/components/schemas/WorkDoc"}},"required":["work","links","issues","updated_at"],"type":"object"}},"securitySchemes":{"api_key":{"bearerFormat":"stk_…","scheme":"bearer","type":"http"}}},"info":{"description":"Media intelligence on one timeline: speech (recognition, speakers, correction, translation, entities, topics), pictures (shots, scenes, on-screen text), events from other systems and how they line up, and music rights data (recordings, works, parties, identifiers, matching, conflicts, cue sheets).\n\nAuthenticate with `Authorization: Bearer <key>`. Errors are RFC 9457 problem details. Lists are paginated with `limit` and `cursor`. POSTs that start work accept an `Idempotency-Key`. Times on the media timeline are integer milliseconds from the start of the asset.","license":{"name":"Proprietary"},"title":"Strata API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/v1/account":{"get":{"description":"Who the key belongs to, what it may do, and this month's usage against the quota.","operationId":"account_account","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"}},"summary":"Who the key belongs to, what it may do, and this month's usage against the quota","tags":["Account"]}},"/v1/assets":{"get":{"description":"Assets, newest first.","operationId":"media_list","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Only assets with this `external_ref`.","in":"query","name":"external_ref","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_AssetView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"Assets, newest first","tags":["Media"]},"post":{"description":"Upload a media file (any container ffmpeg reads): multipart with a `file` part and optional `name` and `external_ref` parts. The file is probed before the answer: a `201` asset is ready to analyse, and a file that cannot be read (or lasts longer than the deployment allows) is refused with `422`.","operationId":"media_upload","requestBody":{"content":{"multipart/form-data":{}},"description":"`file` (the media), `name`, `external_ref`"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Upload a media file (any container ffmpeg reads): multipart with a `file` part and optional `name` and `external_ref` parts","tags":["Media"]}},"/v1/assets/from-url":{"post":{"description":"Fetch media from a public URL in the background. The answer is `202` with a `pending` asset; `asset.ready` or `asset.failed` follows as a webhook, and the asset's `status` says the same. Send an `Idempotency-Key` to retry safely.","operationId":"media_from_url","parameters":[{"description":"Makes a retried request safe","in":"header","name":"Idempotency-Key","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FromUrl"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetView"}}},"description":"Accepted; the work goes on in the background"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Fetch media from a public URL in the background","tags":["Media"]}},"/v1/assets/{id}":{"delete":{"description":"Deletes an asset, its file, its jobs and every result.","operationId":"media_delete_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:write"]}],"summary":"Deletes an asset, its file, its jobs and every result","tags":["Media"]},"get":{"description":"One asset.","operationId":"media_get_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:read"]}],"summary":"One asset","tags":["Media"]}},"/v1/assets/{id}/content":{"get":{"description":"The media file itself, with byte ranges (for players).","operationId":"media_content","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The media file"},"206":{"description":"A byte range"},"304":{"description":"Not modified since `If-Modified-Since`"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"416":{"description":"The range lies outside the file"}},"security":[{"api_key":["media:read"]}],"summary":"The media file itself, with byte ranges (for players)","tags":["Media"]}},"/v1/assets/{id}/correlations":{"get":{"description":"For each event, what was said, by whom, what was on screen and in which shots, at the same time.","operationId":"events_correlations","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Only events of this kind.","in":"query","name":"kind","required":false,"schema":{"type":"string"}},{"description":"How far apart items may be and still be joined (ms); the job's setting when omitted, else 1500.","in":"query","name":"tolerance_ms","required":false,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Correlation"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"For each event, what was said, by whom, what was on screen and in which shots, at the same time","tags":["Events"]}},"/v1/assets/{id}/detections":{"get":{"description":"What was seen in the picture, in one list ordered by time and in one shape for every type: new shots, what kind of shot each is, text on screen, logos, objects, people and actions, each with a timestamp, a type, a label and a confidence; made to be joined with what other systems found at the same time. Logos, objects, people, actions and scenes come from the `objects` stage.","operationId":"results_detections","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Comma-separated types to keep (`shot`, `scene`, `text`, `logo`, `object`, `person`,\n`action`); all when omitted.","in":"query","name":"types","required":false,"schema":{"type":"string"}},{"description":"Leaves out detections less likely than this, 0 to 1. Shots and scenes have no confidence and\nstay.","in":"query","name":"min_confidence","required":false,"schema":{"format":"double","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Detections"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"What was seen in the picture, in one list ordered by time and in one shape for every type: new shots, what kind of shot each is, text on screen, logos, objects, people and actions, each with a timestamp, a type, a label and a confidence; made to be joined with what other systems found at the same time","tags":["Results"]}},"/v1/assets/{id}/events":{"delete":{"description":"Removes an asset's events (of one kind, or all).","operationId":"events_clear","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"kind","required":false,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Removes an asset's events (of one kind, or all)","tags":["Events"]},"get":{"description":"An asset's events, in time order.","operationId":"events_list","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"kind","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EventView"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"An asset's events, in time order","tags":["Events"]},"post":{"description":"Adds events to an asset's timeline (at most 10 000 per request).","operationId":"events_import","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventBatch"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Imported"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Adds events to an asset's timeline (at most 10 000 per request)","tags":["Events"]}},"/v1/assets/{id}/exports/{format}":{"get":{"description":"Exports: `json` (every layer and event), `vtt` (WebVTT subtitles with speaker voices), `srt`, `csv` (the merged timeline) and `txt` (a readable transcript).","operationId":"results_export","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"json, vtt, srt, csv or txt","in":"path","name":"format","required":true,"schema":{"type":"string"}},{"description":"A translation's language (ISO 639-1); the original when omitted.","in":"query","name":"language","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"The export as a file"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"Exports: `json` (every layer and event), `vtt` (WebVTT subtitles with speaker voices), `srt`, `csv` (the merged timeline) and `txt` (a readable transcript)","tags":["Results"]}},"/v1/assets/{id}/layers":{"get":{"description":"The layers an asset has.","operationId":"results_list_layers","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LayerInfo"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:read"]}],"summary":"The layers an asset has","tags":["Results"]}},"/v1/assets/{id}/layers/{layer}":{"get":{"description":"One layer with all its items.","operationId":"results_get_layer","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"layer","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:read"]}],"summary":"One layer with all its items","tags":["Results"]}},"/v1/assets/{id}/timeline":{"get":{"description":"Every layer's items on one timeline, ordered by start: what was said, by whom, what was on screen, and what other systems reported, side by side.","operationId":"results_timeline","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"Comma-separated layer names (and `events` for imported events); all when omitted.","in":"query","name":"layers","required":false,"schema":{"type":"string"}},{"in":"query","name":"from_ms","required":false,"schema":{"format":"int64","type":"integer"}},{"in":"query","name":"to_ms","required":false,"schema":{"format":"int64","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Timeline"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"Every layer's items on one timeline, ordered by start: what was said, by whom, what was on screen, and what other systems reported, side by side","tags":["Results"]}},"/v1/assets/{id}/transcript":{"get":{"description":"The transcript, by sentence and by word, in the spoken language or a translation.","operationId":"results_transcript","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"A translation's language (ISO 639-1); the original when omitted.","in":"query","name":"language","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranscriptView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"The transcript, by sentence and by word, in the spoken language or a translation","tags":["Results"]}},"/v1/audit":{"get":{"description":"The decisions people made about a record, oldest first: links confirmed or rejected, conflicts closed. Cue sheets keep their own history (`GET /v1/cuesheets/{id}/history`).","operationId":"account_audit","parameters":[{"description":"The record whose changes to list: a recording, work, cue sheet… by its id.","in":"query","name":"subject","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AuditEntry"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["admin"]}],"summary":"The decisions people made about a record, oldest first: links confirmed or rejected, conflicts closed","tags":["Account"]}},"/v1/capabilities":{"get":{"description":"The engines this deployment runs, their models and licences, and its limits.","operationId":"account_capabilities","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Capabilities"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"}},"summary":"The engines this deployment runs, their models and licences, and its limits","tags":["Account"]}},"/v1/cuesheets":{"get":{"description":"Cue sheets, newest first.","operationId":"cue_sheets_list","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"`draft`, `submitted`, `approved`, `rejected`, `exported`.","in":"query","name":"status","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_CueSheetSummary"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["cuesheets:read"]}],"summary":"Cue sheets, newest first","tags":["Cue sheets"]},"post":{"description":"Creates a cue sheet: empty, with the given entries, or generated from the asset's identified recordings and completed from the rights catalogue.","operationId":"cue_sheets_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCueSheet"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CueSheetView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["cuesheets:write"]}],"summary":"Creates a cue sheet: empty, with the given entries, or generated from the asset's identified recordings and completed from the rights catalogue","tags":["Cue sheets"]}},"/v1/cuesheets/import":{"post":{"description":"Imports a producer's cue sheet: multipart with a `file` (CSV, XLSX/XLSB or Strata JSON) and optional `fps` (for `HH:MM:SS:FF` timecodes, default 25), `sheet` (a worksheet name) and `asset_id`. Headers in English, Greek, German, French and Slovak are recognised.","operationId":"cue_sheets_import","requestBody":{"content":{"multipart/form-data":{}},"description":"`file`, `fps`, `sheet`, `asset_id`"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportedCueSheet"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["cuesheets:write"]}],"summary":"Imports a producer's cue sheet: multipart with a `file` (CSV, XLSX/XLSB or Strata JSON) and optional `fps` (for `HH:MM:SS:FF` timecodes, default 25), `sheet` (a worksheet name) and `asset_id`","tags":["Cue sheets"]}},"/v1/cuesheets/{id}":{"delete":{"description":"Deletes a sheet that has not been submitted.","operationId":"cue_sheets_delete_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"}},"security":[{"api_key":["cuesheets:write"]}],"summary":"Deletes a sheet that has not been submitted","tags":["Cue sheets"]},"get":{"description":"One cue sheet, with what validation finds in it.","operationId":"cue_sheets_get_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CueSheetView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["cuesheets:read"]}],"summary":"One cue sheet, with what validation finds in it","tags":["Cue sheets"]},"patch":{"description":"Applies corrections. Only drafts and rejected sheets can be corrected.","operationId":"cue_sheets_correct","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Corrections"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CueSheetView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["cuesheets:write"]}],"summary":"Applies corrections","tags":["Cue sheets"]}},"/v1/cuesheets/{id}/export/{format}":{"get":{"description":"Exports a sheet: `csv`, `json`, `xlsx` or `xml` (Strata's neutral schema).","operationId":"cue_sheets_export","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"description":"csv, json, xlsx or xml","in":"path","name":"format","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The cue sheet as a file"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["cuesheets:read"]}],"summary":"Exports a sheet: `csv`, `json`, `xlsx` or `xml` (Strata's neutral schema)","tags":["Cue sheets"]}},"/v1/cuesheets/{id}/history":{"get":{"description":"Everything that happened to a sheet, oldest first.","operationId":"cue_sheets_history","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/HistoryView"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["cuesheets:read"]}],"summary":"Everything that happened to a sheet, oldest first","tags":["Cue sheets"]}},"/v1/cuesheets/{id}/transitions":{"post":{"description":"Moves a sheet through its workflow: draft → submitted → approved → exported; submitted → rejected (with a reason) → draft. Submitting needs a sheet without errors.","operationId":"cue_sheets_transition","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransitionInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CueSheetView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["cuesheets:write"]}],"summary":"Moves a sheet through its workflow: draft → submitted → approved → exported; submitted → rejected (with a reason) → draft","tags":["Cue sheets"]}},"/v1/jobs":{"get":{"description":"Jobs, newest first.","operationId":"jobs_list","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_id","required":false,"schema":{"type":"string"}},{"description":"`queued`, `running`, `succeeded`, `failed`, `cancelled`.","in":"query","name":"status","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_JobView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"Jobs, newest first","tags":["Jobs"]},"post":{"description":"Queues an analysis of a ready asset. Answers `202` with the job; send an `Idempotency-Key` to retry safely. Refused with `429` when the month's processing quota would be exceeded.","operationId":"jobs_create","parameters":[{"description":"Makes a retried request safe","in":"header","name":"Idempotency-Key","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobInput"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobView"}}},"description":"Accepted; the work goes on in the background"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Quota reached"}},"security":[{"api_key":["media:write"]}],"summary":"Queues an analysis of a ready asset","tags":["Jobs"]}},"/v1/jobs/{id}":{"get":{"description":"One job, with its stages.","operationId":"jobs_get_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:read"]}],"summary":"One job, with its stages","tags":["Jobs"]}},"/v1/jobs/{id}/cancel":{"post":{"description":"Cancels a queued or running job; a running job stops at its next stage.","operationId":"jobs_cancel","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"}},"security":[{"api_key":["media:write"]}],"summary":"Cancels a queued or running job; a running job stops at its next stage","tags":["Jobs"]}},"/v1/jobs/{id}/events":{"get":{"description":"The job's progress as server-sent events (`text/event-stream`): one `progress` event now, one at every change, and the stream ends with the job.","operationId":"jobs_events","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/JobEvent"}}},"description":"`progress` events"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"`busy`: the account has 32 event streams open"}},"security":[{"api_key":["media:read"]}],"summary":"The job's progress as server-sent events (`text/event-stream`): one `progress` event now, one at every change, and the stream ends with the job","tags":["Jobs"]}},"/v1/languages":{"get":{"description":"Languages for speech recognition, translation and on-screen text. On-screen text depends on the scripts installed on this deployment.","operationId":"account_languages","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Language"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"}},"summary":"Languages for speech recognition, translation and on-screen text","tags":["Account"]}},"/v1/profiles":{"get":{"description":"Profiles, newest first.","operationId":"profiles_list","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_ProfileView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"Profiles, newest first","tags":["Profiles"]},"post":{"description":"Creates a profile.","operationId":"profiles_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileInput"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Creates a profile","tags":["Profiles"]}},"/v1/profiles/{id}":{"delete":{"description":"Deletes a profile.","operationId":"profiles_delete_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:write"]}],"summary":"Deletes a profile","tags":["Profiles"]},"get":{"description":"One profile.","operationId":"profiles_get_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:read"]}],"summary":"One profile","tags":["Profiles"]},"put":{"description":"Replaces a profile's name and configuration. Jobs already queued keep the configuration they were given.","operationId":"profiles_update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Replaces a profile's name and configuration","tags":["Profiles"]}},"/v1/rights/conflicts":{"get":{"description":"Conflicts, newest first.","operationId":"rights_list_conflicts","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"`open`, `resolved`, `dismissed`.","in":"query","name":"status","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_ConflictView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:read"]}],"summary":"Conflicts, newest first","tags":["Rights"]}},"/v1/rights/conflicts/detect":{"post":{"description":"Looks for conflicts across the whole catalogue. Known conflicts keep their status; open ones no longer found are resolved; new ones are announced with `rights.conflict_opened`.","operationId":"rights_detect_conflicts","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionResult"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"`busy`: a pass over the catalogue is already running"}},"security":[{"api_key":["rights:write"]}],"summary":"Looks for conflicts across the whole catalogue","tags":["Rights"]}},"/v1/rights/conflicts/{id}/decide":{"post":{"description":"Closes a conflict with a note: `resolved` (fixed) or `dismissed` (not a problem). A dismissed conflict stays dismissed when detection finds it again.","operationId":"rights_decide_conflict","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictDecision"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Closes a conflict with a note: `resolved` (fixed) or `dismissed` (not a problem)","tags":["Rights"]}},"/v1/rights/identifiers":{"get":{"description":"Checks identifiers: shape and, where they have one, check digits.","operationId":"rights_identifiers","parameters":[{"in":"query","name":"isrc","required":false,"schema":{"type":"string"}},{"in":"query","name":"iswc","required":false,"schema":{"type":"string"}},{"in":"query","name":"ipi","required":false,"schema":{"type":"string"}},{"in":"query","name":"ipi_base","required":false,"schema":{"type":"string"}},{"in":"query","name":"territory","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/IdentifierCheck"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"summary":"Checks identifiers: shape and, where they have one, check digits","tags":["Rights"]}},"/v1/rights/import":{"post":{"description":"Imports works and recordings in bulk (at most 5000 each per request). Each record is checked on its own; one bad record does not stop the others. A record whose `id` names an existing record replaces it.","operationId":"rights_import","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportBatch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Imports works and recordings in bulk (at most 5000 each per request)","tags":["Rights"]}},"/v1/rights/links":{"get":{"description":"Links between recordings and works; `status=proposed` is the review queue.","operationId":"rights_list_links","parameters":[{"description":"`proposed` (the review queue), `confirmed`, `rejected`.","in":"query","name":"status","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LinkView"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:read"]}],"summary":"Links between recordings and works; `status=proposed` is the review queue","tags":["Rights"]}},"/v1/rights/links/decide":{"post":{"description":"A person's decision on a link — one matching proposed, or a recording and a work the person links (or keeps apart) themselves. Automatic matching never overturns it.","operationId":"rights_decide_link","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkDecision"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"A person's decision on a link — one matching proposed, or a recording and a work the person links (or keeps apart) themselves","tags":["Rights"]}},"/v1/rights/match":{"post":{"description":"Matches every recording that has no confirmed link yet.","operationId":"rights_match_all","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchSummary"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"`busy`: a pass over the catalogue is already running"}},"security":[{"api_key":["rights:write"]}],"summary":"Matches every recording that has no confirmed link yet","tags":["Rights"]}},"/v1/rights/parties":{"get":{"description":"Parties, newest first.","operationId":"rights_list_parties","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Part of a name or title, or an exact identifier.","in":"query","name":"q","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_PartyView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:read"]}],"summary":"Parties, newest first","tags":["Rights"]},"post":{"description":"Adds a party (a writer, publisher or other rightsholder).","operationId":"rights_create_party","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyInput"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Adds a party (a writer, publisher or other rightsholder)","tags":["Rights"]}},"/v1/rights/parties/{id}":{"delete":{"description":"Removes a party.","operationId":"rights_delete_party","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:write"]}],"summary":"Removes a party","tags":["Rights"]},"get":{"description":"One party.","operationId":"rights_get_party","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:read"]}],"summary":"One party","tags":["Rights"]},"put":{"description":"Replaces a party's name, identifiers and kind.","operationId":"rights_update_party","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Replaces a party's name, identifiers and kind","tags":["Rights"]}},"/v1/rights/recordings":{"get":{"description":"Recordings, newest first. `q` finds any part of a title or version, whatever the case, accents or script, or an exact ISRC.","operationId":"rights_list_recordings","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Part of a name or title, or an exact identifier.","in":"query","name":"q","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_RecordingDoc"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:read"]}],"summary":"Recordings, newest first","tags":["Rights"]},"post":{"description":"Adds a recording.","operationId":"rights_create_recording","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordingDoc"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordingView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Adds a recording","tags":["Rights"]}},"/v1/rights/recordings/{id}":{"delete":{"description":"Removes a recording and its links.","operationId":"rights_delete_recording","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:write"]}],"summary":"Removes a recording and its links","tags":["Rights"]},"get":{"description":"One recording, its links and what validation finds.","operationId":"rights_get_recording","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordingView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:read"]}],"summary":"One recording, its links and what validation finds","tags":["Rights"]},"put":{"description":"Replaces a recording.","operationId":"rights_update_recording","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordingDoc"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordingView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Replaces a recording","tags":["Rights"]}},"/v1/rights/recordings/{id}/match":{"post":{"description":"Matches a recording to works: its ISRC listed on a work or its ISWC decides; otherwise titles (across Greek, Latin and Cyrillic writing), writers' IPI numbers and names, performers and durations are weighed. A clear winner is linked; close calls are proposed for review.","operationId":"rights_match_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:write"]}],"summary":"Matches a recording to works: its ISRC listed on a work or its ISWC decides; otherwise titles (across Greek, Latin and Cyrillic writing), writers' IPI numbers and names, performers and durations are weighed","tags":["Rights"]}},"/v1/rights/validate":{"post":{"description":"Checks works and recordings without storing them: identifiers, shares, required fields.","operationId":"rights_validate_records","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RecordIssueDoc"},"type":"array"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:read"]}],"summary":"Checks works and recordings without storing them: identifiers, shares, required fields","tags":["Rights"]}},"/v1/rights/works":{"get":{"description":"Works, newest first. `q` finds any part of a title or an alternate title — whatever the case, accents or script (`fos` finds «Το φως της πόλης») — or an exact ISWC.","operationId":"rights_list_works","parameters":[{"description":"Items per page, 1 to 200 (default 50).","in":"query","name":"limit","required":false,"schema":{"minimum":0,"type":"integer"}},{"description":"The `next_cursor` of the previous page.","in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"description":"Part of a name or title, or an exact identifier.","in":"query","name":"q","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/List_WorkDoc"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:read"]}],"summary":"Works, newest first","tags":["Rights"]},"post":{"description":"Adds a work. Identifiers are checked (ISWC and IPI check digits included); shares must total 100 % per right and territory.","operationId":"rights_create_work","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkDoc"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Adds a work","tags":["Rights"]}},"/v1/rights/works/{id}":{"delete":{"description":"Removes a work and its links.","operationId":"rights_delete_work","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:write"]}],"summary":"Removes a work and its links","tags":["Rights"]},"get":{"description":"One work, its links and what validation finds.","operationId":"rights_get_work","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["rights:read"]}],"summary":"One work, its links and what validation finds","tags":["Rights"]},"put":{"description":"Replaces a work.","operationId":"rights_update_work","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkDoc"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["rights:write"]}],"summary":"Replaces a work","tags":["Rights"]}},"/v1/vocabularies":{"get":{"description":"Vocabularies.","operationId":"vocabularies_list","parameters":[{"description":"`lexicon` or `taxonomy`.","in":"query","name":"kind","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/VocabularyView"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:read"]}],"summary":"Vocabularies","tags":["Vocabularies"]},"post":{"description":"Creates a lexicon or a taxonomy.","operationId":"vocabularies_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VocabularyBody"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VocabularyView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Creates a lexicon or a taxonomy","tags":["Vocabularies"]}},"/v1/vocabularies/{id}":{"delete":{"description":"Deletes a vocabulary.","operationId":"vocabularies_delete_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:write"]}],"summary":"Deletes a vocabulary","tags":["Vocabularies"]},"get":{"description":"One vocabulary.","operationId":"vocabularies_get_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VocabularyView"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["media:read"]}],"summary":"One vocabulary","tags":["Vocabularies"]},"put":{"description":"Replaces a vocabulary (its kind cannot change).","operationId":"vocabularies_update","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VocabularyBody"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VocabularyView"}}},"description":"OK"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Conflict with the resource's state"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["media:write"]}],"summary":"Replaces a vocabulary (its kind cannot change)","tags":["Vocabularies"]}},"/v1/webhooks":{"get":{"description":"Endpoints.","operationId":"webhooks_list","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WebhookView"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"}},"security":[{"api_key":["admin"]}],"summary":"Endpoints","tags":["Webhooks"]},"post":{"description":"Registers an endpoint. The answer carries its signing secret, which is not shown again.","operationId":"webhooks_create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookInput"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookView"}}},"description":"Created"},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request could not be read"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"413":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Too large"},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Unsupported media type"},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Invalid input"}},"security":[{"api_key":["admin"]}],"summary":"Registers an endpoint","tags":["Webhooks"]}},"/v1/webhooks/{id}":{"delete":{"description":"Removes an endpoint and its deliveries.","operationId":"webhooks_delete_one","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["admin"]}],"summary":"Removes an endpoint and its deliveries","tags":["Webhooks"]}},"/v1/webhooks/{id}/deliveries":{"get":{"description":"The newest 100 deliveries to an endpoint.","operationId":"webhooks_deliveries","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DeliveryView"},"type":"array"}}},"description":"OK"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["admin"]}],"summary":"The newest 100 deliveries to an endpoint","tags":["Webhooks"]}},"/v1/webhooks/{id}/deliveries/{delivery}/retry":{"post":{"description":"Queues a delivery again, with a fresh round of retries (after the receiving side was fixed).","operationId":"webhooks_redeliver","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"path","name":"delivery","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted; the work goes on in the background"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["admin"]}],"summary":"Queues a delivery again, with a fresh round of retries (after the receiving side was fixed)","tags":["Webhooks"]}},"/v1/webhooks/{id}/ping":{"post":{"description":"Sends a `ping` event to one endpoint now, to check it and its signature verification.","operationId":"webhooks_ping","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted; the work goes on in the background"},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No valid API key"},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The key lacks the scope"},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Not found"}},"security":[{"api_key":["admin"]}],"summary":"Sends a `ping` event to one endpoint now, to check it and its signature verification","tags":["Webhooks"]}}},"security":[{"api_key":[]}],"servers":[{"url":"https://vocabulift.com"}],"tags":[{"description":"The key's tenant, usage and quota; engines, models and licences; languages; the audit trail.","name":"Account"},{"description":"Media assets: upload, fetch from a URL, probe.","name":"Media"},{"description":"Stored analysis configurations.","name":"Profiles"},{"description":"Analyses: queue, follow, cancel.","name":"Jobs"},{"description":"Layers, the merged timeline, transcripts and exports.","name":"Results"},{"description":"Events from other systems on an asset's timeline, and their correlation with speech and pictures.","name":"Events"},{"description":"Lexicons and taxonomies that steer analyses.","name":"Vocabularies"},{"description":"Recordings, works, parties, identifiers, matching, links and conflicts.","name":"Rights"},{"description":"Music cue sheets: generate, import, correct, approve, export.","name":"Cue sheets"},{"description":"Signed notifications of what happened.","name":"Webhooks"}]}