{"name":"Final Frame","description":"Media supply chain platform: deals, titles, deliverables, QC, work orders, rights and availability, with an append-only audit trail.","url":"https://qa.app.final-frame.com","documentationUrl":"https://qa.app.final-frame.com/docs","version":"1.0.0","provider":{"organization":"Final Frame","url":"https://final-frame.com"},"capabilities":{"streaming":true,"pushNotifications":true,"stateTransitionHistory":true},"authentication":{"schemes":["bearer"],"credentials":"An API key from Organisation settings, Integrations, or an OAuth 2.1 access token from the sign-in service."},"interfaces":{"openapi":"https://qa.app.final-frame.com/api/v1/openapi.json","mcp":{"url":"https://qa.app.final-frame.com/api/mcp","transport":"streamable-http","protectedResourceMetadata":"https://qa.app.final-frame.com/.well-known/oauth-protected-resource"},"llms":"https://qa.app.final-frame.com/llms.txt"},"skills":[{"id":"projects","name":"Deals","description":"Find, read, create and change deals, their titles, placeholders, work orders and close-outs."},{"id":"rights","name":"Rights","description":"Read what an organisation holds and has licensed, record and revoke holdings and restrictions, and check whether a right is available in a territory over a window."},{"id":"specs","name":"Delivery specs","description":"Read, create and change the organisation’s delivery specs, and copy the industry’s into the library."},{"id":"work","name":"Work orders","description":"Raise work orders idempotently where demand exceeds supply."}],"capabilityMatrix":[{"lifecycle":"Discover","api":"GET /v1/me, GET /v1/reference/rights, GET /v1/openapi.json","cli":"ff whoami, ff reference rights","mcp":"whoami, rights_vocabulary"},{"lifecycle":"Provision","api":"GET and PUT /v1/config (delivery specs, formats, metadata schema, taxonomies); keys minted by an admin under Integrations; invitations and roles by API follow","cli":"ff config export, ff config apply","mcp":"none, by design"},{"lifecycle":"Operate","api":"GET /v1/projects, titles, deliverables, downloads; POST and PATCH projects, titles (add, identifiers, bulk edit) and placeholders; POST work orders; every write with an Idempotency-Key","cli":"ff projects list, ff work-orders create","mcp":"find_projects, read_project, create_project, update_project, list_titles, read_title, add_title, update_title, bulk_edit_titles, list_deliverables, add_deliverable, update_deliverable, list_work_orders, create_work_order"},{"lifecycle":"Monitor","api":"GET /v1/projects/{id}/audit, close-out; webhooks for asset, QC, status, handoff, buyback events","cli":"ff audit, ff webhooks","mcp":"read_closeout"},{"lifecycle":"Rights","api":"GET /v1/rights/works, /v1/rights/works/{identity} (a season is {identity}#s2, an episode #s2e3), /v1/rights/works/{identity}/children, /v1/rights/availability, /v1/rights/map, /v1/rights/works/{identity}/windows and /release; POST /v1/rights/holdings and /v1/rights/restrictions, and /revoke on either","cli":"ff rights works, ff rights check","mcp":"list_rights_works, read_work_rights, list_rights_children, check_availability, rights_map, record_rights_holding, revoke_rights_holding, record_rights_restriction, revoke_rights_restriction"},{"lifecycle":"Specs","api":"GET and POST /v1/delivery-specs, PATCH /v1/delivery-specs/{id}; GET /v1/industry-specs and POST /v1/industry-specs/{id}/duplicate","cli":"ff config export, ff config apply","mcp":"list_delivery_specs, create_delivery_spec, update_delivery_spec, duplicate_industry_spec"},{"lifecycle":"Storage","api":"GET /v1/cloud/connections and their objects; POST /v1/cloud/imports (an object onto a placeholder); GET /v1/bin, POST /v1/bin/uploads, GET /v1/bin/download; POST /v1/projects/{id}/deliverables/{id}/attach from the bin or another placeholder","cli":"ff call","mcp":"start_upload, upload_part_urls, complete_upload, get_download_link"},{"lifecycle":"Govern","api":"Permissions on every key; the append-only action log per deal","cli":"ff keys list, ff keys revoke","mcp":"every tool refuses outside its scope"},{"lifecycle":"Deprovision","api":"Revoke a key in a click or by API; personal keys die with the membership","cli":"ff keys revoke","mcp":"none"}]}