{"openapi":"3.1.0","info":{"title":"Weaviate (BYOK) API","version":"0.1.0","description":"Weaviate (BYOK) lets an AI assistant read your own Weaviate data through the Weaviate API with a key you supply (Weaviate Cloud API key (a read-only key is enough)). Read-only: 10 tools (get_meta, get_schema, get_collection, list_nodes, get_cluster_statistics, list_shards, list_tenants, list_aliases, list_objects, get_object). The BYOK key travels with each request, is used for that one call only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-weaviate.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-weaviate/docs"},"termsOfService":"https://connectorbay.com/byok-weaviate/terms"},"servers":[{"url":"https://byok-weaviate.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-weaviate/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/get_meta":{"post":{"operationId":"get_meta","summary":"Show the Weaviate server version, host name, loaded modules and license information. Use for \"Which Weaviate version doe","description":"Show the Weaviate server version, host name, loaded modules and license information. Use for \"Which Weaviate version does my cluster run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"}},"required":["cluster"],"title":"get_metaArguments","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_schema":{"post":{"operationId":"get_schema","summary":"List all collections (classes) with description, vectorizer, vector index type and property definitions. Use for \"What c","description":"List all collections (classes) with description, vectorizer, vector index type and property definitions. Use for \"What collections exist in my Weaviate cluster\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"}},"required":["cluster"],"title":"get_schemaArguments","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_collection":{"post":{"operationId":"get_collection","summary":"Get one collection definition: vectorizer, index type, multi-tenancy and replication settings, and properties. Use for \"","description":"Get one collection definition: vectorizer, index type, multi-tenancy and replication settings, and properties. Use for \"Show the definition of the Weaviate collection Article\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"class_name":{"description":"Collection (class) name, for example 'Article'. get_schema lists the names.","maxLength":100,"title":"Class Name","type":"string"}},"required":["cluster","class_name"],"title":"get_collectionArguments","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_nodes":{"post":{"operationId":"list_nodes","summary":"List cluster nodes with status, version, shard count and object count (verbose adds per-shard details). Use for \"Are all","description":"List cluster nodes with status, version, shard count and object count (verbose adds per-shard details). Use for \"Are all Weaviate nodes healthy and how many objects do they hold\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"output":{"anyOf":[{"enum":["minimal","verbose"],"type":"string"},{"type":"null"}],"default":null,"description":"Detail level: minimal or verbose (verbose adds shard details).","title":"Output"}},"required":["cluster"],"title":"list_nodesArguments","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_cluster_statistics":{"post":{"operationId":"get_cluster_statistics","summary":"Show Raft cluster statistics: per-node status, readiness, leader and applied index, and whether nodes are synchronized. ","description":"Show Raft cluster statistics: per-node status, readiness, leader and applied index, and whether nodes are synchronized. Use for \"Is my Weaviate cluster synchronized\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"}},"required":["cluster"],"title":"get_cluster_statisticsArguments","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_shards":{"post":{"operationId":"list_shards","summary":"List the shards of a collection with status and vector queue size. Use for \"What is the shard status of the Weaviate col","description":"List the shards of a collection with status and vector queue size. Use for \"What is the shard status of the Weaviate collection Article\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"class_name":{"description":"Collection (class) name, for example 'Article'. get_schema lists the names.","maxLength":100,"title":"Class Name","type":"string"},"tenant":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Tenant name for a multi-tenant collection.","title":"Tenant"}},"required":["cluster","class_name"],"title":"list_shardsArguments","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_tenants":{"post":{"operationId":"list_tenants","summary":"List the tenants of a multi-tenant collection with their activity status (active, inactive and so on). Use for \"Which te","description":"List the tenants of a multi-tenant collection with their activity status (active, inactive and so on). Use for \"Which tenants does the Weaviate collection Article have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"class_name":{"description":"Collection (class) name, for example 'Article'. get_schema lists the names.","maxLength":100,"title":"Class Name","type":"string"}},"required":["cluster","class_name"],"title":"list_tenantsArguments","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_aliases":{"post":{"operationId":"list_aliases","summary":"List collection aliases with the collection each points to, optionally for one collection. Use for \"Which aliases point ","description":"List collection aliases with the collection each points to, optionally for one collection. Use for \"Which aliases point at my Weaviate collections\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"class_name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only aliases of this collection.","title":"Class Name"}},"required":["cluster"],"title":"list_aliasesArguments","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_objects":{"post":{"operationId":"list_objects","summary":"List stored objects of a collection with id, timestamps and properties (data stored by the key owner), paged by limit an","description":"List stored objects of a collection with id, timestamps and properties (data stored by the key owner), paged by limit and offset; vectors are not requested. Use for \"Show a few objects of the Weaviate collection Article\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"class_name":{"description":"Collection to list objects from (required).","maxLength":100,"title":"Class Name","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Maximum objects to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many objects to skip.","title":"Offset"},"tenant":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Tenant name for a multi-tenant collection.","title":"Tenant"}},"required":["cluster","class_name"],"title":"list_objectsArguments","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_object":{"post":{"operationId":"get_object","summary":"Get one stored object by collection and id with timestamps and properties; the vector is not requested. Use for \"Show th","description":"Get one stored object by collection and id with timestamps and properties; the vector is not requested. Use for \"Show the Weaviate Article object 5b6a08ba-1d46-43aa-89cc-8b070790c6f2\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cluster":{"description":"Your Weaviate Cloud cluster host label (my-cluster for my-cluster.weaviate.cloud). Cluster addresses with extra dotted parts before weaviate.cloud are not supported.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Cluster","type":"string"},"class_name":{"description":"Collection (class) name, for example 'Article'. get_schema lists the names.","maxLength":100,"title":"Class Name","type":"string"},"object_id":{"description":"Object UUID from list_objects.","maxLength":64,"title":"Object Id","type":"string"}},"required":["cluster","class_name","object_id"],"title":"get_objectArguments","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}}}}