{"openapi":"3.1.0","info":{"title":"Alpha API","version":"2026-09-02","description":"Access the same vault-scoped knowledge and actions available through Alpha MCP. Every credential is personal, and every data call is limited to vaults the credential holder may access.","contact":{"name":"Antares","url":"https://openantares.com"}},"externalDocs":{"description":"Alpha documentation","url":"https://docs.alpha.openantares.com"},"servers":[{"url":"https://mcp.openantares.com","description":"Production"}],"tags":[{"name":"Metadata","description":"API discovery and capability metadata."},{"name":"Vaults","description":"Authorized vault discovery and scope selection."},{"name":"Knowledge","description":"Read evidence, meetings, files, entities, and graph context."},{"name":"Actions","description":"Create approved tasks, artifacts, email, and calendar actions."}],"paths":{"/v1":{"get":{"operationId":"getApiIndex","summary":"Get API index","tags":["Metadata"],"responses":{"200":{"description":"The API index.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIndexResponse"}}}}}}},"/v1/vaults":{"get":{"operationId":"listVaults","summary":"List authorized vaults","description":"List the vaults the credential holder may access. If more than one vault is returned, pass the exact vault id to later calls.","tags":["Vaults"],"security":[{"bearerToken":[]}],"responses":{"200":{"description":"Authorized vaults.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools":{"get":{"operationId":"listTools","summary":"List API tools","description":"Return the live tool catalog and JSON input schemas used by both the REST API and MCP.","tags":["Metadata"],"security":[{"bearerToken":[]}],"responses":{"200":{"description":"The live tool catalog.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/suggest_vault_scope":{"post":{"operationId":"suggestVaultScope","summary":"Suggest Vault Scope","description":"Resolve the minimum safe vault scope from the user's recent conversation, using only this API key holder's authorized vault names, keywords, known people and cached summaries. Call it after list_vaults when the right vault is not explicit. Returns selected vault ids or a focused clarification question; it does not search vault content.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"conversation":{"type":"string","description":"The recent user conversation that identifies a client, project, person or topic (maximum 12,000 trailing characters used)."}},"required":["conversation"]}}}},"responses":{"200":{"description":"Suggest Vault Scope completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/search_knowledge":{"post":{"operationId":"searchKnowledge","summary":"Search Knowledge","description":"Search the discovery knowledge base (departments, people, processes, systems, problems, opportunities, KPIs) by name or alias. Returns matching entities with descriptions.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"query":{"type":"string","description":"Name or alias to search for"},"type":{"type":"string","enum":["department","person","process","system","problem","opportunity","kpi"],"description":"Optional entity type filter"}},"required":["query"]}}}},"responses":{"200":{"description":"Search Knowledge completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/get_entity":{"post":{"operationId":"getEntity","summary":"Get Entity","description":"Get one entity in depth: core fields (description, aliases, recency) plus slim deduped graph edges ({entityId, name, type, relation, direction, weight}. weight = number of co-mentions across meetings). Set includeEvidence=true to also get the verbatim quotes (who said it, in which meeting). A conflicts array appears when the evidence contains contradictory claims needing validation.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"entityId":{"type":"string","description":"Entity id from a previous call"},"includeEvidence":{"type":"boolean","description":"Include verbatim evidence quotes (default false)"}},"required":["entityId"]}}}},"responses":{"200":{"description":"Get Entity completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/search_transcripts":{"post":{"operationId":"searchTranscripts","summary":"Search Transcripts","description":"Semantic search over the meeting transcripts. Returns the most relevant verbatim excerpts with speakers and meeting names.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"query":{"type":"string","description":"What to look for"}},"required":["query"]}}}},"responses":{"200":{"description":"Search Transcripts completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_meetings":{"post":{"operationId":"listMeetings","summary":"List Meetings","description":"List the discovery meetings (name, date, attendees, extraction status).","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."}}}}}},"responses":{"200":{"description":"List Meetings completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_calendar":{"post":{"operationId":"listCalendar","summary":"List Calendar","description":"Project calendar events, recent (45 days back) and scheduled ahead: title, ISO datetime, a happened flag, attendees, Meet link. Cross with list_meetings (recorded) to distinguish what already happened from what is merely booked.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."}}}}}},"responses":{"200":{"description":"List Calendar completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/get_meeting":{"post":{"operationId":"getMeeting","summary":"Get Meeting","description":"Get one meeting: metadata, notes (markdown), and the entities extracted from it (with per-meeting mention counts). use it to answer 'what came out of meeting X'.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"meetingId":{"type":"string","description":"Meeting id from list_meetings"}},"required":["meetingId"]}}}},"responses":{"200":{"description":"Get Meeting completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_findings":{"post":{"operationId":"listFindings","summary":"List Findings","description":"Paginated findings inventory. Filters: type, source, meetingId (only entities from that meeting). sort: 'mentions' (default) or 'recent' (by lastMentionedAt). compact=true returns only {id, name, type, mentionCount, lastMentionedAt}. recommended for orientation; fetch details with get_entity. Returns {findings, total, nextCursor}.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"type":{"type":"string","enum":["department","person","process","system","problem","opportunity","kpi"]},"source":{"type":"string","enum":["meeting","file","agent-assumption","unclear"]},"meetingId":{"type":"string","description":"Only entities with evidence from this meeting"},"sort":{"type":"string","enum":["mentions","recent"]},"limit":{"type":"number","description":"Page size (default 50, max 200)"},"cursor":{"type":"string","description":"nextCursor from the previous page"},"compact":{"type":"boolean","description":"Slim payload (default false)"}}}}}},"responses":{"200":{"description":"List Findings completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_tasks":{"post":{"operationId":"listTasks","summary":"List Tasks","description":"Action-plan tasks with the full board surface: id (for update_task), board identifier, named owner, t-shirt estimate, priority, labels, checklist, due date and milestone. status \"open\" = everything not done.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"status":{"type":"string","enum":["todo","doing","done","blocked","open"]},"milestoneId":{"type":"string","description":"Only tasks in this milestone (id from list_milestones)"}}}}}},"responses":{"200":{"description":"List Tasks completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_files":{"post":{"operationId":"listFiles","summary":"List Files","description":"List the project's PUBLIC files (name, description, download URL). Internal files are never served here. Give the URL to the user as a link when they ask for a file.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."}}}}}},"responses":{"200":{"description":"List Files completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/get_file":{"post":{"operationId":"getFile","summary":"Get File","description":"Get one PUBLIC file: metadata, a temporary download URL, and a content excerpt when the file was parsed.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"fileId":{"type":"string","description":"File id from list_files"}},"required":["fileId"]}}}},"responses":{"200":{"description":"Get File completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_plan_steps":{"post":{"operationId":"listPlanSteps","summary":"List Plan Steps","description":"The mutual action plan timeline (macro project steps, status, and whether each was proposed by the agent or a person).","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."}}}}}},"responses":{"200":{"description":"List Plan Steps completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/changes_since":{"post":{"operationId":"changesSince","summary":"Changes Since","description":"What's new since a given moment: entities first seen after it, entities re-mentioned after it, and new meetings. The natural 'what changed since we last talked' call.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"since":{"type":"string","description":"ISO 8601 datetime, e.g. 2026-07-18T00:00:00Z"}},"required":["since"]}}}},"responses":{"200":{"description":"Changes Since completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/stats":{"post":{"operationId":"stats","summary":"Stats","description":"Cheap orientation: entity counts by type, meetings extracted/total, tasks by status. Call this first to size the knowledge base.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."}}}}}},"responses":{"200":{"description":"Stats completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/get_brief":{"post":{"operationId":"getBrief","summary":"Get Brief","description":"The latest agent-written brief. kind 'daily' (default) is the current 'what's going on' snapshot of the vault; 'weekly-plan' and 'weekly-digest' mirror the Monday plan and Friday digest e-mails. Good second call after stats for orientation.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"kind":{"type":"string","enum":["daily","weekly-plan","weekly-digest"],"description":"Which brief (default daily)"}}}}}},"responses":{"200":{"description":"Get Brief completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/get_transcript":{"post":{"operationId":"getTranscript","summary":"Get Transcript","description":"Read a meeting transcript sequentially in chunks (complements semantic search). Returns {chunks: [{index, speakers, text}], totalChunks, nextOffset}.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"meetingId":{"type":"string","description":"Meeting id from list_meetings"},"offset":{"type":"number","description":"Chunk offset (default 0)"},"limit":{"type":"number","description":"Chunks per page (default 20, max 50)"}},"required":["meetingId"]}}}},"responses":{"200":{"description":"Get Transcript completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_conflicts":{"post":{"operationId":"listConflicts","summary":"List Conflicts","description":"Contradictions detected across the evidence: pairs of credible claims about the same entity that cannot both be true (with speakers and meetings). Default shows open ones needing client validation; filter by status or 'all' to see resolved/dismissed history with notes. Use the id with resolve_conflict.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"status":{"type":"string","enum":["open","resolved","dismissed","all"],"description":"Which conflicts (default open)"}}}}}},"responses":{"200":{"description":"List Conflicts completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/resolve_conflict":{"post":{"operationId":"resolveConflict","summary":"Resolve Conflict","description":"Close out a contradiction by id (from list_conflicts): status 'resolved' (validated with the client. say what the truth turned out to be in the note) or 'dismissed' (duplicate, transcription noise, not a real conflict. note why). Passing 'open' reopens one. Requires a manager API key.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"conflictId":{"type":"string","description":"Conflict id from list_conflicts"},"status":{"type":"string","enum":["resolved","dismissed","open"]},"note":{"type":"string","description":"Resolution note: the validated answer, or why it was dismissed"}},"required":["conflictId","status"]}}}},"responses":{"200":{"description":"Resolve Conflict completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/add_task":{"post":{"operationId":"addTask","summary":"Add Task","description":"Create a task on the vault's board. The owner may be a person's name or a company placeholder. Supports the full kanban surface: t-shirt estimate, priority, labels, checklist, due date and milestone (resolve ids with list_milestones). Requires a manager API key.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"title":{"type":"string","description":"Short actionable title (short and actionable)"},"description":{"type":"string","description":"Optional detail"},"assigneeName":{"type":"string","description":"Responsible person or company"},"estimate":{"type":"string","enum":["xs","s","m","l","xl"],"description":"T-shirt effort size"},"priority":{"type":"string","enum":["none","low","medium","high","urgent"]},"labels":{"type":"array","items":{"type":"string"}},"checklist":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"done":{"type":"boolean","description":"Default false"}},"required":["text"]}},"dueDate":{"type":"string","description":"ISO date, e.g. 2026-08-15"},"milestoneId":{"type":"string","description":"Milestone id from list_milestones"}},"required":["title"]}}}},"responses":{"200":{"description":"Add Task completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/update_task":{"post":{"operationId":"updateTask","summary":"Update Task","description":"Edit an existing task by its board identifier (for example 'ACME-5', or just 5; the prefix is whatever this vault uses) or by taskId from list_tasks. Fields: status, named owner, t-shirt estimate, priority, labels, checklist, due date, milestone, title and description. Pass null to clear a clearable field (estimate, dueDate, milestoneId, assigneeName, description). Requires a manager API key.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"identifier":{"type":["string","number"],"description":"Board reference: e.g. 'ACME-5', or just 5"},"taskId":{"type":"string","description":"Task id from list_tasks (alternative to identifier)"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string","enum":["todo","doing","done","blocked"]},"assigneeName":{"type":["string","null"],"description":"Responsible person or company; null clears it"},"estimate":{"type":["string","null"],"enum":["xs","s","m","l","xl",null],"description":"T-shirt effort size; null clears it"},"priority":{"type":"string","enum":["none","low","medium","high","urgent"]},"labels":{"type":"array","items":{"type":"string"},"description":"Replaces the label list ([] clears)"},"checklist":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"done":{"type":"boolean"}},"required":["text"]},"description":"Replaces the checklist ([] clears)"},"dueDate":{"type":["string","null"],"description":"ISO date; null clears"},"milestoneId":{"type":["string","null"],"description":"Milestone id from list_milestones; null clears"}},"required":[]}}}},"responses":{"200":{"description":"Update Task completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_milestones":{"post":{"operationId":"listMilestones","summary":"List Milestones","description":"Project milestones with task tallies (id, title, target date, tasks done/total). Use to resolve milestone ids before add_task/update_task, or to answer 'what's left in milestone X'.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."}}}}}},"responses":{"200":{"description":"List Milestones completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/send_email":{"post":{"operationId":"sendEmail","summary":"Send Email","description":"Send an e-mail from the vault agent's mailbox to a VAULT MEMBER or registered stakeholder. Can carry files: pass artifact ids from find_artifact. Can also reply INSIDE an existing thread, or be left as a draft in the connected Gmail account for a person to review and send. Requires a manager API key.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"to":{"type":"string","description":"Recipient (must belong to this vault)"},"subject":{"type":"string"},"body":{"type":"string","description":"Plain-text body"},"cc":{"type":"array","items":{"type":"string"},"description":"Copied recipients, subject to the same vault check as `to`"},"attachmentIds":{"type":"array","items":{"type":"string"},"description":"artifactId values from find_artifact. Files only, never URLs."},"sendAs":{"type":"string","enum":["agent","me"],"description":"'agent' (default) sends from the vault agent's address and takes several attachments; 'me' sends from the vault's connected Gmail and takes one."},"replyToThreadId":{"type":"string","description":"Gmail thread id, to reply inside an existing conversation"},"inReplyToMessageId":{"type":"string","description":"Message-ID of an earlier agent e-mail, to thread the reply"},"asDraft":{"type":"boolean","description":"Leave it in the connected Gmail's Drafts instead of sending. Nothing goes out."}},"required":["to","subject","body"]}}}},"responses":{"200":{"description":"Send Email completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/export_workbook":{"post":{"operationId":"exportWorkbook","summary":"Export Workbook","description":"Build a styled multi-sheet Excel workbook (.xlsx) from rows you provide, store it in this vault, and return a url plus an artifactId that send_email can attach. Use it when the answer is a table someone will sort, filter or forward. Formatting, freezing and the provenance sheet are automatic. Requires a manager API key, since it stores a file.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"title":{"type":"string","description":"What the workbook is about"},"sheets":{"type":"array","description":"One entry per tab: {name, columns:[{header,key,numFmt?}], rows:[{<key>: value}]}","items":{"type":"object"}},"sources":{"type":"string","description":"Where the numbers came from; goes on the provenance sheet"}},"required":["title","sheets"]}}}},"responses":{"200":{"description":"Export Workbook completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/export_report":{"post":{"operationId":"exportReport","summary":"Export Report","description":"Export a whole dataset from this vault as a file: every finding, or every contradiction, as xlsx, csv or PDF. The only path that produces a PDF. For a table you assembled yourself, use export_workbook. Returns a url and an artifactId that send_email can attach. Requires a manager API key, since it stores a file.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"dataset":{"type":"string","enum":["findings","conflicts"],"description":"Default findings"},"format":{"type":"string","enum":["xlsx","csv","pdf"],"description":"Default xlsx"}}}}}},"responses":{"200":{"description":"Export Report completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/find_person":{"post":{"operationId":"findPerson","summary":"Find Person","description":"Look someone up in this vault's people registry: name, e-mail, title, organisation. The ONLY authoritative source for an address. never guess one or assume a pattern like first.last@company.com.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"query":{"type":"string","description":"Name, address or role fragment"}}}}}},"responses":{"200":{"description":"Find Person completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/list_sent_emails":{"post":{"operationId":"listSentEmails","summary":"List Sent Emails","description":"Messages this vault's agent already sent, newest first, with the handles needed to reply INSIDE the same conversation (replyToThreadId, inReplyToMessageId). Pass one back to send_email so a reply threads instead of starting a parallel conversation.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"to":{"type":"string","description":"Narrow to one recipient"},"limit":{"type":"number","description":"1-25, default 10"}}}}}},"responses":{"200":{"description":"List Sent Emails completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/find_email_thread":{"post":{"operationId":"findEmailThread","summary":"Find Email Thread","description":"Search the vault's connected Gmail for an existing conversation, including mail sent before this deployment started logging. Gmail search syntax, e.g. \"to:ana@client.com inventory\" or \"subject:report newer_than:7d\". Returns thread ids for send_email's replyToThreadId.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"query":{"type":"string","description":"Gmail search syntax"},"limit":{"type":"number","description":"1-20, default 5"}},"required":["query"]}}}},"responses":{"200":{"description":"Find Email Thread completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/find_artifact":{"post":{"operationId":"findArtifact","summary":"Find Artifact","description":"Find a file that already exists in this vault: something the agent generated (chart, workbook, CSV, report) or a document a member added. Search by title, newest first. Use it BEFORE rebuilding anything, and to get the artifactId that send_email attaches.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"query":{"type":"string","description":"Words from the title. Omit to list the most recent."},"kind":{"type":"string","enum":["workbook","csv","chart","report"],"description":"Narrow to one kind of file"},"limit":{"type":"number","description":"1-25, default 10"}}}}}},"responses":{"200":{"description":"Find Artifact completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/search_agent_memory":{"post":{"operationId":"searchAgentMemory","summary":"Search Agent Memory","description":"Search the agent's OWN past conversations in this vault. e-mail, MCP and portal chat. for what was already asked, answered or decided. This is conversation history, NOT the knowledge base: use search_knowledge or search_transcripts for what was said in meetings.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"query":{"type":"string","description":"What was talked about"},"person_email":{"type":"string","description":"Narrow to exchanges with one person"},"limit":{"type":"number","description":"1-25, default 12"}},"required":["query"]}}}},"responses":{"200":{"description":"Search Agent Memory completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/render_chart":{"post":{"operationId":"renderChart","summary":"Render Chart","description":"Render a chart PNG from a Vega-Lite v5 spec with the data inline, and store it as an artifact in this vault. Returns a url to embed and an artifactId that send_email can attach. Do not set colors: the vault's theme is applied automatically. Match the mark to the question. anything over time is a line, a ranking is a sorted horizontal bar, part-of-whole is an arc. Requires a manager API key, since it stores a file.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"title":{"type":"string","description":"Chart title, shown on the image"},"vega_lite_spec":{"type":"object","description":"Complete Vega-Lite v5 spec with inline data, e.g. {\"data\":{\"values\":[{\"month\":\"2026-05\",\"team\":\"Logistics\",\"mentions\":11}]},\"mark\":\"line\",\"encoding\":{...}}. For month buckets set \"timeUnit\":\"yearmonth\" or the axis is labelled by day."}},"required":["title","vega_lite_spec"]}}}},"responses":{"200":{"description":"Render Chart completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/schedule_meeting":{"post":{"operationId":"scheduleMeeting","summary":"Schedule Meeting","description":"Create a Google Calendar event with a Meet link via the project's connected calendar. Requires a manager API key.","tags":["Actions"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"title":{"type":"string"},"description":{"type":"string"},"startIso":{"type":"string","description":"ISO 8601 with offset, e.g. 2026-07-22T14:00:00-03:00"},"durationMinutes":{"type":"number","description":"15 to 120 (default 30)"},"attendees":{"type":"array","items":{"type":"string"},"description":"Attendee e-mails"}},"required":["title","startIso","attendees"]}}}},"responses":{"200":{"description":"Schedule Meeting completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tools/expand_graph":{"post":{"operationId":"expandGraph","summary":"Expand Graph","description":"Graph traversal from an entity: depth 1 = its slim edges; depth 2 = neighborhood expansion (capped at 120 edges, second-hop relations prefixed with the intermediate node). Use to explore paths between areas.","tags":["Knowledge"],"security":[{"bearerToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"vault":{"type":"string","description":"Exact vault id or name from list_vaults. Required whenever the key can reach more than one vault; never guess or use one client's vault for another."},"entityId":{"type":"string","description":"Starting entity id"},"depth":{"type":"number","enum":[1,2],"description":"1 or 2 (default 1)"}},"required":["entityId"]}}}},"responses":{"200":{"description":"Expand Graph completed.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}},"400":{"description":"The request or tool arguments are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"The bearer credential is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"The credential does not have permission for this action.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The requested tool or resource was not found.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"The request rate limit was reached.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"Alpha personal key or OAuth access token","description":"Create a personal key in Alpha settings, or use an access token issued to an approved OAuth client."}},"headers":{"RequestId":{"description":"Stable identifier for tracing this request in Alpha logs.","schema":{"type":"string"}}},"schemas":{"ApiIndexResponse":{"type":"object","required":["name","version","authentication","endpoints"],"properties":{"name":{"type":"string","example":"Alpha API"},"version":{"type":"string","example":"2026-09-02"},"authentication":{"type":"string","example":"Bearer token"},"endpoints":{"type":"object","required":["vaults","tools","invokeTool","openapi","mcp"],"properties":{"vaults":{"type":"string"},"tools":{"type":"string"},"invokeTool":{"type":"string"},"openapi":{"type":"string"},"mcp":{"type":"string"}},"additionalProperties":false}}},"DataResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"The result returned by the selected Alpha tool.","oneOf":[{"type":"object","additionalProperties":true},{"type":"array","items":{"type":"object","additionalProperties":true}}]}},"additionalProperties":false},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"$ref":"#/components/schemas/ApiError"}},"additionalProperties":false},"ApiError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"}},"additionalProperties":false}}}}