{"openapi":"3.1.0","info":{"title":"Guru Knowledge Agents (BYOK) API","version":"0.1.0","description":"Guru Knowledge Agents (BYOK) lets an AI assistant read your own Guru Knowledge Agents data through the Guru Knowledge Agents API with a key you supply (Guru user email (the API username)). Read-only: 6 tools (list_knowledge_agents, get_knowledge_agent, get_agent_accessible_sources, list_unverified_cards, list_announcements, list_collection_group_access). The BYOK key travels with each request, is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-guru-knowledge-agents.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-guru-knowledge-agents/docs"},"termsOfService":"https://connectorbay.com/byok-guru-knowledge-agents/terms"},"servers":[{"url":"https://byok-guru-knowledge-agents.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-guru-knowledge-agents/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_knowledge_agents":{"post":{"operationId":"list_knowledge_agents","summary":"List the Guru knowledge agents with name, description, type, whether they use all sources, show in the search bar and al","description":"List the Guru knowledge agents with name, description, type, whether they use all sources, show in the search bar and allow chat or research. Use for \"Which knowledge agents exist in our Guru\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"allow_in_search_bar":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only agents shown in the search bar, false for the rest.","title":"Allow In Search Bar"}},"title":"list_knowledge_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/get_knowledge_agent":{"post":{"operationId":"get_knowledge_agent","summary":"Get one knowledge agent by id: name, description, type, web search mode and feature flags. Use for \"Describe Guru knowle","description":"Get one knowledge agent by id: name, description, type, web search mode and feature flags. Use for \"Describe Guru knowledge agent a1b2c3\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"description":"Id of the knowledge agent, from the list.","maxLength":80,"title":"Agent Id","type":"string"}},"required":["agent_id"],"title":"get_knowledge_agentArguments","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_agent_accessible_sources":{"post":{"operationId":"get_agent_accessible_sources","summary":"List the collections a knowledge agent can read, with name and whether each is read-only. Use for \"Which Guru collection","description":"List the collections a knowledge agent can read, with name and whether each is read-only. Use for \"Which Guru collections can agent a1b2c3 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agent_id":{"description":"Id of the knowledge agent.","maxLength":80,"title":"Agent Id","type":"string"}},"required":["agent_id"],"title":"get_agent_accessible_sourcesArguments","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_unverified_cards":{"post":{"operationId":"list_unverified_cards","summary":"List cards that need verification: title, verification state and reason, last and next verification dates, interval, col","description":"List cards that need verification: title, verification state and reason, last and next verification dates, interval, collection name and whether auto-archive is pending. Card bodies are not returned. Use for \"Which Guru cards are waiting to be verified\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"max_results":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many cards to return per page.","title":"Max Results"},"sort_field":{"anyOf":[{"enum":["lastModified","boardCount","verificationState","copyCount","viewCount","favoriteCount","followerCount","dateCreated","verificationInterval","lastVerified","verificationReason","popularity","nextVerificationDate","collection","title","pendingAutoArchive","relevancy"],"type":"string"},{"type":"null"}],"default":"lastModified","description":"Sort field.","title":"Sort Field"},"sort_order":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":"DESC","description":"Sort order: ASC or DESC.","title":"Sort Order"},"pending_auto_archive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only cards pending auto-archive, false to exclude them.","title":"Pending Auto Archive"},"field_detail":{"anyOf":[{"enum":["NONE","BASIC","FULL"],"type":"string"},{"type":"null"}],"default":"FULL","description":"Detail level of each card: NONE, BASIC or FULL.","title":"Field Detail"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token from the previous call; leave out for the first page.","title":"Token"}},"title":"list_unverified_cardsArguments","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_announcements":{"post":{"operationId":"list_announcements","summary":"List announcements sent through Guru with card title, send date, scheduled send date and read statistics. Notes and reci","description":"List announcements sent through Guru with card title, send date, scheduled send date and read statistics. Notes and recipient names are not returned. Use for \"Which Guru announcements have been sent and how many were read\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"view":{"anyOf":[{"enum":["ALL_SENT","MY_SENT","ALL_SCHEDULED","MY_SCHEDULED"],"type":"string"},{"type":"null"}],"default":"ALL_SENT","description":"Which announcements: ALL_SENT, MY_SENT, ALL_SCHEDULED or MY_SCHEDULED.","title":"View"},"sort_field":{"anyOf":[{"enum":["cardTitle","dateSent","percentRead","collection","sentBy"],"type":"string"},{"type":"null"}],"default":"dateSent","description":"Sort field.","title":"Sort Field"},"sort_order":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":"DESC","description":"Sort order: ASC or DESC.","title":"Sort Order"},"token":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token from the previous call; leave out for the first page.","title":"Token"}},"title":"list_announcementsArguments","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_collection_group_access":{"post":{"operationId":"list_collection_group_access","summary":"List the groups that have access to a collection and their role (for example ADMIN, AUTHOR or MEMBER). Group members are","description":"List the groups that have access to a collection and their role (for example ADMIN, AUTHOR or MEMBER). Group members are not returned. Use for \"Which groups can access Guru collection c9d8e7\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"collection_id":{"description":"Id of the collection (from the collections list).","maxLength":80,"title":"Collection Id","type":"string"}},"required":["collection_id"],"title":"list_collection_group_accessArguments","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}}}}