{"openapi":"3.1.0","info":{"title":"Vimeo Live (BYOK) API","version":"0.1.0","description":"Vimeo Live (BYOK) lets an AI assistant read your own Vimeo Live data through the Vimeo Live API with a key you supply (Vimeo access token (public and private scopes)). Read-only: 5 tools (list_live_events, get_live_event, list_live_event_occurrences, list_live_event_videos, list_live_event_thumbnails). The BYOK key travels with each request, is used for that one call only and is never stored,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-vimeo-live.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-vimeo-live/docs"},"termsOfService":"https://connectorbay.com/byok-vimeo-live/terms"},"servers":[{"url":"https://byok-vimeo-live.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-vimeo-live/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_live_events":{"post":{"operationId":"list_live_events","summary":"List the live events of a Vimeo user with title, status, type, schedule, time zone, start and completion times and the n","description":"List the live events of a Vimeo user with title, status, type, schedule, time zone, start and completion times and the next occurrence. Stream keys, passphrases and owner profile data are not returned. Use for \"Which live events does Vimeo user 12345 have and which are still upcoming\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"description":"Numeric ID of the Vimeo user (account owner).","maxLength":20,"title":"User Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items per page (1 to 100).","title":"Per Page"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Query"},"type":{"anyOf":[{"enum":["all","one_time","recurring"],"type":"string"},{"type":"null"}],"default":null,"description":"Kind of events.","title":"Type"},"filter":{"anyOf":[{"enum":["not_in_folder","not_in_showcase"],"type":"string"},{"type":"null"}],"default":null,"description":"Only events outside a folder or showcase.","title":"Filter"},"sort":{"anyOf":[{"enum":["alphabetical","date"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort order.","title":"Sort"},"direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Direction"}},"required":["user_id"],"title":"list_live_eventsArguments","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_live_event":{"post":{"operationId":"get_live_event","summary":"Get one live event: title, status, type, schedule, time zone, start and completion times, chat flag and stream mode. Str","description":"Get one live event: title, status, type, schedule, time zone, start and completion times, chat flag and stream mode. Stream keys, passphrases and owner profile data are not returned. Use for \"When does Vimeo live event 5550001 start and has it ended\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"description":"Numeric ID of the Vimeo user (account owner).","maxLength":20,"title":"User Id","type":"string"},"live_event_id":{"description":"Numeric ID of the live event from list_live_events.","maxLength":20,"title":"Live Event Id","type":"string"}},"required":["user_id","live_event_id"],"title":"get_live_eventArguments","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_event_occurrences":{"post":{"operationId":"list_live_event_occurrences","summary":"List scheduled live event occurrences in a date range with event title, type, status, start and end time and registratio","description":"List scheduled live event occurrences in a date range with event title, type, status, start and end time and registration flag. Use for \"Which Vimeo live events are scheduled in the next week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"description":"Numeric ID of the Vimeo user (account owner).","maxLength":20,"title":"User Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items per page (1 to 100).","title":"Per Page"},"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the range, ISO 8601, for example 2026-03-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"End of the range, ISO 8601 (default: 7 days after the start).","title":"End Date"}},"required":["user_id"],"title":"list_live_event_occurrencesArguments","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_event_videos":{"post":{"operationId":"list_live_event_videos","summary":"List the recordings (videos) created by a live event with title, duration, dates, privacy and play counts. Owner profile","description":"List the recordings (videos) created by a live event with title, duration, dates, privacy and play counts. Owner profile data is not returned. Use for \"Which recordings came from Vimeo live event 5550001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"description":"Numeric ID of the Vimeo user (account owner).","maxLength":20,"title":"User Id","type":"string"},"live_event_id":{"description":"Numeric ID of the live event from list_live_events.","maxLength":20,"title":"Live Event Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items per page (1 to 100).","title":"Per Page"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Search text.","title":"Query"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort order, for example date, duration, plays or likes.","title":"Sort"},"direction":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Direction"},"filter":{"anyOf":[{"const":"embeddable","type":"string"},{"type":"null"}],"default":null,"description":"Only embeddable videos.","title":"Filter"}},"required":["user_id","live_event_id"],"title":"list_live_event_videosArguments","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_event_thumbnails":{"post":{"operationId":"list_live_event_thumbnails","summary":"List the thumbnails of a live event with the active flag, default flag and base image link. Use for \"Which thumbnail is ","description":"List the thumbnails of a live event with the active flag, default flag and base image link. Use for \"Which thumbnail is active for Vimeo live event 5550001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"user_id":{"description":"Numeric ID of the Vimeo user (account owner).","maxLength":20,"title":"User Id","type":"string"},"live_event_id":{"description":"Numeric ID of the live event from list_live_events.","maxLength":20,"title":"Live Event Id","type":"string"}},"required":["user_id","live_event_id"],"title":"list_live_event_thumbnailsArguments","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}}}}