{"openapi":"3.1.0","info":{"title":"Reka Vision (BYOK) API","version":"0.1.0","description":"Reka Vision (BYOK) lets an AI assistant read your own Reka Vision data through the Reka Vision API with a key you supply (Reka API key). Read-only: 9 tools (list_videos, get_video, list_video_groups, list_group_videos, get_feature_catalog, get_video_transcript, list_clip_generations, list_images, list_youtube_automations). The BYOK key travels with each request, is used for that one call only and...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-reka-vision.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-reka-vision/docs"},"termsOfService":"https://connectorbay.com/byok-reka-vision/terms"},"servers":[{"url":"https://byok-reka-vision.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-reka-vision/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_videos":{"post":{"operationId":"list_videos","summary":"List the videos in the account's Reka Vision library with upload status, group, per-feature indexing status (embeddings,","description":"List the videos in the account's Reka Vision library with upload status, group, per-feature indexing status (embeddings, transcript, captions ...) and metadata such as title, duration and resolution. Optionally restrict to given video ids. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"Which videos have I uploaded to Reka Vision and are they indexed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ids":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"A single video id to look up (omit to list all videos).","title":"Ids"}},"title":"list_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/get_video":{"post":{"operationId":"get_video","summary":"Get one video's upload status, error message, per-feature indexing status and metadata (title, duration, resolution, sou","description":"Get one video's upload status, error message, per-feature indexing status and metadata (title, duration, resolution, source). Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"Is Reka Vision video 550e8400-e29b-41d4-a716-446655440000 done indexing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"video_id":{"description":"Video id (UUID), as returned by list_videos.","maxLength":64,"title":"Video Id","type":"string"}},"required":["video_id"],"title":"get_videoArguments","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_groups":{"post":{"operationId":"list_video_groups","summary":"List the video groups (collections) of the account with name, metadata and dates. Reads stored metadata only: it starts ","description":"List the video groups (collections) of the account with name, metadata and dates. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"What video groups do I have in Reka Vision\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_video_groupsArguments","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_group_videos":{"post":{"operationId":"list_group_videos","summary":"List the videos that belong to one video group, with status, indexing state and metadata. Reads stored metadata only: it","description":"List the videos that belong to one video group, with status, indexing state and metadata. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"Which videos are in my Reka Vision group grp-1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_id":{"description":"Video group id, as returned by list_video_groups.","maxLength":64,"title":"Group Id","type":"string"}},"required":["group_id"],"title":"list_group_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/get_feature_catalog":{"post":{"operationId":"get_feature_catalog","summary":"List the video analysis features Reka Vision can compute (for example transcript, captions, embeddings, objects) with de","description":"List the video analysis features Reka Vision can compute (for example transcript, captions, embeddings, objects) with descriptions, dependencies and outputs. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"Which analysis features does Reka Vision offer for videos\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_feature_catalogArguments","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_video_transcript":{"post":{"operationId":"get_video_transcript","summary":"Get the transcript of an indexed video as timed segments, optionally for a time window. Page with page_token. Reads stor","description":"Get the transcript of an indexed video as timed segments, optionally for a time window. Page with page_token. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"What is said in Reka Vision video 550e8400-e29b-41d4-a716-446655440000\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"video_id":{"description":"Video id (UUID), as returned by list_videos.","maxLength":64,"title":"Video Id","type":"string"},"start":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Only segments from this second of the video.","title":"Start"},"end":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Only segments up to this second of the video.","title":"End"},"page_limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Segments per page (default 50).","title":"Page Limit"},"page_token":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the next_page_token of the previous answer.","title":"Page Token"}},"required":["video_id"],"title":"get_video_transcriptArguments","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_clip_generations":{"post":{"operationId":"list_clip_generations","summary":"List clip (reel) generation jobs with status, prompt and the source video links, newest first, with paging. Reads stored","description":"List clip (reel) generation jobs with status, prompt and the source video links, newest first, with paging. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"What is the status of my Reka Vision clip generations\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many jobs to return (default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many jobs to skip, for paging.","title":"Offset"},"status":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs with this status, for example 'completed' or 'processing'.","title":"Status"}},"title":"list_clip_generationsArguments","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_images":{"post":{"operationId":"list_images","summary":"List images stored in the account's Reka Vision image library with indexing status and upload time. Reads stored metadat","description":"List images stored in the account's Reka Vision image library with indexing status and upload time. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"Which images are in my Reka Vision image library\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many images to return (default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many images to skip, for paging.","title":"Offset"}},"title":"list_imagesArguments","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_youtube_automations":{"post":{"operationId":"list_youtube_automations","summary":"List the YouTube channel automations configured for the account: channel id and URL, whether enabled and last check time","description":"List the YouTube channel automations configured for the account: channel id and URL, whether enabled and last check time. Reads stored metadata only: it starts no indexing, search or model run and uses no credits. Use for \"Which YouTube channels does Reka Vision watch for me\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_youtube_automationsArguments","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}}}}