{ "openapi": "3.1.0", "info": { "title": "MCP Handle (https://www.mcp-handle.dev)", "description": "MCP Handle - Open Source MCP Integrations for AI Applications", "version": "0.1.0" }, "servers": [ { "url": "https://api.mcp-handle.dev", "description": "US Production server" }, { "url": "https://api.eu.mcp-handle.dev", "description": "EU Production server" } ], "paths": { "/mcp-server/call-tool": { "post": { "tags": [ "mcp-server" ], "summary": "Call Tool", "description": "Calls a tool on a specific remote MCP server, used for function calling. Eliminates the need for manual MCP code implementation.\nUnder the hood, MCP Handle will instantiates an MCP client and establishes a connection with the remote MCP server to call the tool.", "operationId": "callServerTool", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CallToolRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CallToolResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/list-tools": { "post": { "tags": [ "mcp-server" ], "summary": "List Tools", "description": "Lists all tools available for a specific remote MCP server in various AI model formats.\n\nThis eliminates the need for manual MCP code implementation and format conversion.\nUnder the hood, MCP Handle instantiates an MCP client and establishes a connection \nwith the remote MCP server to retrieve available tools.", "operationId": "listServerTools", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListToolsRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListToolsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/strata/create": { "post": { "tags": [ "mcp-server" ], "summary": "Create", "description": "Create a Strata MCP server.\n\nParameters:\n- servers: Can be 'ALL' to add all available MCP Handle integration, a list of specific server names, or null to add no servers\n- externalServers: Optional list of external MCP servers to validate and add", "operationId": "create_strata_server_mcp_server_strata_create_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataCreateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataCreateResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/strata/add": { "post": { "tags": [ "mcp-server" ], "summary": "Add", "description": "Add servers to an existing Strata MCP server.\n\nNote: After adding servers, you need to reconnect the MCP server so that list_tool can be updated with the new servers.\n\nParameters:\n- servers: Can be 'ALL' to add all available servers, a list of specific server names, or null to add no servers\n- externalServers: Optional list of external MCP servers to validate and add", "operationId": "add_servers_to_strata_mcp_server_strata_add_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataAddServersRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataAddServersResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/strata/{strataId}/servers": { "delete": { "tags": [ "mcp-server" ], "summary": "Delete", "description": "Delete servers from an existing Strata MCP server.\n\nNote: After deleting servers, you need to reconnect the MCP server so that list_tool can be updated to reflect the removed servers.\n\nParameters:\n- strataId: The strata server ID (path parameter)\n- servers: Can be 'ALL' to delete all available MCP Handle integration, a list of specific server names, or null to delete no servers\n- externalServers: Query parameter - comma-separated list of external server names to delete\n\nReturns separate lists for deleted MCP Handle servers and deleted external servers.", "operationId": "delete_servers_from_strata_mcp_server_strata__strataId__servers_delete", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "strataId", "in": "path", "required": true, "schema": { "type": "string", "title": "Strataid" } }, { "name": "servers", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/McpServerName" }, { "const": "ALL", "type": "string" } ] } }, { "type": "null" } ], "description": "List of MCP Handle integration to delete (e.g., 'jira', 'linear'), 'ALL' to delete all MCP Handle integration, or null to delete no servers.", "title": "Servers" }, "description": "List of MCP Handle integration to delete (e.g., 'jira', 'linear'), 'ALL' to delete all MCP Handle integration, or null to delete no servers." }, { "name": "externalServers", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Comma-separated list of external server names to delete", "title": "Externalservers" }, "description": "Comma-separated list of external server names to delete" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataDeleteServersResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/strata/{strataId}": { "get": { "tags": [ "mcp-server" ], "summary": "Get", "description": "Get information about an existing Strata MCP server instance.\n\nReturns the strata URL, connected mcp_handle servers, connected external servers (with URLs), \nand authentication URLs for mcp_handle servers.", "operationId": "get_strata_server_mcp_server_strata__strataId__get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "strataId", "in": "path", "required": true, "schema": { "type": "string", "title": "Strataid" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataGetResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/strata/{strataId}/raw-actions": { "get": { "tags": [ "mcp-server" ], "summary": "List Raw Actions", "description": "Fetch raw actions (all underlying actions) for a specific integration within a Strata MCP instance.", "operationId": "list_strata_raw_actions_mcp_server_strata__strataId__raw_actions_get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "strataId", "in": "path", "required": true, "schema": { "type": "string", "description": "The strata server ID", "title": "Strataid" }, "description": "The strata server ID" }, { "name": "server", "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/McpServerName", "minLength": 1, "description": "The name of the server to fetch raw actions for" }, "description": "The name of the server to fetch raw actions for" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataRawActionsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/strata/{strataId}/auth/{serverName}": { "get": { "tags": [ "mcp-server" ], "summary": "Get Strata Auth", "description": "Retrieves authentication data for a specific integration within a Strata MCP server.\n\nReturns the authentication data if available, along with authentication status.", "operationId": "getStrataAuth", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "strataId", "in": "path", "required": true, "schema": { "type": "string", "description": "The strata server ID", "title": "Strataid" }, "description": "The strata server ID" }, { "name": "serverName", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the MCP Handle MCP server to get authentication for (e.g., 'GitHub', 'Jira')" }, "description": "The name of the MCP Handle MCP server to get authentication for (e.g., 'GitHub', 'Jira')" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataGetAuthResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "mcp-server" ], "summary": "Delete Strata Auth", "description": "Deletes authentication data for a specific integration within a Strata MCP server.\n\nThis will clear the stored authentication credentials, effectively unauthenticating the server.", "operationId": "deleteStrataAuth", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "strataId", "in": "path", "required": true, "schema": { "type": "string", "description": "The strata server ID", "title": "Strataid" }, "description": "The strata server ID" }, { "name": "serverName", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the MCP Handle MCP server to delete authentication for (e.g., 'github', 'jira')" }, "description": "The name of the MCP Handle MCP server to delete authentication for (e.g., 'github', 'jira')" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/strata/set-auth": { "post": { "tags": [ "mcp-server" ], "summary": "Set Strata Auth", "description": "Sets authentication data for a specific integration within a Strata MCP server.\n\nAccepts either API key authentication or general authentication data.", "operationId": "set_strata_auth_mcp_server_strata_set_auth_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StrataSetAuthRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/instance/create": { "post": { "tags": [ "mcp-server" ], "summary": "Create", "description": "Creates a URL for a specified MCP server,\nvalidating the request with an API key and user details.\nReturns the existing server URL if it already exists for the user.\nIf OAuth is configured for the server, also returns the base OAuth authorization URL.\nNote that some servers have hundreds of tools and therefore only expose the Strata tools.", "operationId": "createServerInstance", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateServerRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateServerResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/self-hosted/instance/create": { "post": { "tags": [ "mcp-server" ], "summary": "Create", "description": "Creates an instance id for a self-hosted MCP server,\nvalidating the request with an API key and user details.\nThe main purpose of this endpoint is to create an instance id for a self-hosted MCP server.\nThe instance id is used to identify and store the auth metadata in the database.\nReturns the existing instance id if it already exists for the user.", "operationId": "createSelfHostedServerInstance", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSelfHostedServerRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSelfHostedServerResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/instance/{instanceId}": { "get": { "tags": [ "mcp-server" ], "summary": "Get", "description": "Checks the details of a specific server connection instance using its unique ID and API key,\nreturning server details like authentication status and associated server/platform info.", "operationId": "getServerInstance", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "instanceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "The ID of the connection integration instance whose status is being checked. This is returned by the Create API.", "title": "Instanceid" }, "description": "The ID of the connection integration instance whose status is being checked. This is returned by the Create API." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetInstanceResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "mcp-server" ], "summary": "Delete", "description": "Completely removes a server connection instance using its unique ID,\ndeleting all associated data from the system.", "operationId": "deleteServerInstance", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "instanceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "The ID of the connection instance to delete.", "title": "Instanceid" }, "description": "The ID of the connection instance to delete." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/instance/{instanceId}/auth": { "delete": { "tags": [ "mcp-server" ], "summary": "Delete Instance Auth", "description": "Deletes authentication data for a specific server connection instance.", "operationId": "deleteInstanceAuth", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "instanceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "The ID of the connection instance to delete auth for.", "title": "Instanceid" }, "description": "The ID of the connection instance to delete auth for." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "mcp-server" ], "summary": "Get Instance Auth", "description": "Retrieves the auth data for a specific integration instance that the API key owner controls.\nIncludes access token, refresh token, and other authentication data.\n\nThis endpoint includes proper ownership verification to ensure users can only access\nauthentication data for integration instances they own. It also handles token refresh if needed.", "operationId": "getInstanceAuthData", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "instanceId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "description": "The ID of the connection integration instance to get auth data for.", "title": "Instanceid" }, "description": "The ID of the connection integration instance to get auth data for." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAuthDataResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/tools/{serverName}": { "get": { "tags": [ "mcp-server" ], "summary": "Get Tools", "description": "Get tools information for any MCP server.", "operationId": "getServerTools", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "serverName", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the target MCP server. Case-insensitive (e.g., 'google calendar', 'GOOGLE_CALENDAR', 'Google Calendar' are all valid)." }, "description": "The name of the target MCP server. Case-insensitive (e.g., 'google calendar', 'GOOGLE_CALENDAR', 'Google Calendar' are all valid)." }, { "name": "format", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ToolFormat", "description": "The format to return tools in. Default is MCP Native format for maximum compatibility.", "default": "mcp_native" }, "description": "The format to return tools in. Default is MCP Native format for maximum compatibility." }, { "name": "legacy", "in": "query", "required": false, "schema": { "type": "boolean", "description": "Whether to use the legacy server. Default is False.", "default": false, "title": "Legacy" }, "description": "Whether to use the legacy server. Default is False." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListToolsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/mcp-server/servers": { "get": { "tags": [ "mcp-server" ], "summary": "Get All Servers", "description": "Get all MCP servers with their basic information including id, name, description, and tools.", "operationId": "getAllMcpServers", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetMcpServersResponse" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/mcp-server/instance/set-auth": { "post": { "tags": [ "mcp-server" ], "summary": "Set Instance Auth", "description": "Sets authentication data for a specific integration instance.\nAccepts either API key authentication or general authentication data.\nThis updates the auth_metadata for the specified integration instance.", "operationId": "setInstanceAuth", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetAuthRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/white-labeling/create": { "post": { "tags": [ "white-labeling" ], "summary": "Create", "description": "Saves OAuth white labeling information, or updates existing information if the `client_id` matches.", "operationId": "createWhiteLabeling", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWhiteLabelingRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WhiteLabelingResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/white-labeling/get/{client_id}": { "get": { "tags": [ "white-labeling" ], "summary": "Get", "description": "Retrieves white labeling information for a specific OAuth client ID.", "operationId": "getWhiteLabelingByClientId", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "client_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Client Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WhiteLabelingResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/user/{userId}/integrations": { "get": { "tags": [ "user" ], "summary": "Get User Integrations", "description": "Get all available integrations (MCP server names) by user ID.\nReturns a list of integration names as McpServerName types.", "operationId": "getUserIntegrations", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "description": "The external user ID", "title": "Userid" }, "description": "The external user ID" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetUserIntegrationsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/user/{userId}": { "get": { "tags": [ "user" ], "summary": "Get User", "description": "Get user information by user_id.", "operationId": "getUserByUserId", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "description": "The identifier for the user to fetch.", "title": "Userid" }, "description": "The identifier for the user to fetch." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetUserResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "user" ], "summary": "Delete User", "description": "Delete a user and all associated data by user_id.\nUsers cannot delete their own accounts.\nThis operation will permanently remove all user data.", "operationId": "deleteUserByUserId", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "description": "The identifier for the user to delete.", "title": "Userid" }, "description": "The identifier for the user to delete." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteUserResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/user/": { "get": { "tags": [ "user" ], "summary": "Get All Users", "description": "Retrieve all users that have been created under your account, with support for pagination.", "operationId": "getAllUsers", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 1000, "minimum": 1, "description": "Number of results per page (max 1000)", "default": 50, "title": "Page Size" }, "description": "Number of results per page (max 1000)" }, { "name": "page_number", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "description": "Page number to retrieve (starting from 1)", "default": 1, "title": "Page Number" }, "description": "Page number to retrieve (starting from 1)" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAllUsersResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/user/set-auth": { "post": { "tags": [ "user" ], "summary": "Set User Auth", "description": "Sets authentication data for a specific integration for a user.\n\nAccepts either API key authentication or general authentication data.\nThis updates the auth_metadata for the specified user's integration instance.", "operationId": "setUserAuth", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUserAuthRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] } }, "/user/{userId}/auth/{serverName}": { "get": { "tags": [ "user" ], "summary": "Get User Auth", "description": "Retrieves authentication data for a specific integration for a user.\n\nReturns the authentication data if available, along with authentication status.\nIncludes token refresh handling if needed.", "operationId": "getUserAuth", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "description": "The identifier for the user", "title": "Userid" }, "description": "The identifier for the user" }, { "name": "serverName", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the MCP server (e.g., 'GitHub', 'Jira')" }, "description": "The name of the MCP server (e.g., 'GitHub', 'Jira')" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetUserAuthResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "user" ], "summary": "Delete User Auth", "description": "Deletes authentication data for a specific integration for a user.\n\nThis will clear the stored authentication credentials, effectively unauthenticating the integration.", "operationId": "deleteUserAuth", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "userId", "in": "path", "required": true, "schema": { "type": "string", "minLength": 1, "description": "The unique identifier for the user", "title": "Userid" }, "description": "The unique identifier for the user" }, { "name": "serverName", "in": "path", "required": true, "schema": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the MCP server to delete authentication for (e.g., 'github', 'jira')" }, "description": "The name of the MCP server to delete authentication for (e.g., 'github', 'jira')" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/slack/authorize": { "get": { "tags": [ "slack-oauth" ], "summary": "Authorize Slack", "description": "Start Slack OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- user_scope: Optional user-specific scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeSlack", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "user_scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional user-specific OAuth scopes to request (comma-separated string)", "title": "User Scope" }, "description": "Optional user-specific OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/github/authorize": { "get": { "tags": [ "github-oauth" ], "summary": "Authorize Github", "description": "Start GitHub OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGithub", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/gitlab/authorize": { "get": { "tags": [ "gitlab-oauth" ], "summary": "Authorize Gitlab", "description": "Start GitLab OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGitlab", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/supabase/authorize": { "get": { "tags": [ "supabase-oauth" ], "summary": "Authorize Supabase", "description": "Start Supabase OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeSupabase", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/notion/authorize": { "get": { "tags": [ "notion-oauth" ], "summary": "Authorize Notion", "description": "Start Notion OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeNotion", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/jira/authorize": { "get": { "tags": [ "jira-oauth" ], "summary": "Authorize Jira", "description": "Start Jira OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeJira", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/confluence/authorize": { "get": { "tags": [ "confluence-oauth" ], "summary": "Authorize Confluence", "description": "Start Confluence OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeConfluence", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/wordpress/authorize": { "get": { "tags": [ "wordpress-oauth" ], "summary": "Authorize Wordpress", "description": "Start WordPress OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeWordpress", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/gmail/authorize": { "get": { "tags": [ "gmail-oauth" ], "summary": "Authorize Gmail", "description": "Start Gmail OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGmail", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/gdrive/authorize": { "get": { "tags": [ "gdrive-oauth" ], "summary": "Authorize Gdrive", "description": "Start Google Drive OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGDrive", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/gcalendar/authorize": { "get": { "tags": [ "gcalendar-oauth" ], "summary": "Authorize Gcalendar", "description": "Start Google Calendar OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGCalendar", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/gsheets/authorize": { "get": { "tags": [ "gsheets-oauth" ], "summary": "Authorize Gsheets", "description": "Start Google Sheets OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGSheets", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/gdocs/authorize": { "get": { "tags": [ "gdocs-oauth" ], "summary": "Authorize Gdocs", "description": "Start Google Docs OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeGDocs", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/attio/authorize": { "get": { "tags": [ "attio-oauth" ], "summary": "Authorize Attio", "description": "Start Attio OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeAttio", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/salesforce/authorize": { "get": { "tags": [ "salesforce-oauth" ], "summary": "Authorize Salesforce", "description": "Start Salesforce OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes\n- instance_url: Optional Salesforce instance URL for sandbox or custom domains", "operationId": "authorizeSalesforce", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" }, { "name": "instance_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Salesforce instance URL (e.g., https://mycompany.salesforce.com). If not provided, will use default login.salesforce.com", "title": "Instance Url" }, "description": "Salesforce instance URL (e.g., https://mycompany.salesforce.com). If not provided, will use default login.salesforce.com" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/asana/authorize": { "get": { "tags": [ "asana-oauth" ], "summary": "Authorize Asana", "description": "Start Asana OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeAsana", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/linear/authorize": { "get": { "tags": [ "linear-oauth" ], "summary": "Authorize Linear", "description": "Start Linear OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeLinear", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/close/authorize": { "get": { "tags": [ "close-oauth" ], "summary": "Authorize Close", "description": "Start Close OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeClose", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/clickup/authorize": { "get": { "tags": [ "clickup-oauth" ], "summary": "Authorize Clickup", "description": "Start ClickUp OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeClickUp", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/airtable/authorize": { "get": { "tags": [ "airtable-oauth" ], "summary": "Authorize Airtable", "description": "Start Airtable OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeAirtable", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/hubspot/authorize": { "get": { "tags": [ "hubspot-oauth" ], "summary": "Authorize Hubspot", "description": "Start HubSpot OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeHubspot", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/linkedin/authorize": { "get": { "tags": [ "linkedin-oauth" ], "summary": "Authorize Linkedin", "description": "Start LinkedIn OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeLinkedIn", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/canva/authorize": { "get": { "tags": [ "canva-oauth" ], "summary": "Authorize Canva", "description": "Start Canva OAuth flow with PKCE\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated, e.g., \"design:meta:read profile:read\")\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeCanva", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/xero/authorize": { "get": { "tags": [ "xero-oauth" ], "summary": "Authorize Xero", "description": "Start Xero OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeXero", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/dropbox/authorize": { "get": { "tags": [ "dropbox-oauth" ], "summary": "Authorize Dropbox", "description": "Start Dropbox OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeDropbox", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/box/authorize": { "get": { "tags": [ "box-oauth" ], "summary": "Authorize Box", "description": "Start Box OAuth 2.0 flow", "operationId": "authorizeBox", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/quickbooks/authorize": { "get": { "tags": [ "quickbooks-oauth" ], "summary": "Authorize Quickbooks", "description": "Start QuickBooks OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- environment: QuickBooks environment to authorize ('sandbox' default)\n- scope: Optional scopes to request (space-separated). Default is 'com.intuit.quickbooks.accounting'\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeQuickBooks", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "environment", "in": "query", "required": false, "schema": { "enum": [ "sandbox", "production" ], "type": "string", "description": "QuickBooks environment to authorize ('sandbox' or 'production')", "default": "sandbox", "title": "Environment" }, "description": "QuickBooks environment to authorize ('sandbox' or 'production')" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/zendesk/authorize": { "get": { "tags": [ "zendesk-oauth" ], "summary": "Authorize Zendesk", "description": "Start Zendesk OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes\n- subdomain: Zendesk subdomain for the account being connected", "operationId": "authorizeZendesk", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "subdomain", "in": "query", "required": true, "schema": { "type": "string", "description": "Zendesk subdomain for the account being connected (e.g., 'mycompany' for mycompany.zendesk.com)", "title": "Subdomain" }, "description": "Zendesk subdomain for the account being connected (e.g., 'mycompany' for mycompany.zendesk.com)" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/stripe/authorize": { "get": { "tags": [ "stripe-connect-oauth" ], "summary": "Authorize Stripe Connect", "description": "Start Stripe Connect OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeStripeConnect", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/calcom/authorize": { "get": { "tags": [ "calcom-oauth" ], "summary": "Authorize Calcom", "description": "Start Cal.com OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeCalcom", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/vercel/authorize": { "get": { "tags": [ "vercel-oauth" ], "summary": "Authorize Vercel", "description": "Start Vercel OAuth flow using integration pattern\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- client_slug: Vercel integration slug (required for integration-based OAuth)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeVercel", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "client_slug", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Vercel integration slug (required for integration-based OAuth)", "title": "Client Slug" }, "description": "Vercel integration slug (required for integration-based OAuth)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/pipedrive/authorize": { "get": { "tags": [ "pipedrive-oauth" ], "summary": "Authorize Pipedrive", "description": "Start Pipedrive OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizePipedrive", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/figma/authorize": { "get": { "tags": [ "figma-oauth" ], "summary": "Authorize Figma", "description": "Start Figma OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeFigma", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request", "title": "Scope" }, "description": "Optional OAuth scopes to request" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/klaviyo/authorize": { "get": { "tags": [ "klaviyo-oauth" ], "summary": "Authorize Klaviyo", "operationId": "authorizeKlaviyo", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/pagerduty/authorize": { "get": { "tags": [ "pagerduty-oauth" ], "summary": "Authorize Pagerduty", "description": "Start PagerDuty OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizePagerDuty", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/docusign/authorize": { "get": { "tags": [ "docusign-oauth" ], "summary": "Authorize Docusign", "description": "Start DocuSign OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeDocuSign", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/dialpad/authorize": { "get": { "tags": [ "dialpad-oauth" ], "summary": "Authorize Dialpad", "description": "Start Dialpad OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes\n- code_challenge: PKCE code challenge for enhanced security\n- code_challenge_method: PKCE code challenge method", "operationId": "authorizeDialpad", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" }, { "name": "code_challenge", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "PKCE code challenge for enhanced security", "title": "Code Challenge" }, "description": "PKCE code challenge for enhanced security" }, { "name": "code_challenge_method", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "PKCE code challenge method (default: S256)", "default": "S256", "title": "Code Challenge Method" }, "description": "PKCE code challenge method (default: S256)" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/shopify/authorize": { "get": { "tags": [ "shopify-oauth" ], "summary": "Authorize Shopify", "description": "Start Shopify OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- shop: Shopify shop domain (e.g., mystore.myshopify.com)\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (comma-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeShopify", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "shop", "in": "query", "required": true, "schema": { "type": "string", "description": "Shopify shop domain (e.g., mystore.myshopify.com)", "title": "Shop" }, "description": "Shopify shop domain (e.g., mystore.myshopify.com)" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (comma-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (comma-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/onedrive/authorize": { "get": { "tags": [ "onedrive-oauth" ], "summary": "Authorize OneDrive", "operationId": "authorizeOneDrive", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/onedrive/refresh_token": { "post": { "tags": [ "onedrive-oauth" ], "summary": "Refresh Token", "operationId": "refresh_token_oauth_onedrive_refresh_token_post", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Instance ID for which to refresh the token", "title": "Instance Id" }, "description": "Instance ID for which to refresh the token" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADOAuthSuccessResponse" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADOAuthErrorResponse" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/outlook/authorize": { "get": { "tags": [ "outlook-oauth" ], "summary": "Authorize Outlook", "operationId": "authorizeOutlook", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/outlook/refresh_token": { "post": { "tags": [ "outlook-oauth" ], "summary": "Refresh Token", "operationId": "refresh_token_oauth_outlook_refresh_token_post", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Instance ID for which to refresh the token", "title": "Instance Id" }, "description": "Instance ID for which to refresh the token" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADOAuthSuccessResponse" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADOAuthErrorResponse" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/teams/authorize": { "get": { "tags": [ "teams-oauth" ], "summary": "Authorize Teams", "operationId": "authorizeTeams", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/teams/refresh_token": { "post": { "tags": [ "teams-oauth" ], "summary": "Refresh Token", "operationId": "refresh_token_oauth_teams_refresh_token_post", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Instance ID for which to refresh the token", "title": "Instance Id" }, "description": "Instance ID for which to refresh the token" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADOAuthSuccessResponse" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AzureADOAuthErrorResponse" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/fathom/authorize": { "get": { "tags": [ "fathom-oauth" ], "summary": "Authorize Fathom", "description": "Start Fathom OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeFathom", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request", "title": "Scope" }, "description": "Optional OAuth scopes to request" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/oauth/monday/authorize": { "get": { "tags": [ "monday-oauth" ], "summary": "Authorize Monday", "description": "Start Monday OAuth flow\n\nParameters:\n- instance_id: Identifier for the instance requesting authorization\n- client_id: Optional client ID for white labeling\n- scope: Optional scopes to request (space-separated)\n- redirect_url: Optional URL to redirect to after authorization completes", "operationId": "authorizeMonday", "parameters": [ { "name": "instance_id", "in": "query", "required": true, "schema": { "type": "string", "description": "Unique identifier for the client instance requesting authorization", "title": "Instance Id" }, "description": "Unique identifier for the client instance requesting authorization" }, { "name": "client_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Client ID for white labeling, if not provided will use default credentials", "title": "Client Id" }, "description": "Client ID for white labeling, if not provided will use default credentials" }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional OAuth scopes to request (space-separated string)", "title": "Scope" }, "description": "Optional OAuth scopes to request (space-separated string)" }, { "name": "redirect_url", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Optional URL to redirect to after authorization completes", "title": "Redirect Url" }, "description": "Optional URL to redirect to after authorization completes" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "ApiKeyAuth": { "properties": { "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Token", "description": "The API key to save (token field)" }, "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Api Key", "description": "The API key to save (api_key field)" } }, "additionalProperties": false, "type": "object", "title": "Option 1: API Key" }, "AzureADOAuthErrorResponse": { "properties": { "error": { "type": "string", "title": "Error", "description": "Error message from the OAuth process" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message", "description": "Additional error message" } }, "type": "object", "required": [ "error" ], "title": "AzureADOAuthErrorResponse" }, "AzureADOAuthSuccessResponse": { "properties": { "status": { "type": "string", "title": "Status", "description": "Status of the OAuth process", "default": "success" }, "message": { "type": "string", "title": "Message", "description": "Success message" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Data", "description": "Additional data related to the response" } }, "type": "object", "required": [ "message" ], "title": "AzureADOAuthSuccessResponse" }, "CallToolRequest": { "properties": { "serverUrl": { "type": "string", "title": "Serverurl", "description": "The full URL for connecting to the MCP server" }, "toolName": { "type": "string", "title": "Toolname", "description": "The name of the tool to call" }, "toolArgs": { "additionalProperties": true, "type": "object", "title": "Toolargs", "description": "The input parameters for the tool" }, "connectionType": { "$ref": "#/components/schemas/ConnectionType", "description": "The connection type to use for the MCP server. Default is STREAMABLE_HTTP.", "default": "StreamableHttp" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers", "description": "Optional HTTP headers to include when connecting to the server" } }, "type": "object", "required": [ "serverUrl", "toolName" ], "title": "CallToolRequest" }, "CallToolResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "description": "Whether the API call was successful" }, "result": { "anyOf": [ { "$ref": "#/components/schemas/CallToolResult" }, { "type": "null" } ], "description": "The result of the tool call, if successful" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error", "description": "Error message, if the tool call failed" } }, "type": "object", "required": [ "success" ], "title": "CallToolResponse" }, "CallToolResult": { "properties": { "content": { "items": {}, "type": "array", "title": "Content", "description": "The content of the tool call" }, "isError": { "type": "boolean", "title": "Iserror", "description": "Whether the tool call was successful", "default": false } }, "type": "object", "required": [ "content" ], "title": "CallToolResult", "description": "The server's response to a tool call." }, "ConnectionType": { "type": "string", "enum": [ "SSE", "StreamableHttp" ], "title": "ConnectionType" }, "CreateSelfHostedServerRequest": { "properties": { "serverName": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the target MCP server. Case-insensitive (e.g., 'google calendar', 'GOOGLE_CALENDAR', 'Google Calendar' are all valid)." }, "userId": { "type": "string", "minLength": 1, "title": "Userid", "description": "The unique identifier for the user. The server instance along with the all the authentication data will belong to that specific user only. It can be a UUID from the database, a unique email address from the user, etc." } }, "type": "object", "required": [ "serverName", "userId" ], "title": "CreateSelfHostedServerRequest" }, "CreateSelfHostedServerResponse": { "properties": { "instanceId": { "type": "string", "title": "Instanceid", "description": "The unique identifier for this specific server connection integration instance." }, "oauthUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauthurl", "description": "The OAuth authorization URL for the specified server, if OAuth is configured." } }, "type": "object", "required": [ "instanceId" ], "title": "CreateSelfHostedServerResponse" }, "CreateServerRequest": { "properties": { "serverName": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the target MCP server. Case-insensitive (e.g., 'google calendar', 'GOOGLE_CALENDAR', 'Google Calendar' are all valid)." }, "userId": { "type": "string", "minLength": 1, "title": "Userid", "description": "The unique identifier for the user. The server instance along with the all the authentication data will belong to that specific user only. It can be a UUID from the database, a unique email address from the user, etc." }, "platformName": { "anyOf": [ { "type": "string", "minLength": 1 }, { "type": "null" } ], "title": "Platformname", "description": "The name of the platform associated with the user. Optional." }, "connectionType": { "$ref": "#/components/schemas/ConnectionType", "description": "The connection type to use for the MCP server. Default is STREAMABLE_HTTP.", "default": "StreamableHttp" }, "legacy": { "type": "boolean", "title": "Legacy", "description": "Whether to use the legacy server. Default is False.", "default": false } }, "type": "object", "required": [ "serverName", "userId" ], "title": "CreateServerRequest" }, "CreateServerResponse": { "properties": { "serverUrl": { "type": "string", "title": "Serverurl", "description": "The full URL for connecting to the MCP server, including the instance ID." }, "instanceId": { "type": "string", "title": "Instanceid", "description": "The unique identifier for this specific server connection integration instance." }, "oauthUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauthurl", "description": "The OAuth URL for authentication if available, supports white label if configured." } }, "type": "object", "required": [ "serverUrl", "instanceId" ], "title": "CreateServerResponse" }, "CreateWhiteLabelingRequest": { "properties": { "client_id": { "type": "string", "title": "Client Id", "description": "OAuth client ID" }, "client_secret": { "type": "string", "title": "Client Secret", "description": "OAuth client secret" }, "server_name": { "$ref": "#/components/schemas/OAuthServerName", "description": "Optional. The name of the server" }, "callback_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Callback Url", "description": "Optional. OAuth callback URL" }, "account_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Account Id", "description": "Optional. The UUID of the account" } }, "type": "object", "required": [ "client_id", "client_secret", "server_name" ], "title": "CreateWhiteLabelingRequest" }, "DeleteUserResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "type": "string", "title": "Message" } }, "type": "object", "required": [ "success", "message" ], "title": "DeleteUserResponse" }, "ExternalServerInfo": { "properties": { "name": { "type": "string", "title": "Name", "description": "The name of the external server" }, "url": { "type": "string", "title": "Url", "description": "The URL of the external MCP server" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers", "description": "Optional HTTP headers used when connecting to the external server" } }, "type": "object", "required": [ "name", "url" ], "title": "ExternalServerInfo" }, "ExternalServerRequest": { "properties": { "name": { "type": "string", "minLength": 1, "title": "Name", "description": "The name of the external server" }, "url": { "type": "string", "minLength": 1, "title": "Url", "description": "The URL of the external MCP server" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers", "description": "Optional HTTP headers to include when connecting to the external server (e.g., for bearer authentication)" } }, "type": "object", "required": [ "name", "url" ], "title": "ExternalServerRequest" }, "GeneralAuth": { "properties": { "data": { "additionalProperties": true, "type": "object", "title": "Data", "description": "Any other general authentication data to save" } }, "additionalProperties": false, "type": "object", "title": "Option 2: General Auth Data" }, "GetAllUsersResponse": { "properties": { "users": { "items": { "$ref": "#/components/schemas/UserInfo" }, "type": "array", "title": "Users", "description": "List of users" }, "totalCount": { "type": "integer", "title": "Totalcount", "description": "Total number of users across all pages" }, "page": { "type": "integer", "title": "Page", "description": "Current page number" }, "pageSize": { "type": "integer", "title": "Pagesize", "description": "Number of results per page" }, "totalPages": { "type": "integer", "title": "Totalpages", "description": "Total number of pages" } }, "type": "object", "required": [ "users", "totalCount", "page", "pageSize", "totalPages" ], "title": "GetAllUsersResponse" }, "GetAuthDataResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "description": "Whether the request was successful" }, "authData": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "GetAuthDataResponseAuthData", "description": "Complete authentication data including access token, refresh token, scope, expiration, and platform-specific data" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error", "description": "Error message if the request failed" } }, "type": "object", "required": [ "success" ], "title": "GetAuthDataResponse" }, "GetInstanceResponse": { "properties": { "instanceId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instanceid", "description": "The unique identifier of the connection integration instance." }, "authNeeded": { "type": "boolean", "title": "Authneeded", "description": "Indicates whether authentication is required for this server instance.", "default": false }, "isAuthenticated": { "type": "boolean", "title": "Isauthenticated", "description": "Indicates whether the instance is authenticated successfully.", "default": false }, "serverName": { "type": "string", "title": "Servername", "description": "The name of the MCP server associated with the instance.", "default": "" }, "platform": { "type": "string", "title": "Platform", "description": "The platform associated with the instance.", "default": "" }, "externalUserId": { "type": "string", "title": "Externaluserid", "description": "The user's identifier on the external platform.", "default": "" }, "oauthUrl": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Oauthurl", "description": "The OAuth URL for authentication if available, supports white label if configured." } }, "type": "object", "title": "GetInstanceResponse" }, "GetMcpServersResponse": { "properties": { "servers": { "items": { "$ref": "#/components/schemas/McpServer" }, "type": "array", "title": "Servers" } }, "type": "object", "required": [ "servers" ], "title": "GetMcpServersResponse" }, "GetUserAuthResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "userId": { "type": "string", "title": "Userid", "description": "The user identifier" }, "serverName": { "type": "string", "title": "Servername", "description": "The name of the server" }, "authData": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "GetUserAuthResponseAuthData", "description": "The authentication data if available" }, "isAuthenticated": { "type": "boolean", "title": "Isauthenticated", "description": "Whether the server has authentication data configured" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" } }, "type": "object", "required": [ "success", "userId", "serverName", "isAuthenticated" ], "title": "GetUserAuthResponse" }, "GetUserIntegrationsResponse": { "properties": { "integrations": { "items": { "$ref": "#/components/schemas/McpServerName" }, "type": "array", "title": "Integrations" } }, "type": "object", "required": [ "integrations" ], "title": "GetUserIntegrationsResponse" }, "GetUserResponse": { "properties": { "userId": { "type": "string", "title": "Userid" }, "createdAt": { "type": "string", "title": "Createdat" }, "lastUsedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Lastusedat" } }, "type": "object", "required": [ "userId", "createdAt" ], "title": "GetUserResponse" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "ListToolsRequest": { "properties": { "serverUrl": { "type": "string", "title": "Serverurl", "description": "The full URL for connecting to the MCP server" }, "connectionType": { "$ref": "#/components/schemas/ConnectionType", "description": "The connection type to use for the MCP server. Default is STREAMABLE_HTTP.", "default": "StreamableHttp" }, "format": { "$ref": "#/components/schemas/ToolFormat", "description": "The format to return tools in. Default is MCP Native format for maximum compatibility.", "default": "mcp_native" }, "headers": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "title": "Headers", "description": "Optional HTTP headers to include when connecting to the server" } }, "type": "object", "required": [ "serverUrl" ], "title": "ListToolsRequest" }, "ListToolsResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "description": "Whether the list tools request was successful" }, "tools": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "title": "Tools", "description": "List of tools in the requested format" }, "format": { "$ref": "#/components/schemas/ToolFormat", "description": "The format of the returned tools" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error", "description": "Error message, if the request failed" } }, "type": "object", "required": [ "success", "format" ], "title": "ListToolsResponse" }, "McpServer": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "tools": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ServerTool" }, "type": "array" }, { "type": "null" } ], "title": "Tools" }, "authNeeded": { "type": "boolean", "title": "Authneeded", "default": true } }, "type": "object", "required": [ "id", "name" ], "title": "McpServer" }, "McpServerName": { "type": "string", "enum": [ "Affinity", "Airtable", "Asana", "Attio", "Box", "Brave Search", "Cal.com", "ClickUp", "Close", "Cloudflare", "Coinbase", "Confluence", "Dialpad", "Discord", "Doc2markdown", "DocuSign", "Dropbox", "ElevenLabs", "Exa", "Fathom", "Figma", "Fireflies", "Firecrawl Deep Research", "Firecrawl Web Search", "Freshdesk", "GitHub", "GitLab", "Gmail", "Gong", "Google Calendar", "Google Docs", "Google Drive", "Google Jobs", "Google Sheets", "Hacker News", "Heygen", "HubSpot", "Jira", "Klaviyo", "MCP Handle ReportGen", "Linear", "LinkedIn", "Markdown2doc", "Mem0", "Microsoft Teams", "Mixpanel", "Monday", "Moneybird", "Motion", "Notion", "OneDrive", "Openrouter", "Outlook", "PagerDuty", "Pipedrive", "Plai", "Postgres", "PostHog", "QuickBooks", "Resend", "Salesforce", "SendGrid", "Shopify", "Slack", "Stripe", "Supabase", "Tavily", "Vercel", "WhatsApp", "WordPress", "YouTube", "Zendesk", "ServiceNow" ], "title": "McpServerName" }, "OAuthServerName": { "type": "string", "enum": [ "Airtable", "Asana", "Attio", "Box", "Cal.com", "Canva", "ClickUp", "Close", "Confluence", "Dialpad", "DocuSign", "Dropbox", "Fathom", "Figma", "GitHub", "GitLab", "Gmail", "Google Calendar", "Google Docs", "Google Drive", "Google Sheets", "HubSpot", "Jira", "Klaviyo", "Linear", "LinkedIn", "Microsoft Teams", "Monday", "Moneybird", "Notion", "Onedrive", "Outlook", "PagerDuty", "Pipedrive", "QuickBooks", "Salesforce", "Shopify", "Slack", "Stripe", "Supabase", "Vercel", "WordPress", "Xero", "Zendesk" ], "title": "OAuthServerName" }, "ServerTool": { "properties": { "name": { "type": "string", "title": "Name" }, "description": { "type": "string", "title": "Description" } }, "type": "object", "required": [ "name", "description" ], "title": "ServerTool" }, "SetAuthRequest": { "properties": { "instanceId": { "type": "string", "title": "Instanceid", "description": "The unique identifier for the connection instance" }, "authData": { "anyOf": [ { "$ref": "#/components/schemas/ApiKeyAuth" }, { "$ref": "#/components/schemas/GeneralAuth" } ], "title": "SetAuthRequestAuthData", "description": "Authentication data" } }, "type": "object", "required": [ "instanceId", "authData" ], "title": "SetAuthRequest" }, "SetUserAuthRequest": { "properties": { "userId": { "type": "string", "minLength": 1, "title": "Userid", "description": "The unique identifier for the user" }, "serverName": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the MCP server to set authentication for (e.g., 'GitHub', 'Jira')" }, "authData": { "anyOf": [ { "$ref": "#/components/schemas/ApiKeyAuth" }, { "$ref": "#/components/schemas/GeneralAuth" } ], "title": "SetUserAuthRequestAuthData", "description": "Authentication data" } }, "type": "object", "required": [ "userId", "serverName", "authData" ], "title": "SetUserAuthRequest" }, "StatusResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" } }, "type": "object", "required": [ "success" ], "title": "StatusResponse" }, "StrataAddServersRequest": { "properties": { "strataId": { "type": "string", "minLength": 1, "title": "Strataid", "description": "The strata server ID" }, "servers": { "anyOf": [ { "items": { "$ref": "#/components/schemas/McpServerName" }, "type": "array" }, { "type": "string", "const": "ALL" }, { "type": "null" } ], "title": "Servers", "description": "List of MCP Handle integration to add (e.g., 'jira', 'linear'), 'ALL' to add all MCP Handle integration, or null to add no servers." }, "externalServers": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ExternalServerRequest" }, "type": "array" }, { "type": "null" } ], "title": "Externalservers", "description": "Optional list of external MCP servers to add with their URLs. Each server will be validated before being added." } }, "type": "object", "required": [ "strataId" ], "title": "StrataAddServersRequest" }, "StrataAddServersResponse": { "properties": { "addedServers": { "items": { "type": "string" }, "type": "array", "title": "Addedservers", "description": "List of MCP Handle integration that were added" }, "addedExternalServers": { "items": { "$ref": "#/components/schemas/ExternalServerInfo" }, "type": "array", "title": "Addedexternalservers", "description": "List of external MCP servers that were added with name and URL" }, "oauthUrls": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Oauthurls", "description": "Map of connected integration to OAuth URL, supports white labeling if configured" }, "apiKeyUrls": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Apikeyurls", "description": "Map of connected integration to API key setup URL" } }, "type": "object", "required": [ "addedServers" ], "title": "StrataAddServersResponse" }, "StrataCreateRequest": { "properties": { "userId": { "type": "string", "minLength": 1, "title": "Userid", "description": "The unique identifier for the user. The server instance along with the all the authentication data will belong to that specific user only. It can be a UUID from the database, a unique email address from the user, etc." }, "servers": { "anyOf": [ { "items": { "$ref": "#/components/schemas/McpServerName" }, "type": "array" }, { "type": "string", "const": "ALL" }, { "type": "null" } ], "title": "Servers", "description": "List of MCP Handle MCP servers to enable (e.g., 'jira', 'linear'), 'ALL' to add all MCP Handle MCP servers, or null to add no servers." }, "externalServers": { "anyOf": [ { "items": { "$ref": "#/components/schemas/ExternalServerRequest" }, "type": "array" }, { "type": "null" } ], "title": "Externalservers", "description": "Optional list of external MCP servers to add with their URLs. Each server will be validated before being added." }, "enableAuthHandling": { "type": "boolean", "title": "Enableauthhandling", "description": "Whether to enable authentication handling. Default is True.", "default": true } }, "type": "object", "required": [ "userId" ], "title": "StrataCreateRequest" }, "StrataCreateResponse": { "properties": { "strataServerUrl": { "type": "string", "title": "Strataserverurl", "description": "URL to connect to the Strata MCP server" }, "strataId": { "type": "string", "title": "Strataid", "description": "The strata server ID" }, "addedServers": { "items": { "type": "string" }, "type": "array", "title": "Addedservers", "description": "List of MCP Handle integration that were added" }, "addedExternalServers": { "items": { "$ref": "#/components/schemas/ExternalServerInfo" }, "type": "array", "title": "Addedexternalservers", "description": "List of external MCP servers that were added with name and URL" }, "oauthUrls": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Oauthurls", "description": "Map of connected integration to OAuth URL, supports white labeling if configured" }, "apiKeyUrls": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Apikeyurls", "description": "Map of connected integration to API key setup URL" } }, "type": "object", "required": [ "strataServerUrl", "strataId", "addedServers" ], "title": "StrataCreateResponse" }, "StrataDeleteServersResponse": { "properties": { "deletedServers": { "items": { "type": "string" }, "type": "array", "title": "Deletedservers", "description": "List of integration that were deleted" }, "deletedExternalServers": { "items": { "type": "string" }, "type": "array", "title": "Deletedexternalservers", "description": "List of external MCP server names that were deleted" } }, "type": "object", "required": [ "deletedServers", "deletedExternalServers" ], "title": "StrataDeleteServersResponse" }, "StrataGetAuthResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "serverName": { "type": "string", "title": "Servername", "description": "The name of the server" }, "authData": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Authdata", "description": "The authentication data if available" }, "isAuthenticated": { "type": "boolean", "title": "Isauthenticated", "description": "Whether the server has authentication data configured" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" } }, "type": "object", "required": [ "success", "serverName", "isAuthenticated" ], "title": "StrataGetAuthResponse" }, "StrataGetResponse": { "properties": { "strataServerUrl": { "type": "string", "title": "Strataserverurl", "description": "URL to connect to the Strata MCP server" }, "strataId": { "type": "string", "title": "Strataid", "description": "The strata server ID" }, "connectedServers": { "items": { "type": "string" }, "type": "array", "title": "Connectedservers", "description": "List of available integration currently connected to this strata" }, "connectedExternalServers": { "items": { "$ref": "#/components/schemas/ExternalServerInfo" }, "type": "array", "title": "Connectedexternalservers", "description": "List of external servers with name and URL currently connected to this strata" }, "oauthUrls": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Oauthurls", "description": "Map of connected integration to OAuth URL, supports white labeling if configured" }, "apiKeyUrls": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Apikeyurls", "description": "Map of connected integration to API key setup URL" } }, "type": "object", "required": [ "strataServerUrl", "strataId", "connectedServers", "connectedExternalServers" ], "title": "StrataGetResponse" }, "StrataRawActionsResponse": { "properties": { "strataId": { "type": "string", "title": "Strataid", "description": "The strata server ID" }, "server": { "type": "string", "title": "Server", "description": "The requested server name" }, "result": { "additionalProperties": true, "type": "object", "title": "Result", "description": "Map of categories to raw actions" } }, "type": "object", "required": [ "strataId", "server" ], "title": "StrataRawActionsResponse" }, "StrataSetAuthRequest": { "properties": { "strataId": { "type": "string", "title": "Strataid", "description": "The strata server ID" }, "serverName": { "$ref": "#/components/schemas/McpServerName", "description": "The name of the MCP Handle MCP server to set authentication for (e.g., 'GitHub', 'Jira')" }, "authData": { "anyOf": [ { "$ref": "#/components/schemas/ApiKeyAuth" }, { "$ref": "#/components/schemas/GeneralAuth" } ], "title": "Authdata", "description": "Authentication data" } }, "type": "object", "required": [ "strataId", "serverName", "authData" ], "title": "StrataSetAuthRequest" }, "ToolFormat": { "type": "string", "enum": [ "openai", "anthropic", "gemini", "mcp_native" ], "title": "ToolFormat" }, "UserInfo": { "properties": { "userId": { "type": "string", "title": "Userid", "description": "The external user ID" }, "createdAt": { "type": "string", "title": "Createdat", "description": "The timestamp when the user was created" } }, "type": "object", "required": [ "userId", "createdAt" ], "title": "UserInfo" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" }, "WhiteLabelingResponse": { "properties": { "success": { "type": "boolean", "title": "Success", "description": "Whether the operation was successful" }, "data": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Data", "description": "The white labeling data if successful" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message", "description": "Error message if unsuccessful" } }, "type": "object", "required": [ "success" ], "title": "WhiteLabelingResponse" } }, "securitySchemes": { "HTTPBearer": { "type": "http", "description": "Your MCP Handle API key.", "scheme": "bearer", "x-fern-bearer": { "name": "api_key" } } } } }