{"openapi": "3.1.0", "info": {"title": "TalentPrism Agent API", "version": "1.0.0", "description": "Public discovery plus authenticated, team-scoped recruiting capabilities. Tool invocation preserves TalentPrism RBAC, audit logging, field policy, and explicit write confirmation."}, "servers": [{"url": "https://talentprism.ai", "description": "TalentPrism production"}], "paths": {"/api/agent/": {"get": {"operationId": "getTalentPrismAgentApi", "summary": "Discover the TalentPrism agent API", "description": "Return stable links for API, MCP, authentication, agent instructions, and docs.", "security": [], "responses": {"200": {"description": "Agent API discovery document", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/api/agent/tools/": {"get": {"operationId": "listTalentPrismMcpTools", "summary": "List TalentPrism MCP tools", "description": "Return tool schemas generated from the shared agent capability registry.", "security": [], "responses": {"200": {"description": "MCP-compatible tool manifest", "content": {"application/json": {"schema": {"type": "object"}}}}}}}, "/mcp/": {"post": {"operationId": "sendTalentPrismMcpRequest", "summary": "Send an MCP Streamable HTTP request", "description": "Initialize MCP, list tools, or call a read-only team-scoped capability. tools/call accepts a scoped OAuth Bearer token or an existing team-scoped API key. Mutation capabilities are not exposed through public MCP v1.", "security": [{}, {"TalentPrismOAuth": ["mcp:tools:read"]}, {"TalentPrismApiKey": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JsonRpcRequest"}}}}, "responses": {"200": {"description": "MCP JSON-RPC response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JsonRpcResponse"}}}}, "401": {"description": "A tool call requires authentication", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JsonRpcResponse"}}}}, "403": {"description": "The authenticated actor is not authorized for the team capability", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JsonRpcResponse"}}}}}}}}, "components": {"securitySchemes": {"TalentPrismOAuth": {"type": "oauth2", "flows": {"authorizationCode": {"authorizationUrl": "https://talentprism.ai/oauth/authorize/", "tokenUrl": "https://talentprism.ai/oauth/token/", "scopes": {"mcp:tools:read": "Read team-scoped recruiting data through MCP."}}}}, "TalentPrismApiKey": {"type": "apiKey", "in": "header", "name": "Authorization"}}, "schemas": {"Error": {"type": "object", "required": ["code", "message", "resolution"], "properties": {"code": {"type": "string"}, "message": {"type": "string"}, "resolution": {"type": "string"}}, "additionalProperties": false}, "JsonRpcRequest": {"type": "object", "required": ["jsonrpc", "method"], "properties": {"jsonrpc": {"type": "string", "const": "2.0"}, "id": {"type": ["string", "integer", "null"]}, "method": {"type": "string"}, "params": {"type": "object"}}, "additionalProperties": false}, "JsonRpcResponse": {"type": "object", "required": ["jsonrpc", "id"], "properties": {"jsonrpc": {"type": "string", "const": "2.0"}, "id": {"type": ["string", "integer", "null"]}, "result": {}, "error": {"type": "object"}}}}}}