{ "opencollection": "1.0.0", "info": { "name": "FastAPI", "version": "0.1.0" }, "items": [ { "info": { "name": "pinecone_api", "type": "folder" }, "items": [ { "info": { "name": "Get Pinecone", "type": "http" }, "http": { "method": "GET", "url": "/api/pinecone_api/pinecone", "params": [ { "name": "query", "value": "", "type": "query" }, { "name": "namespace", "value": "", "type": "query" }, { "name": "filter", "value": "", "type": "query" }, { "name": "top_k", "value": "", "type": "query" }, { "name": "include_values", "value": "", "type": "query" }, { "name": "include_metadata", "value": "", "type": "query" } ] }, "docs": "Get Pinecone" } ] }, { "info": { "name": "langsmith_api", "type": "folder" }, "items": [ { "info": { "name": "Submit Feedback", "type": "http" }, "http": { "method": "POST", "url": "/api/langsmith_api/feedback", "body": { "type": "json", "data": "{}" } }, "docs": "Submit Feedback" } ] }, { "info": { "name": "prompts", "type": "folder" }, "items": [ { "info": { "name": "List Prompts", "type": "http" }, "http": { "method": "GET", "url": "/api/prompts", "params": [ { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "List prompts for a user with visibility permissions." }, { "info": { "name": "Create Prompt", "type": "http" }, "http": { "method": "POST", "url": "/api/prompts", "body": { "type": "json", "data": "{}" } }, "docs": "Create a new prompt." }, { "info": { "name": "Get Popular Prompts", "type": "http" }, "http": { "method": "GET", "url": "/api/prompts/analytics/popular", "params": [ { "name": "metric", "value": "", "type": "query" }, { "name": "scope", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" } ] }, "docs": "Get most popular prompts by views or shares." }, { "info": { "name": "Get Prompt Metrics", "type": "http" }, "http": { "method": "GET", "url": "/api/prompts/:prompt_id/analytics", "params": [ { "name": "prompt_id", "value": "", "type": "path" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Get aggregated metrics for a specific prompt." }, { "info": { "name": "Track Prompt Event", "type": "http" }, "http": { "method": "POST", "url": "/api/prompts/:prompt_id/events", "params": [ { "name": "prompt_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Track a prompt view or share event." }, { "info": { "name": "Clone Prompt", "type": "http" }, "http": { "method": "POST", "url": "/api/prompts/:prompt_id/clone", "params": [ { "name": "prompt_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Clone a prompt for the requesting user." }, { "info": { "name": "Get Prompt", "type": "http" }, "http": { "method": "GET", "url": "/api/prompts/:prompt_id", "params": [ { "name": "prompt_id", "value": "", "type": "path" } ] }, "docs": "Get a prompt by ID." }, { "info": { "name": "Update Prompt", "type": "http" }, "http": { "method": "PUT", "url": "/api/prompts/:prompt_id", "params": [ { "name": "prompt_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update an existing prompt." }, { "info": { "name": "Delete Prompt", "type": "http" }, "http": { "method": "DELETE", "url": "/api/prompts/:prompt_id", "params": [ { "name": "prompt_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Delete a prompt (only owner can delete)." } ] }, { "info": { "name": "siren", "type": "folder" }, "items": [ { "info": { "name": "List Schedules", "type": "http" }, "http": { "method": "GET", "url": "/api/siren/schedules", "params": [ { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" }, { "name": "prompt_id", "value": "", "type": "query" } ] }, "docs": "List the caller's Siren schedules with their library prompt details.\n\nPass ``prompt_id`` to fetch the schedule(s) for one prompt (the library\ncard lookup); omit it to list all (e.g. to badge a whole grid in one call)." }, { "info": { "name": "Create Schedule", "type": "http" }, "http": { "method": "POST", "url": "/api/siren/schedules", "headers": [ { "name": "Authorization", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a Siren schedule for an existing library prompt or inline prompt text." }, { "info": { "name": "Get Schedule", "type": "http" }, "http": { "method": "GET", "url": "/api/siren/schedules/:schedule_id", "params": [ { "name": "schedule_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Get a Siren schedule with its library prompt details." }, { "info": { "name": "Patch Schedule", "type": "http" }, "http": { "method": "PATCH", "url": "/api/siren/schedules/:schedule_id", "headers": [ { "name": "Authorization", "value": "" } ], "params": [ { "name": "schedule_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Partially update schedule fields (cron, timezone, status, notifications, context)." }, { "info": { "name": "Delete Schedule", "type": "http" }, "http": { "method": "DELETE", "url": "/api/siren/schedules/:schedule_id", "params": [ { "name": "schedule_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Soft-delete a Siren schedule." }, { "info": { "name": "Run Next", "type": "http" }, "http": { "method": "POST", "url": "/api/siren/schedules/:schedule_id/run-next", "params": [ { "name": "schedule_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Request a run in the next available scheduler slot." }, { "info": { "name": "List Runs", "type": "http" }, "http": { "method": "GET", "url": "/api/siren/schedules/:schedule_id/runs", "params": [ { "name": "schedule_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "List run history for a schedule (successes and failures)." } ] }, { "info": { "name": "siren-internal", "type": "folder" }, "items": [ { "info": { "name": "Run Due", "type": "http" }, "http": { "method": "POST", "url": "/api/internal/siren/run-due", "headers": [ { "name": "X-Internal-Scheduler-Secret", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Claim due schedules and start background executions; returns immediately." } ] }, { "info": { "name": "images", "type": "folder" }, "items": [ { "info": { "name": "Get Generated Image", "type": "http" }, "http": { "method": "GET", "url": "/api/images/:asset_id", "params": [ { "name": "asset_id", "value": "", "type": "path" } ] }, "docs": "Get Generated Image" }, { "info": { "name": "Get Generated Image", "type": "http" }, "http": { "method": "HEAD", "url": "/api/images/:asset_id", "params": [ { "name": "asset_id", "value": "", "type": "path" } ] }, "docs": "Get Generated Image" } ] }, { "info": { "name": "session_documents", "type": "folder" }, "items": [ { "info": { "name": "Upload Session Documents", "type": "http" }, "http": { "method": "POST", "url": "/api/session-documents/upload", "headers": [ { "name": "Authorization", "value": "" } ], "body": { "type": "multipart-form", "data": [] } }, "docs": "Upload Session Documents" }, { "info": { "name": "List Session Documents", "type": "http" }, "http": { "method": "GET", "url": "/api/session-documents", "headers": [ { "name": "Authorization", "value": "" } ], "params": [ { "name": "session_token", "value": "", "type": "query" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "List Session Documents" }, { "info": { "name": "Get Session Documents", "type": "http" }, "http": { "method": "GET", "url": "/api/session-documents/sessions/:session_token", "headers": [ { "name": "Authorization", "value": "" } ], "params": [ { "name": "session_token", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Get Session Documents" }, { "info": { "name": "Get Session Document Status", "type": "http" }, "http": { "method": "GET", "url": "/api/session-documents/:doc_id/status", "headers": [ { "name": "Authorization", "value": "" } ], "params": [ { "name": "doc_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Get Session Document Status" }, { "info": { "name": "Delete Uploaded Session Document", "type": "http" }, "http": { "method": "DELETE", "url": "/api/session-documents/:doc_id", "headers": [ { "name": "Authorization", "value": "" } ], "params": [ { "name": "doc_id", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Delete Uploaded Session Document" } ] }, { "info": { "name": "mcp", "type": "folder" }, "items": [ { "info": { "name": "Oauth Start Google", "type": "http" }, "http": { "method": "POST", "url": "/api/mcp/oauth/google/start", "body": { "type": "json", "data": "{}" } }, "docs": "Oauth Start Google" }, { "info": { "name": "Oauth Callback Google", "type": "http" }, "http": { "method": "GET", "url": "/api/mcp/oauth/google/callback", "params": [ { "name": "code", "value": "", "type": "query" }, { "name": "state", "value": "", "type": "query" } ] }, "docs": "Oauth Callback Google" }, { "info": { "name": "Connect Mcp", "type": "http" }, "http": { "method": "POST", "url": "/api/mcp/connect", "body": { "type": "json", "data": "{}" } }, "docs": "Connect Mcp" } ] }, { "info": { "name": "pipedream", "type": "folder" }, "items": [ { "info": { "name": "Get Mcp Accounts", "type": "http" }, "http": { "method": "GET", "url": "/api/pipedream/mcp_accounts" }, "docs": "Get accounts for all users from Pipedream Connect API and store them in MCP manager.\nThis endpoint fetches all user accounts and caches them for MCP server management." }, { "info": { "name": "List Accounts", "type": "http" }, "http": { "method": "GET", "url": "/api/pipedream/accounts", "headers": [ { "name": "x-user-id", "value": "" } ], "params": [ { "name": "external_user_id", "value": "", "type": "query" } ] }, "docs": "List all Pipedream Connect accounts for a user." }, { "info": { "name": "List All Accounts", "type": "http" }, "http": { "method": "GET", "url": "/api/pipedream/accounts/all" }, "docs": "List all stored accounts for all users (admin endpoint)." }, { "info": { "name": "Create Connect Token", "type": "http" }, "http": { "method": "POST", "url": "/api/pipedream/connect_token", "headers": [ { "name": "x-request-token", "value": "" }, { "name": "x-user-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create Connect Token" }, { "info": { "name": "List User Servers", "type": "http" }, "http": { "method": "GET", "url": "/api/pipedream/servers", "headers": [ { "name": "x-user-id", "value": "" } ], "params": [ { "name": "external_user_id", "value": "", "type": "query" } ] }, "docs": "List all MCP servers and their tools for a specific user.\nReturns servers that belong to the user based on their Pipedream accounts." }, { "info": { "name": "Unregister Mcp Server", "type": "http" }, "http": { "method": "DELETE", "url": "/api/pipedream/servers/:server_name/:app_name", "headers": [ { "name": "x-user-id", "value": "" }, { "name": "x-account-id", "value": "" } ], "params": [ { "name": "server_name", "value": "", "type": "path" }, { "name": "app_name", "value": "", "type": "path" } ] }, "docs": "Unregister/remove an MCP server from a user's account.\nOnly allows removing servers that belong to the authenticated user.\nDeletes the corresponding accounts from Pipedream Connect API." }, { "info": { "name": "Register Mcp Server", "type": "http" }, "http": { "method": "POST", "url": "/api/pipedream/register_mcp", "headers": [ { "name": "x-user-id", "value": "" }, { "name": "x-account-id", "value": "" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Optional helper to register a Pipedream-backed MCP server once a connection succeeds.\nExpects JSON: { \"provider\": \"google_drive\" | \"google_sheets\" | \"google_docs\" | \"microsoft_onedrive\" | \"hubspot\" | ..., \"sessionToken\": \"...\" }\nSupported providers are listed in PIPEDREAM_SUPPORTED_APPS." } ] }, { "info": { "name": "oauth_providers", "type": "folder" }, "items": [ { "info": { "name": "List Providers", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers" }, "docs": "List all supported OAuth providers." }, { "info": { "name": "Authorize Provider", "type": "http" }, "http": { "method": "POST", "url": "/api/auth/providers/:provider/authorize", "params": [ { "name": "provider", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Initiate OAuth authorization flow for a provider.\n\nSteps:\n1. Validate provider is supported\n2. Generate OAuth state and PKCE parameters\n3. Create PENDING connection in PostgreSQL\n4. Store state in memcached for callback validation\n5. Return OAuth authorization URL\n\nArgs:\n provider: Provider name (google, microsoft, etc.)\n request: Authorization request with user_id\n\nReturns:\n JSON with auth_url to redirect user to" }, { "info": { "name": "Oauth Callback", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/:provider/callback", "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "code", "value": "", "type": "query" }, { "name": "state", "value": "", "type": "query" }, { "name": "error", "value": "", "type": "query" }, { "name": "error_description", "value": "", "type": "query" } ] }, "docs": "Handle OAuth callback from provider.\n\nSteps:\n1. Validate state parameter\n2. Handle any OAuth errors\n3. Exchange authorization code for tokens\n4. Store encrypted credentials in PostgreSQL\n5. Update connection status to CONNECTED\n6. Redirect to success page\n\nArgs:\n provider: Provider name\n code: Authorization code from provider\n state: State parameter for validation\n error: Optional error from provider\n error_description: Optional error description\n\nReturns:\n HTML success page or" }, { "info": { "name": "Check Oauth Status", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/:provider/status", "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Check if user has completed OAuth for a provider.\n\nThis is used by frontend to determine if OAuth popup is needed.\n\nArgs:\n provider: Provider name (google, microsoft, etc.)\n user_id: User identifier\n\nReturns:\n { \"connected\": true/false, \"connection_id\": \"...\", \"created_at\": \"...\" }" }, { "info": { "name": "Disconnect Provider", "type": "http" }, "http": { "method": "DELETE", "url": "/api/auth/providers/:provider/disconnect", "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Disconnect a provider for a user.\n\nArgs:\n provider: Provider name\n user_id: User identifier\n\nReturns:\n Success message" }, { "info": { "name": "Get All Provider Status", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/status/all", "params": [ { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Get connection status for all providers for a user.\n\nArgs:\n user_id: User identifier\n\nReturns:\n List of provider connection statuses" }, { "info": { "name": "List Provider Servers", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/servers", "params": [ { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "List all available MCP servers for a user, including both connected and unconnected.\n\nThis endpoint returns all MCP apps that are available through OAuth providers\n(like Google Drive, Sheets, Docs) AND Pipedream apps, showing which ones are\nconnected and enabled. This allows the frontend to display \"Connect\" buttons\nfor unconnected services.\n\nArgs:\n user_id: User identifier\n account_id: Optional account identifier for LaunchDarkly targeting\n\nReturns:\n Array of server objects with provid" }, { "info": { "name": "Get Provider Server", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/:provider/servers/:service", "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "service", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Retrieve a specific MCP service for a user.\n\nThis endpoint returns details for a single MCP service formatted the same way\nas items in the list_provider_servers list. Useful for checking the status\nof a specific service after enabling/disabling or for focused UI updates.\n\nArgs:\n provider: Provider name (google, microsoft, etc.)\n service: Service/app identifier (e.g., \"drive\", \"google_drive\", \"sheets\", etc.)\n user_id: User identifier\n\nReturns:\n Single server object with provider, app_" }, { "info": { "name": "Register Mcp Server", "type": "http" }, "http": { "method": "POST", "url": "/api/auth/providers/:provider/register", "params": [ { "name": "provider", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Register MCP server for a provider after OAuth is complete.\n\nThis is the second step after OAuth authorization:\n1. OAuth authorization completes → credentials stored\n2. This endpoint → MCP server registered with agent runtime\n\nArgs:\n provider: Provider name (google, microsoft, etc.)\n request: Registration request with user_id\n\nReturns:\n List of registered MCP servers in format expected by client" }, { "info": { "name": "Disable Mcp Service", "type": "http" }, "http": { "method": "PUT", "url": "/api/auth/providers/:provider/servers/:service/disable", "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "service", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Disable a specific MCP service for a user.\n\nThis removes the service's tools from the agent context without\ndeleting OAuth tokens or unregistering the connection.\n\nArgs:\n provider: Provider name (google, microsoft, etc.)\n service: App ID or service name (google_sheets, sheets, etc.)\n user_id: User identifier\n\nReturns:\n Full list of provider servers with updated enabled/disabled status" }, { "info": { "name": "Enable Mcp Service", "type": "http" }, "http": { "method": "PUT", "url": "/api/auth/providers/:provider/servers/:service/enable", "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "service", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Re-enable a previously disabled MCP service.\n\nThis re-registers the MCP server and makes its tools available to the agent.\n\nArgs:\n provider: Provider name (google, microsoft, etc.)\n service: App ID or service name (google_sheets, sheets, etc.)\n user_id: User identifier\n\nReturns:\n Full list of provider servers with updated enabled/disabled status" }, { "info": { "name": "List Mcp Servers", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/mcp/servers", "params": [ { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "List all MCP servers registered for a user.\n\nThis endpoint returns all MCP servers that have been registered via OAuth,\nincluding their connection status, tool counts, and metadata.\n\nArgs:\n user_id: User identifier\n\nReturns:\n List of MCP server details with OAuth provider information" }, { "info": { "name": "Get Mcp Server", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/mcp/servers/:server_name", "params": [ { "name": "server_name", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Get details for a specific MCP server.\n\nArgs:\n server_name: Name of the MCP server\n user_id: User identifier (for authorization)\n\nReturns:\n Detailed server information including tools" }, { "info": { "name": "Remove Mcp Server", "type": "http" }, "http": { "method": "DELETE", "url": "/api/auth/providers/mcp/servers/:server_name", "params": [ { "name": "server_name", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Remove/unregister an MCP server.\n\nThis only removes the MCP server registration from memory.\nThe OAuth connection remains active in the database.\nTo fully disconnect, use DELETE /auth/providers/{provider}/disconnect\n\nArgs:\n server_name: Name of the MCP server to remove\n user_id: User identifier (for authorization)\n\nReturns:\n Formatted list of remaining active servers (same format as GET /mcp/servers)" }, { "info": { "name": "Refresh Mcp Server", "type": "http" }, "http": { "method": "POST", "url": "/api/auth/providers/mcp/servers/:server_name/refresh", "params": [ { "name": "server_name", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Refresh an MCP server's tools and update its token if needed.\n\nThis is useful when:\n- Tools have been added/removed from the MCP server\n- OAuth token has been refreshed\n- Server needs to be re-initialized\n\nArgs:\n server_name: Name of the MCP server to refresh\n user_id: User identifier (for authorization)\n\nReturns:\n Updated server information" }, { "info": { "name": "Get Mcp Stats", "type": "http" }, "http": { "method": "GET", "url": "/api/auth/providers/mcp/stats", "params": [ { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Get MCP usage statistics for a user.\n\nArgs:\n user_id: User identifier\n\nReturns:\n Statistics about MCP servers and tools" } ] }, { "info": { "name": "mock_mcp", "type": "folder" }, "items": [ { "info": { "name": "Mcp Messages Endpoint", "type": "http" }, "http": { "method": "POST", "url": "/api/mcp/:provider/:app/messages", "headers": [ { "name": "authorization", "value": "" }, { "name": "X-Provider", "value": "" }, { "name": "X-App", "value": "" } ], "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "app", "value": "", "type": "path" } ] }, "docs": "Mock MCP server endpoint that handles messages.\n\nThis is a simplified implementation that responds to tool list requests.\nIn a real MCP server, this would handle the full JSON-RPC protocol." }, { "info": { "name": "List Tools", "type": "http" }, "http": { "method": "GET", "url": "/api/mcp/:provider/:app/tools", "headers": [ { "name": "authorization", "value": "" } ], "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "app", "value": "", "type": "path" } ] }, "docs": "List available tools for this MCP server.\n\nThis is a simplified endpoint for tool discovery." }, { "info": { "name": "Call Tool", "type": "http" }, "http": { "method": "POST", "url": "/api/mcp/:provider/:app/tools/call", "headers": [ { "name": "authorization", "value": "" } ], "params": [ { "name": "provider", "value": "", "type": "path" }, { "name": "app", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Execute a tool call.\n\nReturns mock responses for testing." }, { "info": { "name": "Health Check", "type": "http" }, "http": { "method": "GET", "url": "/api/mcp/health" }, "docs": "Health check endpoint for mock MCP servers." } ] }, { "info": { "name": "user_memory", "type": "folder" }, "items": [ { "info": { "name": "Get User Memory", "type": "http" }, "http": { "method": "GET", "url": "/api/user_memory", "params": [ { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Return everything we have stored about ``user_id``." }, { "info": { "name": "Remember User Memory", "type": "http" }, "http": { "method": "POST", "url": "/api/user_memory", "body": { "type": "json", "data": "{}" } }, "docs": "Guaranteed explicit memory write used by \"remember X\" UI actions." }, { "info": { "name": "Delete User Memory", "type": "http" }, "http": { "method": "DELETE", "url": "/api/user_memory", "params": [ { "name": "user_id", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Delete one explicit phrase when a body is supplied, otherwise wipe all.\n\nThe legacy query-only shape ``DELETE /user_memory?user_id=...`` still\nremoves every stored record. A JSON body with ``phrase`` or ``key`` uses the\nnew explicit forget matcher instead." }, { "info": { "name": "List Saved Memory Items", "type": "http" }, "http": { "method": "GET", "url": "/api/user_memory/saved_items", "params": [ { "name": "user_id", "value": "", "type": "query" }, { "name": "conversationId", "value": "", "type": "query" } ] }, "docs": "List saved memory records by bucket for UI management.\n\nBucket names match the delete route's ``kind`` path parameter, so the UI\ncan pass an item's bucket name and key directly to ``DELETE /user_memory/{kind}/{key}``.\nWhen ``conversationId`` is provided, the payload is emitted to the Socket.IO\nroom named by that conversation and the HTTP response is only an acknowledgement." }, { "info": { "name": "Forget User Memory", "type": "http" }, "http": { "method": "POST", "url": "/api/user_memory/forget", "body": { "type": "json", "data": "{}" } }, "docs": "Guaranteed explicit memory delete used by \"forget X\" UI actions." }, { "info": { "name": "Patch Profile", "type": "http" }, "http": { "method": "PATCH", "url": "/api/user_memory/profile", "params": [ { "name": "user_id", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Merge ``patch`` into the existing profile record.\n\nCreates the profile if none exists. Fields set to ``None`` on the patch\nleave the existing value untouched; callers must send an explicit empty\nlist to clear a list field. Shares the per-user write lock with the\nexplicit API and ambient extractor so the single profile row is never\nclobbered by a concurrent writer." }, { "info": { "name": "Patch Memory Strength", "type": "http" }, "http": { "method": "PATCH", "url": "/api/user_memory/:kind/:key/strength", "params": [ { "name": "kind", "value": "", "type": "path" }, { "name": "key", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update a collection memory record's strength by bucket and key.\n\nStrength is only meaningful on collection buckets. Profile has no strength,\nso callers should use ``PATCH /user_memory/profile`` for profile updates." }, { "info": { "name": "Patch Memory Disabled", "type": "http" }, "http": { "method": "PATCH", "url": "/api/user_memory/:kind/:key/disabled", "params": [ { "name": "kind", "value": "", "type": "path" }, { "name": "key", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Disable or re-enable a saved memory entry by bucket and key." }, { "info": { "name": "Delete Memory Entry", "type": "http" }, "http": { "method": "DELETE", "url": "/api/user_memory/:kind/:key", "params": [ { "name": "kind", "value": "", "type": "path" }, { "name": "key", "value": "", "type": "path" }, { "name": "user_id", "value": "", "type": "query" } ] }, "docs": "Delete a single stored record by namespace ``kind`` and record ``key``." }, { "info": { "name": "Admin Memories By Bucket", "type": "http" }, "http": { "method": "GET", "url": "/api/user_memory/admin/by_bucket", "headers": [ { "name": "Authorization", "value": "" } ], "params": [ { "name": "bucket", "value": "", "type": "query", "description": "Memory bucket to list across all users." }, { "name": "min_strength", "value": "", "type": "query", "description": "Lower bound on record strength (inclusive)." }, { "name": "max_strength", "value": "", "type": "query", "description": "Upper bound on record strength (inclusive)." }, { "name": "created_after", "value": "", "type": "query", "description": "Only return records created at or after this ISO timestamp." }, { "name": "updated_after", "value": "", "type": "query", "description": "Only return records updated at or after this ISO timestamp." }, { "name": "user_id", "value": "", "type": "query", "description": "Restrict to a single user." }, { "name": "include_disabled", "value": "", "type": "query", "description": "Include records marked disabled." }, { "name": "limit", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" } ] }, "docs": "List memories across all users in one bucket, sorted by strength desc.\n\nGated by an external API token whose row carries\n``metadata.is_memories_admin = true``. Tokens without the metadata bit get\nan empty list (with ``admin_enabled=false``) so unauthorized callers cannot\nenumerate which tokens are admins." } ] }, { "info": { "name": "Default", "type": "folder" }, "items": [ { "info": { "name": "Get Message History", "type": "http" }, "http": { "method": "GET", "url": "/api/get_message_history", "params": [ { "name": "token", "value": "", "type": "query" } ] }, "docs": "Get Message History" }, { "info": { "name": "Get Normalized Message History", "type": "http" }, "http": { "method": "GET", "url": "/api/get_message_history_v2", "params": [ { "name": "token", "value": "", "type": "query" } ] }, "docs": "Get Normalized Message History" }, { "info": { "name": "Get All Conversation History", "type": "http" }, "http": { "method": "GET", "url": "/api/get_all_conversation_history", "params": [ { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Get All Conversation History" }, { "info": { "name": "Get Conversation History Summary", "type": "http" }, "http": { "method": "GET", "url": "/api/get_conversation_history_summary", "params": [ { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "offset", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query" } ] }, "docs": "Get Conversation History Summary" }, { "info": { "name": "Update Widget Data", "type": "http" }, "http": { "method": "PUT", "url": "/api/upsert_widget_data", "body": { "type": "json", "data": "{}" } }, "docs": "Update Widget Data" }, { "info": { "name": "Delete Conversation", "type": "http" }, "http": { "method": "DELETE", "url": "/api/delete_conversation", "params": [ { "name": "thread_id", "value": "", "type": "query" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" } ] }, "docs": "Delete Conversation" }, { "info": { "name": "Rename Conversation", "type": "http" }, "http": { "method": "PUT", "url": "/api/rename_conversation", "params": [ { "name": "thread_id", "value": "", "type": "query" }, { "name": "user_id", "value": "", "type": "query" }, { "name": "account_id", "value": "", "type": "query" }, { "name": "new_title", "value": "", "type": "query" } ] }, "docs": "Rename Conversation" } ] } ], "bundled": true }