{"openapi":"3.1.0","info":{"title":"Capacities (BYOK) API","version":"0.1.0","description":"Capacities (BYOK) lets an AI assistant read your own Capacities data through the Capacities API with a key you supply (Capacities personal API token (cap-api-...)). Read-only: 7 tools (get_space, list_structures, search_objects, list_objects_by_structure, list_objects_by_tag, list_objects_by_collection, get_object). The BYOK key travels with each request, is used for that one call only and is...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-capacities.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-capacities/docs"},"termsOfService":"https://connectorbay.com/byok-capacities/terms"},"servers":[{"url":"https://byok-capacities.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-capacities/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_space":{"post":{"operationId":"get_space","summary":"Show the Capacities space the token is bound to (each token has exactly one space): id and title. Use for \"Which Capacit","description":"Show the Capacities space the token is bound to (each token has exactly one space): id and title. Use for \"Which Capacities space is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_spaceArguments","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_structures":{"post":{"operationId":"list_structures","summary":"List the object types (structures) of the space: id, name, plural name, label color and collections; ids are used by the","description":"List the object types (structures) of the space: id, name, plural name, label color and collections; ids are used by the listing tools. Use for \"What object types do I have in Capacities\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_structuresArguments","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/search_objects":{"post":{"operationId":"search_objects","summary":"Search objects of the space by title, most relevant first (one page, no cursor). Use for \"Find my Capacities notes title","description":"Search objects of the space by title, most relevant first (one page, no cursor). Use for \"Find my Capacities notes titled 'project alpha'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Words to look for in object titles.","maxLength":200,"title":"Query","type":"string"}},"required":["query"],"title":"search_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/list_objects_by_structure":{"post":{"operationId":"list_objects_by_structure","summary":"List summaries (id, type id, title) of objects of one type (structure), 100 per page with cursor paging. Answer has hasM","description":"List summaries (id, type id, title) of objects of one type (structure), 100 per page with cursor paging. Answer has hasMore and nextCursor. Use for \"List all my Capacities pages\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Structure id, for example 'RootPage' or a custom type UUID from list_structures.","maxLength":100,"title":"Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Results per page (1 to 100, default 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's nextCursor; omit for the first page.","title":"Cursor"}},"required":["id"],"title":"list_objects_by_structureArguments","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_by_tag":{"post":{"operationId":"list_objects_by_tag","summary":"List summaries (id, type id, title) of objects carrying one tag, 100 per page with cursor paging. Answer has hasMore and","description":"List summaries (id, type id, title) of objects carrying one tag, 100 per page with cursor paging. Answer has hasMore and nextCursor. Use for \"Which Capacities objects have tag 'Reading'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Tag object id (UUID); find tags with list_objects_by_structure and id 'RootTag'.","maxLength":100,"title":"Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Results per page (1 to 100, default 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's nextCursor; omit for the first page.","title":"Cursor"}},"required":["id"],"title":"list_objects_by_tagArguments","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_by_collection":{"post":{"operationId":"list_objects_by_collection","summary":"List summaries (id, type id, title) of objects in one collection (database), 100 per page with cursor paging. Answer has","description":"List summaries (id, type id, title) of objects in one collection (database), 100 per page with cursor paging. Answer has hasMore and nextCursor. Use for \"What is in my Capacities collection 'Books'\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Collection id (UUID) from the collections of list_structures.","maxLength":100,"title":"Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Results per page (1 to 100, default 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's nextCursor; omit for the first page.","title":"Cursor"}},"required":["id"],"title":"list_objects_by_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/get_object":{"post":{"operationId":"get_object","summary":"Get one object by id: its type, collections and property values (title, tags, dates and so on) keyed by property id. Use","description":"Get one object by id: its type, collections and property values (title, tags, dates and so on) keyed by property id. Use for \"Show Capacities object 7d2e7f8a-4c3b-4e1d-9f0a-123456789abc\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Object id (UUID).","maxLength":100,"title":"Id","type":"string"}},"required":["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}}}}