{"openapi":"3.1.0","info":{"title":"Vectara (BYOK) API","version":"0.1.0","description":"Vectara (BYOK) lets an AI assistant read your own Vectara data through the Vectara API with a key you supply (personal or query/index API key). Read-only: 10 tools (list_corpora, get_corpus, list_documents, list_jobs, list_agents, list_agent_sessions, list_pipelines, list_llms, list_encoders, list_query_history). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-vectara.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-vectara/docs"},"termsOfService":"https://connectorbay.com/byok-vectara/terms"},"servers":[{"url":"https://byok-vectara.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-vectara/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_corpora":{"post":{"operationId":"list_corpora","summary":"List the corpora (search indexes) of the account with key, name, enabled flag, encoder and creation time. Use for \"Which","description":"List the corpora (search indexes) of the account with key, name, enabled flag, encoder and creation time. Use for \"Which Vectara corpora do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Regular expression matched against corpus names and summaries.","title":"Filter"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_corporaArguments","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_corpus":{"post":{"operationId":"get_corpus","summary":"Get one corpus's settings, filter attributes and usage against its limits (documents, parts, bytes). Use for \"How big is","description":"Get one corpus's settings, filter attributes and usage against its limits (documents, parts, bytes). Use for \"How big is my Vectara corpus support-docs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"corpus_key":{"description":"The corpus key (not the numeric ID), as shown by list_corpora.","maxLength":200,"title":"Corpus Key","type":"string"}},"required":["corpus_key"],"title":"get_corpusArguments","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_documents":{"post":{"operationId":"list_documents","summary":"List documents stored in a corpus (document IDs and metadata, not the full text). Use for \"What documents are in my Vect","description":"List documents stored in a corpus (document IDs and metadata, not the full text). Use for \"What documents are in my Vectara corpus support-docs\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"corpus_key":{"description":"The corpus key (not the numeric ID), as shown by list_corpora.","maxLength":200,"title":"Corpus Key","type":"string"},"metadata_filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Filter expression on document metadata, for example doc.lang = 'en'.","title":"Metadata Filter"},"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 1000, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"required":["corpus_key"],"title":"list_documentsArguments","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_jobs":{"post":{"operationId":"list_jobs","summary":"List background jobs (index rebuilds, bulk deletes and metadata updates) with state and timing. Use for \"Are any Vectara","description":"List background jobs (index rebuilds, bulk deletes and metadata updates) with state and timing. Use for \"Are any Vectara background jobs still running\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only jobs created after this ISO 8601 time.","title":"After"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_jobsArguments","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_agents":{"post":{"operationId":"list_agents","summary":"List AI agents defined in the account with name, description, enabled flag and update time. Use for \"Which Vectara agent","description":"List AI agents defined in the account with name, description, enabled flag and update time. Use for \"Which Vectara agents do I have and are they enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Regular expression matched against agent names and descriptions.","title":"Filter"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only enabled agents.","title":"Enabled"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_agentsArguments","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_agent_sessions":{"post":{"operationId":"list_agent_sessions","summary":"List the conversation sessions of one agent with name, status and creation time. Use for \"Show recent sessions of my Vec","description":"List the conversation sessions of one agent with name, status and creation time. Use for \"Show recent sessions of my Vectara agent support-bot\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_key":{"description":"The agent key, from list_agents.","maxLength":200,"title":"Agent Key","type":"string"},"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Regular expression matched against session names and descriptions.","title":"Filter"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"required":["agent_key"],"title":"list_agent_sessionsArguments","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_pipelines":{"post":{"operationId":"list_pipelines","summary":"List data pipelines that sync external sources into corpora, with source type, sync mode, status and enabled flag. Use f","description":"List data pipelines that sync external sources into corpora, with source type, sync mode, status and enabled flag. Use for \"Are my Vectara data pipelines healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["initializing","active","paused","error"],"type":"string"},{"type":"null"}],"default":null,"description":"Only pipelines with this status.","title":"Status"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Filter by enabled state.","title":"Enabled"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_pipelinesArguments","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_llms":{"post":{"operationId":"list_llms","summary":"List the language models available for generation with provider type, model name, ownership and default flag. Use for \"W","description":"List the language models available for generation with provider type, model name, ownership and default flag. Use for \"Which LLMs can I use in Vectara\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Regular expression matched against LLM names and descriptions.","title":"Filter"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_llmsArguments","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_encoders":{"post":{"operationId":"list_encoders","summary":"List the embedding encoders with output dimensions, default flag and image support. Use for \"Which embedding encoders do","description":"List the embedding encoders with output dimensions, default flag and image support. Use for \"Which embedding encoders does Vectara offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Regular expression matched against encoder names and descriptions.","title":"Filter"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_encodersArguments","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_query_history":{"post":{"operationId":"list_query_history","summary":"List past queries with text, corpus, latency and consistency score (needs history saving on the corpus). Use for \"What w","description":"List past queries with text, corpus, latency and consistency score (needs history saving on the corpus). Use for \"What were the latest queries run against my Vectara corpus\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"corpus_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only queries against this corpus key.","title":"Corpus Key"},"started_after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only queries started after this ISO 8601 time.","title":"Started After"},"started_before":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only queries started before this ISO 8601 time.","title":"Started Before"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum number of results (1 to 100, default 10).","title":"Limit"},"page_key":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor: the metadata.page_key value of the previous answer, to get the next page.","title":"Page Key"}},"title":"list_query_historyArguments","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}}}}