{"openapi":"3.1.0","info":{"title":"Mux (BYOK) API","version":"0.1.0","description":"Mux (BYOK) lets an AI assistant read your own Mux data through the Mux API with a key you supply (access token ID). Read-only: 5 tools (list_assets, get_asset, list_live_streams, list_direct_uploads, list_video_views). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to api.mux.com. Unofficial connector by Unify...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-mux.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-mux/docs"},"termsOfService":"https://connectorbay.com/byok-mux/terms"},"servers":[{"url":"https://byok-mux.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-mux/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_assets":{"post":{"operationId":"list_assets","summary":"List video assets (newest first) with status, duration, aspect ratio, resolution and playback IDs. Cursor or page pagina","description":"List video assets (newest first) with status, duration, aspect ratio, resolution and playback IDs. Cursor or page pagination. Use for \"Which videos have I uploaded to Mux and are they ready\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (default 25; Mux documents no maximum, this connector allows up to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: pass next_cursor from the previous answer.","title":"Cursor"},"live_stream_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only assets recorded from this live stream ID.","title":"Live Stream Id"},"upload_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the asset created from this direct upload ID.","title":"Upload Id"}},"title":"list_assetsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_asset":{"post":{"operationId":"get_asset","summary":"Get one video asset by ID: status, duration, aspect ratio, resolution settings, progress and playback IDs. Use for \"Is M","description":"Get one video asset by ID: status, duration, aspect ratio, resolution settings, progress and playback IDs. Use for \"Is Mux asset abc123 finished processing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset_id":{"description":"Asset ID from list_assets.","maxLength":200,"title":"Asset Id","type":"string"}},"required":["asset_id"],"title":"get_assetArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_live_streams":{"post":{"operationId":"list_live_streams","summary":"List live streams with status (active, idle, disabled), latency mode, reconnect window, playback IDs and recent asset ID","description":"List live streams with status (active, idle, disabled), latency mode, reconnect window, playback IDs and recent asset IDs. Stream keys are not returned. Use for \"Which of my Mux live streams are active right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (default 25; Mux documents no maximum, this connector allows up to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"status":{"anyOf":[{"enum":["active","idle","disabled"],"type":"string"},{"type":"null"}],"default":null,"description":"Only streams with this status.","title":"Status"}},"title":"list_live_streamsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_direct_uploads":{"post":{"operationId":"list_direct_uploads","summary":"List direct uploads with status (waiting, asset_created, cancelled), timeout and the asset created from each. Upload URL","description":"List direct uploads with status (waiting, asset_created, cancelled), timeout and the asset created from each. Upload URLs are not returned. Use for \"Which Mux direct uploads are still waiting\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (default 25; Mux documents no maximum, this connector allows up to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_direct_uploadsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_video_views":{"post":{"operationId":"list_video_views","summary":"List playback views recorded by Mux Data (needs Mux Data enabled) with video title, country, watch time, experience scor","description":"List playback views recorded by Mux Data (needs Mux Data enabled) with video title, country, watch time, experience score and errors. Filter by time window. Use for \"Which Mux video views had playback errors in the last 24 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (default 25; Mux documents no maximum, this connector allows up to 100).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"viewer_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only views by this viewer ID.","title":"Viewer Id"},"error_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only views with this error type ID, or 'any' for views with any error.","title":"Error Id"},"order_direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Order Direction"},"timeframe":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Time window of view end times as a duration such as '24:hours' or '7:days'.","title":"Timeframe"}},"title":"list_video_viewsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}