From 0915a9cfb7afe7b245d3c393f235c588d511a9df Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Fri, 8 Nov 2024 15:05:48 +0530 Subject: [PATCH 01/11] feat: add types --- js/package.json | 2 +- js/src/sdk/client/schemas.gen.ts | 63 ++++++++++++++++++++++++++++--- js/src/sdk/client/services.gen.ts | 13 ++++++- js/src/sdk/client/types.gen.ts | 47 ++++++++++++++++++++--- 4 files changed, 112 insertions(+), 13 deletions(-) diff --git a/js/package.json b/js/package.json index fa6f4f4d62..9013efc6b7 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "composio-core", - "version": "0.2.8-4", + "version": "0.2.8-5", "description": "", "main": "lib/src/index.js", "scripts": { diff --git a/js/src/sdk/client/schemas.gen.ts b/js/src/sdk/client/schemas.gen.ts index 545e5d8a85..e456b7d8bc 100644 --- a/js/src/sdk/client/schemas.gen.ts +++ b/js/src/sdk/client/schemas.gen.ts @@ -797,7 +797,7 @@ export const $ExpectedInputFieldsDTO = { type: 'string', description: 'Description of the field' }, - displayName: { + display_name: { type: 'string', description: 'Display name of the field' }, @@ -809,17 +809,17 @@ export const $ExpectedInputFieldsDTO = { type: 'boolean', description: 'Whether the field is required' }, - expectedFromCustomer: { + expected_from_customer: { type: 'boolean', description: 'Whether the field is expected from customer' }, - isSecret: { + is_secret: { type: 'boolean', description: 'Whether the field is a secret' } }, type: 'object', - required: ['name', 'type', 'description', 'displayName', 'default', 'required', 'expectedFromCustomer', 'isSecret'] + required: ['name', 'type', 'description', 'display_name', 'default', 'required', 'expected_from_customer', 'is_secret'] } as const; export const $GetConnectorInfoResDTO = { @@ -933,7 +933,11 @@ export const $CreateConnectorPayloadDTO = { }, appId: { type: 'string', - description: 'Application ID' + description: 'Composio App UUID to be used for authentication. Either specify this or appName' + }, + appName: { + type: 'string', + description: 'Name of the app to be used for authentication. Either specify this or appId' }, forceNewIntegration: { type: 'boolean', @@ -941,7 +945,7 @@ export const $CreateConnectorPayloadDTO = { } }, type: 'object', - required: ['name', 'appId'] + required: ['name'] } as const; export const $PatchConnectorReqDTO = { @@ -1157,6 +1161,12 @@ export const $ConnectionWithAppData = { '$ref': '#/components/schemas/MemberInfoResDTO' }, type: 'object' + }, + labels: { + items: { + type: 'string' + }, + type: 'array' } }, type: 'object', @@ -1312,6 +1322,12 @@ export const $ConnectionParams = { '$ref': '#/components/schemas/MemberInfoResDTO' }, type: 'object' + }, + labels: { + items: { + type: 'string' + }, + type: 'array' } }, type: 'object', @@ -1556,6 +1572,12 @@ export const $GetConnectionsQueryDto = { }, showDisabled: { type: 'boolean' + }, + labels: { + items: { + type: 'string' + }, + type: 'array' } }, type: 'object' @@ -1578,12 +1600,31 @@ export const $InitiateConnectionPayloadDto = { }, entityId: { type: 'string' + }, + labels: { + items: { + type: 'string' + }, + type: 'array' } }, type: 'object', required: ['data', 'integrationId'] } as const; +export const $UpdateConnectionLabelsPayloadDto = { + properties: { + labels: { + items: { + type: 'string' + }, + type: 'array' + } + }, + type: 'object', + required: ['labels'] +} as const; + export const $InitiateConnectionResponse = { properties: { connectionStatus: { @@ -1861,6 +1902,12 @@ export const $ActionsQueryDTO = { }, showAll: { type: 'boolean' + }, + page: { + type: 'number' + }, + offset: { + type: 'number' } }, type: 'object' @@ -2368,6 +2415,10 @@ export const $TriggerResponseDTO = { triggerId: { type: 'string', description: 'Optional trigger ID' + }, + isNew: { + type: 'boolean', + description: 'Is new trigger. If true, the trigger was created just now or else it was already existing' } }, type: 'object', diff --git a/js/src/sdk/client/services.gen.ts b/js/src/sdk/client/services.gen.ts index a8c654b032..d9029ae9e3 100644 --- a/js/src/sdk/client/services.gen.ts +++ b/js/src/sdk/client/services.gen.ts @@ -1,7 +1,7 @@ // This file is auto-generated by @hey-api/openapi-ts import { createClient, createConfig, type Options } from '@hey-api/client-axios'; -import type { IdentifyClientData, IdentifyClientError, IdentifyClientResponse, GetUserInfoError, GetUserInfoResponse, GenerateApiKeyData, GenerateApiKeyError, GenerateApiKeyResponse, ListApiKeysError, ListApiKeysResponse, DeleteApiKeyData, DeleteApiKeyError, DeleteApiKeyResponse, GetAppsData, GetAppsError, GetAppsResponse, GetOpenApiSpecsError, GetOpenApiSpecsResponse, DeleteOpenApiSpecToolData, DeleteOpenApiSpecToolError, DeleteOpenApiSpecToolResponse, AppControllerSendEmailToClientData, AppControllerSendEmailToClientError, AppControllerSendEmailToClientResponse, GetOpenApiSpecStatusData, GetOpenApiSpecStatusError, GetOpenApiSpecStatusResponse, GetAppData, GetAppError, GetAppResponse, CreateConnectorData, CreateConnectorError, CreateConnectorResponse, ListAllConnectorsError, ListAllConnectorsResponse, GetConnectorInfoData, GetConnectorInfoError, GetConnectorInfoResponse, ModifyConnectorData, ModifyConnectorError, ModifyConnectorResponse, DeleteConnectorData, DeleteConnectorError, DeleteConnectorResponse, GetConnectionsData, GetConnectionsError, GetConnectionsResponse, InitiateConnectionData, InitiateConnectionError, InitiateConnectionResponse2, GetConnectionData, GetConnectionError, GetConnectionResponse, DeleteConnectionData, DeleteConnectionError, DeleteConnectionResponse, GetConnectionInfoData, GetConnectionInfoError, GetConnectionInfoResponse, DisableConnectionData, DisableConnectionError, DisableConnectionResponse, EnableConnectionData, EnableConnectionError, EnableConnectionResponse, ListTriggersData, ListTriggersError, ListTriggersResponse, EnableTriggerData, EnableTriggerError, EnableTriggerResponse, GetActiveTriggersData, GetActiveTriggersError, GetActiveTriggersResponse, SwitchTriggerInstanceStatusData, SwitchTriggerInstanceStatusError, SwitchTriggerInstanceStatusResponse, DisableTriggerData, DisableTriggerError, DisableTriggerResponse, DeleteTriggerData, DeleteTriggerError, DeleteTriggerResponse, SetCallbackUrlData, SetCallbackUrlError, SetCallbackUrlResponse, GetWebhookUrlError, GetWebhookUrlResponse, GetTriggerLogsData, GetTriggerLogsError, GetTriggerLogsResponse, GetTriggerInfoV2Data, GetTriggerInfoV2Error, GetTriggerInfoV2Response, GetSentryDnsError, GetSentryDnsResponse, ClearCacheData, ClearCacheError, ClearCacheResponse, GenerateCliSessionError, GenerateCliSessionResponse, GetCliCodeData, GetCliCodeError, GetCliCodeResponse, VerifyCliCodeData, VerifyCliCodeError, VerifyCliCodeResponse, GetLogsData, GetLogsError, GetLogsResponse, PostLogsData, PostLogsError, PostLogsResponse, ListActionsV2Data, ListActionsV2Error, ListActionsV2Response, ListActionsMinimalV2Data, ListActionsMinimalV2Error, ListActionsMinimalV2Response, ExecuteActionV2Data, ExecuteActionV2Error, ExecuteActionV2Response, GetActionInputsV2Data, GetActionInputsV2Error, GetActionInputsV2Response, GetActionV2Data, GetActionV2Error, GetActionV2Response, ExecuteActionProxyV2Data, ExecuteActionProxyV2Error, ExecuteActionProxyV2Response, GetAnalyticsData, GetAnalyticsError, GetAnalyticsResponse, GetTopEntitiesData, GetTopEntitiesError, GetTopEntitiesResponse, UpdateWebhookData, UpdateWebhookError, UpdateWebhookResponse } from './types.gen'; +import type { IdentifyClientData, IdentifyClientError, IdentifyClientResponse, GetUserInfoError, GetUserInfoResponse, GenerateApiKeyData, GenerateApiKeyError, GenerateApiKeyResponse, ListApiKeysError, ListApiKeysResponse, DeleteApiKeyData, DeleteApiKeyError, DeleteApiKeyResponse, GetAppsData, GetAppsError, GetAppsResponse, GetOpenApiSpecsError, GetOpenApiSpecsResponse, DeleteOpenApiSpecToolData, DeleteOpenApiSpecToolError, DeleteOpenApiSpecToolResponse, AppControllerSendEmailToClientData, AppControllerSendEmailToClientError, AppControllerSendEmailToClientResponse, GetOpenApiSpecStatusData, GetOpenApiSpecStatusError, GetOpenApiSpecStatusResponse, GetAppData, GetAppError, GetAppResponse, CreateConnectorData, CreateConnectorError, CreateConnectorResponse, ListAllConnectorsError, ListAllConnectorsResponse, GetConnectorInfoData, GetConnectorInfoError, GetConnectorInfoResponse, ModifyConnectorData, ModifyConnectorError, ModifyConnectorResponse, DeleteConnectorData, DeleteConnectorError, DeleteConnectorResponse, GetConnectionsData, GetConnectionsError, GetConnectionsResponse, InitiateConnectionData, InitiateConnectionError, InitiateConnectionResponse2, UpdateConnectionDataData, UpdateConnectionDataError, UpdateConnectionDataResponse, GetConnectionData, GetConnectionError, GetConnectionResponse, DeleteConnectionData, DeleteConnectionError, DeleteConnectionResponse, GetConnectionInfoData, GetConnectionInfoError, GetConnectionInfoResponse, DisableConnectionData, DisableConnectionError, DisableConnectionResponse, EnableConnectionData, EnableConnectionError, EnableConnectionResponse, ListTriggersData, ListTriggersError, ListTriggersResponse, EnableTriggerData, EnableTriggerError, EnableTriggerResponse, GetActiveTriggersData, GetActiveTriggersError, GetActiveTriggersResponse, SwitchTriggerInstanceStatusData, SwitchTriggerInstanceStatusError, SwitchTriggerInstanceStatusResponse, DisableTriggerData, DisableTriggerError, DisableTriggerResponse, DeleteTriggerData, DeleteTriggerError, DeleteTriggerResponse, SetCallbackUrlData, SetCallbackUrlError, SetCallbackUrlResponse, GetWebhookUrlError, GetWebhookUrlResponse, GetTriggerLogsData, GetTriggerLogsError, GetTriggerLogsResponse, GetTriggerInfoV2Data, GetTriggerInfoV2Error, GetTriggerInfoV2Response, GetSentryDnsError, GetSentryDnsResponse, ClearCacheData, ClearCacheError, ClearCacheResponse, GenerateCliSessionError, GenerateCliSessionResponse, GetCliCodeData, GetCliCodeError, GetCliCodeResponse, VerifyCliCodeData, VerifyCliCodeError, VerifyCliCodeResponse, GetLogsData, GetLogsError, GetLogsResponse, PostLogsData, PostLogsError, PostLogsResponse, ListActionsV2Data, ListActionsV2Error, ListActionsV2Response, ListActionsMinimalV2Data, ListActionsMinimalV2Error, ListActionsMinimalV2Response, ExecuteActionV2Data, ExecuteActionV2Error, ExecuteActionV2Response, GetActionInputsV2Data, GetActionInputsV2Error, GetActionInputsV2Response, GetActionV2Data, GetActionV2Error, GetActionV2Response, ExecuteActionProxyV2Data, ExecuteActionProxyV2Error, ExecuteActionProxyV2Response, GetAnalyticsData, GetAnalyticsError, GetAnalyticsResponse, GetTopEntitiesData, GetTopEntitiesError, GetTopEntitiesResponse, UpdateWebhookData, UpdateWebhookError, UpdateWebhookResponse } from './types.gen'; export const client = createClient(createConfig()); @@ -209,6 +209,17 @@ export class ConnectionsService { }); } + /** + * Update connection data + * Update connection data + */ + public static updateConnectionData(options: Options) { + return (options?.client ?? client).patch({ + ...options, + url: '/api/v1/connectedAccounts/{connectedAccountId}/data' + }); + } + /** * Get connection */ diff --git a/js/src/sdk/client/types.gen.ts b/js/src/sdk/client/types.gen.ts index 95c15a3bf6..ff79a6dd92 100644 --- a/js/src/sdk/client/types.gen.ts +++ b/js/src/sdk/client/types.gen.ts @@ -571,7 +571,7 @@ export type ExpectedInputFieldsDTO = { /** * Display name of the field */ - displayName: string; + display_name: string; /** * Default value of the field */ @@ -585,11 +585,11 @@ export type ExpectedInputFieldsDTO = { /** * Whether the field is expected from customer */ - expectedFromCustomer: boolean; + expected_from_customer: boolean; /** * Whether the field is a secret */ - isSecret: boolean; + is_secret: boolean; }; export type GetConnectorInfoResDTO = { @@ -676,9 +676,13 @@ export type CreateConnectorPayloadDTO = { */ useComposioAuth?: boolean; /** - * Application ID + * Composio App UUID to be used for authentication. Either specify this or appName */ - appId: string; + appId?: string; + /** + * Name of the app to be used for authentication. Either specify this or appId + */ + appName?: string; /** * Flag to force new integration */ @@ -806,6 +810,7 @@ export type ConnectionWithAppData = { member: { [key: string]: unknown; }; + labels?: Array<(string)>; }; export type GetConnectionsResult = { @@ -873,6 +878,7 @@ export type ConnectionParams = { member: { [key: string]: unknown; }; + labels?: Array<(string)>; }; export type ToggleConnectedAccountResponseDTO = { @@ -969,6 +975,7 @@ export type GetConnectionsQueryDto = { showActiveOnly?: boolean; status?: string; showDisabled?: boolean; + labels?: Array<(string)>; }; export type InitiateConnectionPayloadDto = { @@ -979,6 +986,11 @@ export type InitiateConnectionPayloadDto = { redirectUri?: string; userUuid?: string; entityId?: string; + labels?: Array<(string)>; +}; + +export type UpdateConnectionLabelsPayloadDto = { + labels: Array<(string)>; }; export type InitiateConnectionResponse = { @@ -1104,6 +1116,8 @@ export type ActionsQueryDTO = { usecaseLimit?: number; filterImportantActions?: boolean; showAll?: boolean; + page?: number; + offset?: number; }; export type ActionsControllerV1 = { @@ -1494,6 +1508,10 @@ export type TriggerResponseDTO = { * Optional trigger ID */ triggerId?: string; + /** + * Is new trigger. If true, the trigger was created just now or else it was already existing + */ + isNew?: boolean; }; export type WebhookURLResponseDTO = { @@ -2292,6 +2310,7 @@ export type GetConnectionsData = { appNames?: string; connectionId?: string; integrationId?: string; + labels?: Array<(string)>; page?: number; pageSize?: number; showActiveOnly?: boolean; @@ -2316,6 +2335,20 @@ export type InitiateConnectionResponse2 = InitiateConnectionResponse; export type InitiateConnectionError = unknown; +export type UpdateConnectionDataData = { + /** + * UpdateConnectionLabelsPayloadDto + */ + body?: UpdateConnectionLabelsPayloadDto; + path: { + connectedAccountId: string; + }; +}; + +export type UpdateConnectionDataResponse = unknown; + +export type UpdateConnectionDataError = unknown; + export type GetConnectionData = { path: { connectedAccountId: string; @@ -2560,6 +2593,8 @@ export type ListActionsV2Data = { apps?: string; filterImportantActions?: boolean; limit?: number; + offset?: number; + page?: number; showAll?: boolean; showEnabledOnly?: boolean; tags?: string; @@ -2579,6 +2614,8 @@ export type ListActionsMinimalV2Data = { apps?: string; filterImportantActions?: boolean; limit?: number; + offset?: number; + page?: number; showAll?: boolean; showEnabledOnly?: boolean; tags?: string; From 4d7a76fea7cdb61634ec3f6e5005fef6f58a4af3 Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Fri, 8 Nov 2024 19:40:46 +0530 Subject: [PATCH 02/11] feat: redirect uri --- js/package.json | 2 +- js/src/sdk/models/connectedAccounts.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/js/package.json b/js/package.json index 7f8fa02734..a95eac233e 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "composio-core", - "version": "0.2.9-4", + "version": "0.2.9-5", "description": "", "main": "lib/src/index.js", "scripts": { diff --git a/js/src/sdk/models/connectedAccounts.ts b/js/src/sdk/models/connectedAccounts.ts index d7a8c7785f..daeb9dd9c7 100644 --- a/js/src/sdk/models/connectedAccounts.ts +++ b/js/src/sdk/models/connectedAccounts.ts @@ -13,6 +13,7 @@ type InitiateConnectionDataReq = InitiateConnectionPayloadDto & { entityId?: string; labels?: string[]; integrationId: string; + redirectUri?: string; } export class ConnectedAccounts { @@ -70,12 +71,13 @@ export class ConnectedAccounts { async initiate(payload: InitiateConnectionDataReq): Promise { try { - const {integrationId, entityId = 'default', labels,data={}} = payload; + const {integrationId, entityId = 'default', labels,data={}, redirectUri} = payload; const res = await client.connections.initiateConnection({ body: { integrationId, entityId, labels, + redirectUri, data, } }).then(res => res.data); From 916e24bfa1edc20db8028bbfaddd014470716af0 Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Fri, 8 Nov 2024 20:44:33 +0530 Subject: [PATCH 03/11] feat: bettererror --- js/src/sdk/utils/error.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/js/src/sdk/utils/error.ts b/js/src/sdk/utils/error.ts index d93ebb2020..6a987b99a6 100644 --- a/js/src/sdk/utils/error.ts +++ b/js/src/sdk/utils/error.ts @@ -119,8 +119,8 @@ export class CEG { let axiosDataMessage = axiosError.response?.data?.message || axiosError.message; const status = axiosError.response?.status || axiosError.status || axiosError.code || 'unknown'; - const urlAndStatus = axiosError.config?.url ? `in (URL: ${axiosError.config.url}, Status: ${status})` : ''; - axiosDataMessage = `${axiosDataMessage || errorDetails.description || "No additional information available."} ${urlAndStatus}`; + const urlAndStatus = axiosError.config?.url ? `🔗 in URL: ${axiosError.config.url}, 📊 Status: ${status}` : ''; + axiosDataMessage = `❌ ${ifObjectStringify(axiosDataMessage) || errorDetails.description || "No additional information available."} ${urlAndStatus}`; throw new ComposioError( errorKey as string, errorDetails.message, @@ -151,4 +151,8 @@ export class CEG { throw new ComposioError(messageCode, message || errorDetails.message, description || errorDetails.description, possibleFix || errorDetails.possibleFix); } +} + +export const ifObjectStringify = (obj: any) => { + return typeof obj === 'object' ? JSON.stringify(obj) : obj; } \ No newline at end of file From 69e8fd746310edc6e20e38914007d3ad3c7ede2f Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Mon, 11 Nov 2024 12:32:21 +0530 Subject: [PATCH 04/11] feat: update desc --- .../actions-controller-v-1/execute-action-proxy.mdx | 3 --- docs/api-reference/actions-controller-v-1/execute-action.mdx | 3 --- docs/api-reference/actions-controller-v-1/get-action.mdx | 3 --- docs/api-reference/actions-controller-v-1/list-actions.mdx | 3 --- .../actions-controller-v-2/execute-action-proxy.mdx | 3 --- docs/api-reference/actions-controller-v-2/execute-action.mdx | 3 --- .../{actions-controller-v-2 => actions}/list-actions.mdx | 0 docs/api-reference/admin/clear-cache.mdx | 3 +++ docs/api-reference/auth/get-user-info.mdx | 3 +++ docs/api-reference/connections/update-connection-data.mdx | 3 +++ docs/composio_openapi.json | 2 +- 11 files changed, 10 insertions(+), 19 deletions(-) delete mode 100644 docs/api-reference/actions-controller-v-1/execute-action-proxy.mdx delete mode 100644 docs/api-reference/actions-controller-v-1/execute-action.mdx delete mode 100644 docs/api-reference/actions-controller-v-1/get-action.mdx delete mode 100644 docs/api-reference/actions-controller-v-1/list-actions.mdx delete mode 100644 docs/api-reference/actions-controller-v-2/execute-action-proxy.mdx delete mode 100644 docs/api-reference/actions-controller-v-2/execute-action.mdx rename docs/api-reference/{actions-controller-v-2 => actions}/list-actions.mdx (100%) create mode 100644 docs/api-reference/admin/clear-cache.mdx create mode 100644 docs/api-reference/auth/get-user-info.mdx create mode 100644 docs/api-reference/connections/update-connection-data.mdx diff --git a/docs/api-reference/actions-controller-v-1/execute-action-proxy.mdx b/docs/api-reference/actions-controller-v-1/execute-action-proxy.mdx deleted file mode 100644 index 5a91605353..0000000000 --- a/docs/api-reference/actions-controller-v-1/execute-action-proxy.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /api/v1/actions/proxy ---- \ No newline at end of file diff --git a/docs/api-reference/actions-controller-v-1/execute-action.mdx b/docs/api-reference/actions-controller-v-1/execute-action.mdx deleted file mode 100644 index 16a4f67fed..0000000000 --- a/docs/api-reference/actions-controller-v-1/execute-action.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /api/v1/actions/{actionId}/execute ---- \ No newline at end of file diff --git a/docs/api-reference/actions-controller-v-1/get-action.mdx b/docs/api-reference/actions-controller-v-1/get-action.mdx deleted file mode 100644 index 6feda9f248..0000000000 --- a/docs/api-reference/actions-controller-v-1/get-action.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /api/v1/actions/{actionId} ---- \ No newline at end of file diff --git a/docs/api-reference/actions-controller-v-1/list-actions.mdx b/docs/api-reference/actions-controller-v-1/list-actions.mdx deleted file mode 100644 index 2036bd4a12..0000000000 --- a/docs/api-reference/actions-controller-v-1/list-actions.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: get /api/v1/actions ---- \ No newline at end of file diff --git a/docs/api-reference/actions-controller-v-2/execute-action-proxy.mdx b/docs/api-reference/actions-controller-v-2/execute-action-proxy.mdx deleted file mode 100644 index 9c1021ce63..0000000000 --- a/docs/api-reference/actions-controller-v-2/execute-action-proxy.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /api/v2/actions/proxy ---- \ No newline at end of file diff --git a/docs/api-reference/actions-controller-v-2/execute-action.mdx b/docs/api-reference/actions-controller-v-2/execute-action.mdx deleted file mode 100644 index be574a28d0..0000000000 --- a/docs/api-reference/actions-controller-v-2/execute-action.mdx +++ /dev/null @@ -1,3 +0,0 @@ ---- -openapi: post /api/v2/actions/{actionId}/execute ---- \ No newline at end of file diff --git a/docs/api-reference/actions-controller-v-2/list-actions.mdx b/docs/api-reference/actions/list-actions.mdx similarity index 100% rename from docs/api-reference/actions-controller-v-2/list-actions.mdx rename to docs/api-reference/actions/list-actions.mdx diff --git a/docs/api-reference/admin/clear-cache.mdx b/docs/api-reference/admin/clear-cache.mdx new file mode 100644 index 0000000000..7e69e16ae3 --- /dev/null +++ b/docs/api-reference/admin/clear-cache.mdx @@ -0,0 +1,3 @@ +--- +openapi: post /api/v1/clear-cache +--- \ No newline at end of file diff --git a/docs/api-reference/auth/get-user-info.mdx b/docs/api-reference/auth/get-user-info.mdx new file mode 100644 index 0000000000..c5a220afc0 --- /dev/null +++ b/docs/api-reference/auth/get-user-info.mdx @@ -0,0 +1,3 @@ +--- +openapi: get /api/v1/client/auth/client_info +--- \ No newline at end of file diff --git a/docs/api-reference/connections/update-connection-data.mdx b/docs/api-reference/connections/update-connection-data.mdx new file mode 100644 index 0000000000..bea897888f --- /dev/null +++ b/docs/api-reference/connections/update-connection-data.mdx @@ -0,0 +1,3 @@ +--- +openapi: patch /api/v1/connectedAccounts/{connectedAccountId}/data +--- \ No newline at end of file diff --git a/docs/composio_openapi.json b/docs/composio_openapi.json index b05ac74b0b..12ed87ccec 100644 --- a/docs/composio_openapi.json +++ b/docs/composio_openapi.json @@ -1 +1 @@ -{"components":{"schemas":{"MemberInfoResDTO":{"properties":{"id":{"type":"string"},"clientId":{"type":"string"},"email":{"format":"email","type":"string"},"name":{"type":"string"},"role":{"type":"string"},"metadata":{},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"deletedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]}},"type":"object","required":["id","clientId","email","name","role","createdAt","updatedAt"],"description":"Member information"},"MagicLinkResDTO":{"properties":{"status":{"type":"string"}},"type":"object","required":["status"]},"MagicLinkReqDTO":{"properties":{"email":{"format":"email","type":"string","description":"The email of the user"},"verifyHost":{"type":"string","description":"The frontend host of the user"}},"type":"object","required":["email","verifyHost"]},"LogoutResDTO":{"properties":{"message":{"type":"string","description":"Message confirming the logout"}},"type":"object","required":["message"]},"VerifyMagicLinkReqDTO":{"properties":{"token":{"type":"string","description":"The magic link token"}},"type":"object","required":["token"]},"VerifyMagicLinkDataDTO":{"properties":{"clientId":{"type":"string"},"isValid":{"type":"boolean"},"jwtToken":{"type":"string"},"email":{"type":"string","format":"email"}},"type":"object","required":["clientId","isValid","jwtToken","email"],"description":"Data containing client and token information if verification is successful"},"VerifyMagicLinkResDTO":{"properties":{"message":{"type":"string","description":"Message indicating the result of the verification"},"data":{"$ref":"#/components/schemas/VerifyMagicLinkDataDTO"}},"type":"object","required":["message"]},"IdentifyClientReqDTO":{"properties":{"hash":{"type":"string","description":"The hash of the client"},"framework":{"type":"string","description":"The framework used by the client"}},"type":"object","required":["hash"]},"IdentifyClientResDTO":{"properties":{"clientId":{"type":"string","description":"The client ID"},"apiKey":{"type":"string","description":"The API key associated with the client"},"email":{"type":"string","description":"The email associated with the client"}},"type":"object","required":["clientId","apiKey","email"]},"UserGitUserInfo":{"properties":{"name":{"type":"string"},"email":{"format":"email","type":"string"}},"type":"object","required":["email"],"description":"User Git information"},"TrackClientReqDTO":{"properties":{"framework":{"type":"string","description":"The framework used by the client"},"mac_address":{"type":"string","description":"The MAC address of the client device"},"user_git_user_info":{"$ref":"#/components/schemas/UserGitUserInfo"}},"type":"object","required":["framework"]},"TrackClientResDTO":{"properties":{"message":{"type":"string","description":"Message indicating the result of the tracking operation"}},"type":"object","required":["message"]},"DeleteRowAPIDTO":{"properties":{"status":{"type":"string","description":"Status of the delete operation"},"count":{"type":"number","description":"Number of records deleted"}},"type":"object","required":["status","count"]},"InviteMemberReqDTO":{"properties":{"email":{"format":"email","type":"string","description":"The email of the member"},"name":{"type":"string","description":"The name of the member"},"verifyHost":{"type":"string","description":"The host to verify the member"},"role":{"enum":["admin","developer"],"type":"string","description":"The role that will be assignied to the invited user"}},"type":"object","required":["email","name","verifyHost"]},"MemberResDTO":{"properties":{"email":{"type":"string","description":"The email of the member"},"id":{"type":"string","description":"The uuid identifier for the member"},"name":{"type":"string","description":"The name of the member"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date of the member record"},"role":{"enum":["admin","developer"],"type":"string","description":"The role that is assigned to the member"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The last update date of the member record"}},"type":"object","required":["email","id","name","role"]},"UpdateMemberReqDTO":{"properties":{"memberId":{"type":"string","description":"The uuid identifier for the member"},"role":{"enum":["admin","developer"],"type":"string","description":"The role that is assigned to the member"}},"type":"object","required":["memberId","role"]},"GenerateAPIKeyReqDTO":{"properties":{"name":{"type":"string","description":"The name of the API key to be generated"}},"type":"object","required":["name"]},"APIKeyResDTO":{"properties":{"id":{"type":"string","description":"The ID of the API key"},"name":{"type":"string","description":"The name of the API key"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date of the API key"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The last update date of the API key"},"key":{"type":"string","description":"The generated API key"},"isHidden":{"type":"boolean","description":"Whether the API key is hidden"},"lastUsed":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The last used date of the API key"},"member":{"type":"object","description":"The member of the API key"}},"type":"object","required":["id","name","createdAt","updatedAt","key","isHidden","member"]},"DeleteAPIKeyReqDTO":{"properties":{"id":{"type":"string","description":"The ID of the API key to be deleted"}},"type":"object","required":["id"]},"DeleteAPIKeyResponseDTO":{"properties":{"deleted":{"type":"boolean","description":"The status of the delete operation"}},"type":"object","required":["deleted"]},"SingleAppInfoResDTO":{"properties":{"appId":{"type":"string","description":"The unique identifier for the app"},"key":{"type":"string","description":"The key of the app"},"name":{"type":"string","description":"The name of the app"},"description":{"type":"string","description":"The description of the app"},"logo":{"type":"string","description":"The logo of the app"},"categories":{"items":{"type":"string"},"type":"array","description":"The categories of the app"},"path":{"type":"string","description":"The path of the app"},"docs":{"type":"string","description":"The documentation URL of the app"},"configuration_docs_text":{"type":"string","description":"The configuration documentation text of the app"},"status":{"type":"string","description":"The status of the app"},"documentation_doc_text":{"type":"string","description":"The documentation text of the app"},"testConnectors":{"items":{"type":"object"},"type":"array","description":"The test connectors of the app"},"no_auth":{"type":"boolean","description":"Indicates if the app has no authentication"},"auth_schemes":{"items":{"type":"object"},"type":"array","description":"The authentication schemes of the app"},"meta":{"description":"The metadata of the app"},"yaml":{"description":"The yaml of the app"}},"type":"object","required":["appId","key","name","description"]},"AddToolsReqDTO":{"properties":{"name":{"type":"string","description":"The name of the tool"},"openApiSpecYaml":{"type":"string","description":"The OpenAPI specification in YAML format"},"integrationYaml":{"type":"string","description":"The integration details in YAML format"}},"type":"object","required":["name","openApiSpecYaml","integrationYaml"]},"OpenAPISpecListResDTO":{"properties":{"id":{"type":"string","description":"Unique identifier for the OpenAPI spec"},"name":{"type":"string","description":"Name of the OpenAPI spec"},"clientId":{"type":"string","description":"Client identifier"},"lastSyncAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Last synchronization date and time","format":"date-time"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Creation date and time","format":"date-time"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Last update date and time","format":"date-time"},"status":{"enum":["initialized","running","caching","cancelled","finished","exited"],"type":"string","description":"The job status of the app"},"state":{"enum":["preprocess","validate","prepare","build","push","load","finish"],"type":"string","description":"Current state of the app FSM"}},"type":"object","required":["id","name","clientId","lastSyncAt","createdAt","updatedAt"]},"AddRepoURLResDTO":{"properties":{"repoUrl":{"type":"string","description":"Repository URL"}},"type":"object","required":["repoUrl"]},"DeleteToolsReqDTO":{"properties":{"name":{"type":"string","description":"Name of the tool"}},"type":"object","required":["name"]},"DeleteToolsResDTO":{"properties":{"message":{"type":"string","description":"Message indicating successful deletion of tools"}},"type":"object","required":["message"]},"AddToolsRequestDTO":{"properties":{"name":{"type":"string","description":"The name of the tool"},"open_api_spec_yaml":{"type":"string","description":"The OpenAPI specification in YAML format"},"integration_yaml":{"type":"string","description":"The integration details in YAML format"}},"type":"object","required":["name","open_api_spec_yaml","integration_yaml"]},"AddRepoURLReqDTO":{"properties":{"repoUrl":{"type":"string","description":"Repository URL"}},"type":"object","required":["repoUrl"]},"AppQueryDTO":{"properties":{"category":{"type":"string","description":"Category of the app"},"includeLocal":{"type":"string","description":"Whether to include local tools or not"}},"type":"object"},"AppInfoResponseDto":{"properties":{"appId":{"type":"string","description":"The ID of the app"},"key":{"type":"string","description":"The key of the app"},"name":{"type":"string","description":"The name of the app"},"description":{"type":"string","description":"The description of the app"},"logo":{"type":"string","description":"The logo of the app"},"categories":{"items":{"type":"object"},"type":"string","description":"The categories of the app"},"enabled":{"type":"boolean","description":"Indicates if the app is enabled"},"no_auth":{"type":"boolean","description":"Indicates if the app has no authentication"}},"type":"object","required":["appId","key","name","description","logo","categories","enabled"]},"AppListResDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AppInfoResponseDto"},"type":"array","description":"List of app details"},"totalPages":{"type":"number","description":"Total number of pages"}},"type":"object","required":["items","totalPages"]},"GetConnectorInfoResDTO":{"properties":{"id":{"type":"string","description":"Unique identifier of the connector"},"authScheme":{"type":"string","description":"Authentication scheme used by the connector"},"name":{"type":"string","description":"Name of the connector"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Creation date of the connector"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Last update date of the connector"},"enabled":{"type":"boolean","description":"Flag to indicate if the connector is currently enabled"},"deleted":{"type":"boolean","description":"Flag to indicate if the connector has been deleted"},"appId":{"type":"string","description":"Application ID associated with the connector"},"defaultConnectorId":{"type":"string","description":"Default connector ID if one exists"},"authConfig":{"type":"object","description":"Authentication configuration with sensitive data obscured"},"expectedInputFields":{"items":{"type":"string"},"type":"array","description":"List of required fields expected from the customer"},"logo":{"type":"string","description":"Logo URL of the application associated with the connector"},"appName":{"type":"string","description":"Name of the application associated with the connector"},"useComposioAuth":{"type":"boolean","description":"Flag to indicate if Composio authentication is used"}},"type":"object","required":["enabled","appId","authConfig","expectedInputFields","logo","appName","useComposioAuth"]},"AuthConfigDTO":{"properties":{"scopes":{"items":{"type":"string"},"type":"array"},"user_scopes":{"items":{"type":"string"},"type":"array"}},"type":"object","description":"Authentication configuration"},"CreateConnectorPayloadDTO":{"properties":{"name":{"type":"string","description":"Name of the connector"},"authScheme":{"type":"string","description":"Authentication scheme"},"authConfig":{"$ref":"#/components/schemas/AuthConfigDTO"},"useComposioAuth":{"type":"boolean","description":"Flag to indicate if Composio authentication should be used","anyOf":[{"type":"boolean"}]},"appId":{"type":"string","description":"Application ID"},"forceNewIntegration":{"type":"boolean","description":"Flag to force new integration"}},"type":"object","required":["name","appId"]},"PatchConnectorReqDTO":{"properties":{"authConfig":{"type":"object","description":"Authentication configuration for the connector"},"enabled":{"type":"boolean","description":"Flag to indicate if the connector is enabled"}},"type":"object"},"PatchConnectorResDTO":{"properties":{"status":{"type":"string","description":"Status of the patch operation"}},"type":"object","required":["status"]},"ConnectorListItemDTO":{"properties":{"appName":{"type":"string","description":"Application name associated with the connector"},"_count":{"type":"object","description":"Count of connections for the connector"},"connections":{"items":{"type":"object"},"type":"array","description":"List of connections with their details and request logs count"},"id":{"type":"string","description":"Unique identifier of the connector"},"member":{"$ref":"#/components/schemas/MemberInfoResDTO"},"name":{"type":"string","description":"Name of the connector"},"authScheme":{"type":"string","description":"Authentication scheme used by the connector"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Creation date of the connector"},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Last update date of the connector"},"enabled":{"type":"boolean","description":"Flag to indicate if the connector is enabled"},"deleted":{"type":"boolean","description":"Flag to indicate if the connector is deleted"},"appId":{"type":"string","description":"App ID associated with the connector"},"defaultConnectorId":{"type":"string","description":"Default connector ID if available"}},"type":"object","required":["appName","_count","connections","id","member","name","authScheme","createdAt","updatedAt","enabled","appId"],"description":"List of connectors"},"GetConnectorListResDTO":{"properties":{"items":{"items":{"type":"object"},"type":"array"},"totalPages":{"type":"number","description":"Total number of pages available"},"page":{"type":"number","description":"Current page number"}},"type":"object","required":["items","totalPages","page"]},"PageInfo":{"properties":{"total":{"minimum":0,"type":"integer"},"page":{"minimum":1,"type":"integer"},"pageSize":{"minimum":1,"type":"integer"},"totalPages":{"minimum":1,"type":"integer"}},"type":"object","required":["total","page","pageSize","totalPages"]},"ConnectionWithAppData":{"properties":{"id":{"type":"string"},"integrationId":{"type":"string"},"clientUniqueUserId":{"type":"string"},"status":{"type":"string"},"data":{"type":"object"},"deleted":{"type":"boolean"},"enabled":{"type":"boolean"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"appUniqueId":{"type":"string"},"appName":{"type":"string"},"logo":{"type":"string"},"authConfig":{"type":"object"},"member":{"items":{"$ref":"#/components/schemas/MemberInfoResDTO"},"type":"object"}},"type":"object","required":["id","integrationId","status","createdAt","updatedAt","appUniqueId","appName","member"]},"GetConnectionsResult":{"properties":{"connections":{"items":{"$ref":"#/components/schemas/ConnectionWithAppData"},"type":"array"},"pageInfo":{"$ref":"#/components/schemas/PageInfo"}},"type":"object","required":["connections","pageInfo"]},"ToolsExecuteReqDto":{"properties":{"actionName":{"type":"string"},"runInSandbox":{"type":"boolean"},"input":{"type":"object"},"nlaInput":{"type":"string"},"authorizationData":{"type":"object"},"appSchema":{"type":"object"}},"type":"object","required":["actionName","runInSandbox","input"]},"DirectExecuteReqDto":{"properties":{"endpoint":{"type":"string"},"base_url":{"type":"string"},"headers":{"type":"object"},"queryParams":{"type":"object"}},"type":"object","required":["endpoint","base_url","headers","queryParams"]},"ActionExecutionResDto":{"properties":{"data":{"type":"object"},"error":{"type":"string"},"successfull":{"type":"string"}},"type":"object","required":["data"]},"ConnectionParams":{"properties":{"integrationId":{"type":"string"},"connectionParams":{"type":"object"},"isDisabled":{"type":"boolean"},"invocationCount":{"type":"number"},"id":{"type":"string"},"clientUniqueUserId":{"type":"string"},"status":{"type":"string"},"data":{"type":"object"},"deleted":{"type":"boolean"},"enabled":{"type":"boolean"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"appUniqueId":{"type":"string"},"appName":{"type":"string"},"logo":{"type":"string"},"authConfig":{"type":"object"},"member":{"items":{"$ref":"#/components/schemas/MemberInfoResDTO"},"type":"object"}},"type":"object","required":["integrationId","isDisabled","invocationCount","id","status","createdAt","updatedAt","appUniqueId","appName","member"]},"ToggleConnectedAccountResponseDTO":{"properties":{"status":{"type":"string"}},"type":"object","required":["status"]},"ConnectionParamsHeaders":{"properties":{"Authorization":{"type":"string"},"x-request-id":{"type":"string"}},"type":"object"},"ConnectionParamsForAccount":{"properties":{"scope":{"type":"string"},"scopes":{"type":"string"},"id_token":{"type":"string"},"client_id":{"type":"string"},"expires_in":{"type":"string"},"token_type":{"type":"string"},"callback_url":{"type":"string"},"client_secret":{"type":"string"},"code_verifier":{"type":"string"},"refresh_token":{"type":"string"},"headers":{"type":"object"},"queryParams":{"type":"object"},"base_url":{"type":"string"}},"type":"object"},"MetaApp":{"properties":{"get_current_user_endpoint":{"type":"string"}},"type":"object","required":["get_current_user_endpoint"]},"Meta":{"properties":{"app":{"type":"object"}},"type":"object","required":["app"]},"ConnectedAccountResponseDTO":{"properties":{"integrationId":{"type":"string"},"appUniqueId":{"type":"string"},"memberInfo":{"$ref":"#/components/schemas/MemberInfoResDTO"},"meta":{"$ref":"#/components/schemas/Meta"},"isDisabled":{"type":"boolean"},"id":{"type":"string"},"clientUniqueUserId":{"type":"string"},"appName":{"type":"string"},"entityId":{"type":"string"},"status":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["integrationId","appUniqueId","id","clientUniqueUserId","appName","entityId","status","createdAt","updatedAt"]},"GetConnectionsResponseDto":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ConnectionParams"},"type":"array"},"totalPages":{"type":"number"},"page":{"type":"number"}},"type":"object","required":["items","totalPages","page"]},"GetConnectionInfoResponseDTO":{"properties":{"base_url":{"type":"string"},"parameters":{"items":{"$ref":"#/components/schemas/Parameter"},"type":"array"},"body":{"type":"object"}},"type":"object","required":["base_url","parameters","body"]},"Parameter":{"properties":{"name":{"type":"string"},"in":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","in","value"]},"Data":{"properties":{"field1":{"type":"string"},"field2":{"type":"string"}},"type":"object","required":["field1","field2"]},"AdditionalInfo":{"properties":{"meta":{"type":"string"}},"type":"object","required":["meta"]},"GetConnectionsQueryDto":{"properties":{"page":{"type":"number"},"pageSize":{"type":"number"},"appNames":{"type":"string"},"integrationId":{"type":"string"},"connectionId":{"type":"string"},"user_uuid":{"type":"string"},"showActiveOnly":{"type":"boolean"},"status":{"type":"string"},"showDisabled":{"type":"boolean"}},"type":"object"},"InitiateConnectionPayloadDto":{"properties":{"data":{"type":"string","minLength":1},"integrationId":{"minLength":1,"type":"string"},"redirectUri":{"type":"string"},"userUuid":{"type":"string"}},"type":"object","required":["integrationId"]},"InitiateConnectionResponse":{"properties":{"connectionStatus":{"minLength":1,"type":"string"},"connectedAccountId":{"minLength":1,"type":"string"},"redirectUrl":{"type":"string"}},"type":"object","required":["connectionStatus","connectedAccountId"]},"CustomAuthDTO":{"properties":{"base_url":{"type":"string"},"parameters":{"items":{"$ref":"#/components/schemas/Parameter"},"type":"array"},"body":{"type":"object"}},"type":"object","required":["parameters"]},"ActionExecutionReqDTO":{"properties":{"connectedAccountId":{"type":"string"},"appName":{"type":"string"},"entityId":{"type":"string"},"endpoint":{"type":"string"},"input":{"type":"object"},"authConfig":{"$ref":"#/components/schemas/CustomAuthDTO"},"text":{"type":"string"}},"type":"object"},"ActionGetNLAInputsReqDTO":{"properties":{"text":{"type":"string"}},"type":"object","required":["text"]},"ProxyExecutionReqDTO":{"properties":{"endpoint":{"type":"string"},"connectedAccountId":{"type":"string"}},"type":"object","required":["endpoint","connectedAccountId"]},"ActionDetailsMinimal":{"properties":{"appId":{"type":"string"},"appKey":{"type":"string"},"appName":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"enabled":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"deprecated":{"type":"boolean"}},"type":"object","required":["appKey","appName","description","displayName","enabled","logo","name","tags","deprecated"]},"ActionDetails":{"properties":{"parameters":{"type":"object"},"response":{"type":"object"},"appId":{"type":"string"},"appKey":{"type":"string"},"appName":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"enabled":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"deprecated":{"type":"boolean"}},"type":"object","required":["parameters","response","appKey","appName","description","displayName","enabled","logo","name","tags","deprecated"]},"ActionsListResponseDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActionDetails"},"type":"array"},"page":{"type":"number"},"totalPages":{"type":"number"}},"type":"object","required":["items","page","totalPages"]},"ActionsMinimalListResponseDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActionDetailsMinimal"},"type":"array"},"page":{"type":"number"},"totalPages":{"type":"number"}},"type":"object","required":["items","page","totalPages"]},"ExecuteActionResDTO":{"properties":{"response_data":{"type":"boolean","description":"Indicates if the action was executed successfully"},"execution_details":{"type":"object","description":"Details of the execution status"}},"type":"object","required":["response_data","execution_details"]},"ActionsQueryDTO":{"properties":{"appNames":{"type":"string","description":"Names of the apps"},"useCase":{"type":"string","description":"Use case"},"showEnabledOnly":{"type":"boolean","description":"Show enabled only"},"limit":{"type":"number","description":"Limit"},"apps":{"type":"string"},"actions":{"type":"string"},"tags":{"type":"string"},"usecaseLimit":{"type":"number"},"filterImportantActions":{"type":"boolean"},"showAll":{"type":"boolean"}},"type":"object"},"ActionsControllerV1":{"properties":{"getAction":{"items":{"type":"object"},"type":"array"}},"type":"object","required":["getAction"]},"OAuth2CallbackQueryDto":{"properties":{"state":{"type":"string"}},"type":"object","required":["state"]},"RedirectUriDTO":{"properties":{"redirectUri":{"type":"string"}},"type":"object"},"ListTriggersQueryDTO":{"properties":{"appNames":{"type":"string","description":"Names of the apps"},"connectedAccountIds":{"type":"string","description":"IDs of the connected accounts"},"triggerIds":{"type":"string","description":"IDs of the triggers"},"showEnabledOnly":{"type":"boolean","description":"Show enabled only"}},"type":"object"},"GetActiveTriggersQueryDTO":{"properties":{"connectedAccountIds":{"type":"string","description":"IDs of the connected accounts"},"integrationIds":{"type":"string","description":"IDs of the integrations"},"triggerIds":{"type":"string","description":"IDs of the triggers"},"triggerNames":{"type":"string","description":"Names of the triggers"},"page":{"type":"number","description":"Page number"},"limit":{"type":"number","description":"Limit per page"},"showDisabled":{"type":"boolean","description":"Show disabled triggers"}},"type":"object"},"GetLogsQueryDTO":{"properties":{"connectionId":{"type":"string","description":"ID of the connection"},"integrationId":{"type":"string","description":"ID of the integration"},"page":{"type":"number","description":"Page number"},"limit":{"type":"number","description":"Limit per page"}},"type":"object"},"TriggerResDTO":{"properties":{"name":{"type":"string","description":"Trigger name"},"display_name":{"type":"string","description":"Trigger display name"},"description":{"type":"string","description":"Trigger description"},"enabled":{"type":"boolean","description":"Is trigger enabled"},"config":{"type":"object","description":"Trigger configuration"},"payload":{"type":"object","description":"Trigger payload"},"logo":{"type":"string","description":"Trigger logo URL"},"count":{"type":"number","description":"Trigger count"},"appKey":{"type":"string","description":"App key"},"appId":{"type":"string","description":"App ID"},"appName":{"type":"string","description":"App name"},"instructions":{"type":"string","description":"Trigger instructions"},"type":{"type":"string","description":"Trigger type"}},"type":"object","required":["name","display_name","appKey","appId","appName"]},"SingleTriggerResDTO":{"properties":{"name":{"type":"string","description":"Trigger name"},"displayName":{"type":"string","description":"Trigger display name"},"description":{"type":"string","description":"Trigger description"},"type":{"type":"string","description":"Trigger type"},"appId":{"type":"string","description":"App ID"},"appName":{"type":"string","description":"App name"},"instructions":{"type":"string","description":"Trigger instructions"},"payload":{"type":"object","description":"Trigger payload"},"config":{"type":"object","description":"Trigger config"}},"type":"object","required":["name","displayName","description","type","appId","appName","payload","config"]},"TriggerConfig":{"properties":{"repo":{"type":"string","description":"Repository name"},"owner":{"type":"string","description":"Repository owner"}},"type":"object","required":["repo","owner"],"description":"Trigger configuration"},"ActiveTriggerInstance":{"properties":{"id":{"type":"string","description":"Trigger instance ID"},"connectionId":{"type":"string","description":"Connected account ID"},"triggerName":{"type":"string","description":"Trigger name"},"triggerData":{"type":"string","description":"Trigger data"},"triggerConfig":{"$ref":"#/components/schemas/TriggerConfig"},"createdAt":{"type":"string","description":"Created at timestamp","format":"date-time"},"updatedAt":{"type":"string","description":"Updated at timestamp","format":"date-time"},"disabledAt":{"type":"string","description":"Disabled at timestamp","format":"date-time","nullable":true}},"type":"object","required":["connectionId","triggerName","triggerConfig","createdAt","updatedAt"]},"PageInfoDTO":{"properties":{"currentPage":{"type":"number"},"perPage":{"type":"number"},"totalPages":{"type":"number"}},"type":"object","required":["currentPage","perPage","totalPages"]},"ActiveTriggersResDTO":{"properties":{"triggers":{"items":{"type":"object"},"type":"array"},"pageInfo":{"items":{"$ref":"#/components/schemas/PageInfoDTO"},"type":"array"}},"type":"object","required":["triggers","pageInfo"]},"TriggerLogsResDTO":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TriggerLogItemDTO"},"type":"array"},"pageInfo":{"$ref":"#/components/schemas/PageInfoDTO"}},"type":"object","required":["data","pageInfo"]},"TriggerLogItemDTO":{"properties":{"clientId":{"type":"string","description":"Client ID"},"connectionId":{"type":"string","description":"Connection ID"},"errorTrigger":{"type":"string","description":"Error trigger","nullable":true},"triggerClientError":{"type":"string","description":"Trigger client error","nullable":true},"triggerClientPayload":{"type":"string","description":"Trigger client payload","nullable":true},"triggerProviderPayload":{"type":"string","description":"Trigger provider payload","nullable":true},"triggerName":{"type":"string","description":"Trigger name","nullable":true},"id":{"type":"string","description":"Log ID"},"appKey":{"type":"string","description":"App key"},"createdAt":{"type":"string","description":"Created at timestamp","format":"date-time"}},"type":"object","required":["clientId","connectionId","id","appKey","createdAt"]},"HandleTriggerParamsDTO":{"properties":{"appName":{"type":"string","description":"The name of the app"},"clientId":{"type":"string","description":"The client ID"}},"type":"object","required":["appName","clientId"]},"HandleTriggerBodyDTO":{"properties":{"body":{"type":"object","description":"The trigger payload"}},"type":"object","required":["body"]},"EnableTriggerParamsDTO":{"properties":{"connectedAccountId":{"type":"string","description":"The connected account ID"},"triggerName":{"type":"string","description":"The trigger name"}},"type":"object","required":["connectedAccountId","triggerName"]},"GetTriggerParamsDTO":{"properties":{"triggerId":{"type":"string","description":"The connected account ID"}},"type":"object","required":["triggerId"]},"EnableTriggerBodyDTO":{"properties":{"triggerConfig":{"type":"object","description":"The trigger configuration"},"verifyHost":{"type":"string","description":"The verify host"}},"type":"object","required":["triggerConfig"]},"SwitchTriggerStatusParamsDTO":{"properties":{"triggerId":{"type":"string","description":"The trigger instance ID"}},"type":"object","required":["triggerId"]},"SwitchTriggerStatusBodyDTO":{"properties":{"enabled":{"type":"boolean","description":"The new enabled status of the trigger"}},"type":"object","required":["enabled"]},"TriggerInstanceParamsDTO":{"properties":{"triggerInstanceId":{"type":"string","description":"The trigger instance ID"}},"type":"object","required":["triggerInstanceId"]},"SetCallbackUrlBodyDTO":{"properties":{"callbackURL":{"type":"string","description":"The callback URL"}},"type":"object","required":["callbackURL"]},"TriggerResponseDTO":{"properties":{"status":{"type":"string","description":"The status of the operation"},"message":{"type":"string","description":"Optional message"},"triggerId":{"type":"string","description":"Optional trigger ID"}},"type":"object","required":["status"]},"WebhookURLResponseDTO":{"properties":{"status":{"type":"string","description":"The status of the operation"},"callbackURL":{"type":"string","description":"The callback URL if found"}},"type":"object","required":["status"]},"TriggerMetadataDTO":{"properties":{"id":{"type":"string","description":"The unique identifier of the trigger"},"connectionId":{"type":"string","description":"The connection identifier associated with the trigger"},"triggerName":{"type":"string","description":"The name of the trigger"},"triggerData":{"type":"string","description":"The data associated with the trigger"},"triggerConfig":{"type":"object","description":"The configuration of the trigger"},"state":{"type":"object","description":"The state of the trigger"},"createdAt":{"type":"string","description":"The creation date of the trigger"},"updatedAt":{"type":"string","description":"The last update date of the trigger"},"disabledAt":{"type":"string","description":"The date when the trigger was disabled, if applicable"},"disabledReason":{"type":"string","description":"The reason why the trigger was disabled, if applicable"}},"type":"object","required":["id","connectionId","triggerName","triggerData","triggerConfig","state","createdAt","updatedAt"],"description":"The trigger details if found"},"GetTriggerResponseDTO":{"properties":{"status":{"type":"string","description":"The status of the operation"},"trigger":{"$ref":"#/components/schemas/TriggerMetadataDTO"}},"type":"object","required":["status"]},"GenerateCLISessionReqDTO":{"properties":{"channel_name":{"type":"string","description":"The channel name for the CLI session"}},"type":"object","required":["channel_name"]},"GenerateCLISessionResDTO":{"properties":{"key":{"type":"string","description":"The key for the CLI session"}},"type":"object","required":["key"]},"GetCLISessionResDTO":{"properties":{"clientId":{"type":"string","description":"The client ID"},"cliCode":{"type":"string","description":"The CLI code"}},"type":"object","required":["clientId","cliCode"]},"VerifyCLICodeResDTO":{"properties":{"clientId":{"type":"string","description":"The client ID"},"cliCode":{"type":"string","description":"The CLI code"},"apiKey":{"type":"string","description":"The API key associated with the client"}},"type":"object","required":["clientId","cliCode","apiKey"]},"CLIQueryDTO":{"properties":{"key":{"type":"string","description":"Unique key for CLI session"},"code":{"type":"string","description":"Code for CLI verification"}},"type":"object","required":["key"]},"MetadataReqDTO":{"properties":{"email":{"type":"string","description":"The email associated with the metadata request"},"metadata":{"description":"Additional metadata as a key-value pair"}},"type":"object","required":["email"]},"TriggersEnabledToggleReqDTO":{"properties":{"enabled":{"type":"boolean","description":"Flag to enable or disable triggers"}},"type":"object","required":["enabled"]},"TriggersEnabledToggleResDTO":{"properties":{"message":{"type":"string","description":"Message indicating the result of the toggle operation"}},"type":"object","required":["message"]},"TriggerToggleInfoResponseDTO":{"properties":{"triggersEnabled":{"type":"boolean","description":"Indicates if triggers are enabled"}},"type":"object","required":["triggersEnabled"]},"ToggleTriggerStateResponseDTO":{"properties":{"message":{"type":"string"}},"type":"object","required":["message"]},"MetadataQueryDTO":{"properties":{"email":{"type":"string","description":"Email of the client"}},"type":"object","required":["email"]},"TriggerMetadata":{"properties":{"id":{"type":"string","description":"The unique id of the log"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["trigger"]}]},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was created","format":"date-time"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was updated","format":"date-time"},"provider":{"type":"string","description":"The provider of the log"},"clientId":{"type":"string","description":"The client uuid of the log"},"connectionId":{"type":"string","description":"The connection id of the log"},"triggerProviderPayload":{"type":"string","description":"The trigger provider payload of the log"},"triggerClientPayload":{"type":"string"},"triggerClientError":{"type":"string","description":"The trigger client error of the log"},"triggerName":{"type":"string","description":"The trigger name of the log"},"triggerClientResponse":{"type":"string","description":"The trigger client response of the log"}},"type":"object","required":["id","type","createdAt","updatedAt","provider","clientId","connectionId"],"description":"Metadata associated with the trigger log"},"ActionMetadata":{"properties":{"id":{"type":"string","description":"The unique id of the log"},"request":{"type":"string","description":"The request sent to the provider"},"response":{"type":"string","description":"The response from the provider"},"errorRequest":{"type":"string","description":"The error request sent to the provider"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["action"]}]},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was created","format":"date-time"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was updated","format":"date-time"},"provider":{"type":"string","description":"The provider of the log"},"clientId":{"type":"string","description":"The client uuid of the log"},"connectionId":{"type":"string","description":"The connection id of the log"},"actionName":{"type":"string","description":"The action name of the log"}},"type":"object","required":["id","request","type","createdAt","updatedAt","provider","clientId","connectionId","actionName"]},"TriggerLogData":{"properties":{"id":{"type":"string","description":"The unique identifier of the trigger log"},"connectionId":{"type":"string","description":"The connection identifier associated with the trigger log"},"clientId":{"type":"string","description":"The client identifier associated with the trigger log"},"status":{"type":"string","description":"The status of the trigger log"},"appName":{"type":"string","description":"The name of the application associated with the trigger log"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date and time of the trigger log","format":"date-time"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["trigger"]}]},"meta":{"$ref":"#/components/schemas/TriggerMetadata"}},"type":"object","required":["id","connectionId","clientId","status","appName","createdAt","type","meta"]},"ActionLogData":{"properties":{"id":{"type":"string","description":"The unique identifier of the action log"},"connectionId":{"type":"string","description":"The connection identifier associated with the action log"},"clientId":{"type":"string","description":"The client identifier associated with the action log"},"status":{"type":"string","description":"The status of the action log"},"appName":{"type":"string","description":"The name of the application associated with the action log"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date and time of the action log","format":"date-time"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["action"]}]},"meta":{"$ref":"#/components/schemas/ActionMetadata"}},"type":"object","required":["id","connectionId","clientId","status","appName","createdAt","type","meta"]},"LogsResDTO":{"properties":{"nextCursor":{"type":"string","description":"The cursor to get the next page of logs"},"data":{"items":{"type":"object"},"type":"array","description":"Logs data"}},"type":"object","required":["data"]},"GetLogsDTO":{"properties":{"type":{"enum":["error","info","debug"],"type":"string","description":"Type of the log"},"time":{"enum":["5m","30m","6h","1d","1w","1month","1y"],"type":"string","description":"Time interval for which data needs to be fetched"},"status":{"enum":["all","success","error"],"type":"string","description":"Status of the log"},"search":{"type":"string","description":"Search term in the log"},"integrationId":{"type":"string","description":"Integration UUID"},"entityId":{"type":"string","description":"Entity id"},"limit":{"type":"number","description":"Limit of the logs","default":10},"cursor":{"type":"string","description":"Cursor for pagination"},"logsType":{"type":"string","description":"Type of the log"}},"type":"object"},"IngestDataDTO":{"properties":{"connectionId":{"type":"string","description":"Connection ID of the log"},"entityId":{"type":"string","description":"Entity ID of the log"},"providerName":{"type":"string","description":"Provider name of the log"},"actionName":{"type":"string","description":"Action name of the log"},"request":{"type":"object"},"response":{"type":"object"},"isError":{"type":"boolean"}},"type":"object","required":["providerName","actionName","request","response","isError"]},"IngestDataResponseDTO":{"properties":{"isIngested":{"type":"boolean"}},"type":"object","required":["isIngested"]},"TimePeriodReqDTO":{"properties":{"lastTimePeriod":{"enum":["DAY","WEEK","MONTH","SIX_MONTH","YEAR","FIVE_YEAR"],"type":"string","description":"Time period to get the data for"}},"type":"object"},"ActionByAppDTO":{"properties":{"appName":{"type":"string","description":"Name of the app"},"totalCount":{"type":"number","description":"Total count of actions for the app"}},"type":"object","required":["appName","totalCount"],"description":"Action counts by app"},"ActionByStatusDTO":{"properties":{"failed":{"type":"number","description":"Count of failed actions"},"success":{"type":"number","description":"Count of successful actions"}},"type":"object","required":["failed","success"],"description":"Action counts by status"},"ActionAnalyticsDTO":{"properties":{"date":{"type":"string","description":"Date of the action","format":"date"},"byApp":{"$ref":"#/components/schemas/ActionByAppDTO"},"byStatus":{"$ref":"#/components/schemas/ActionByStatusDTO"}},"type":"object","required":["date","byApp","byStatus"],"description":"Comprehensive trigger analytics data, presenting a breakdown by day, status, and provider for all triggers"},"IntegrationsWithCountsDTO":{"properties":{"id":{"type":"string","description":"Unique identifier for the integration"},"appName":{"type":"string","description":"Name of the app"},"integrationName":{"type":"string","description":"Name of the integration"},"connectionCount":{"type":"number","description":"Count of connections for the integration"},"triggerCount":{"type":"number","description":"Count of triggers for the integration"},"requestLogsCount":{"type":"number","description":"Count of request logs for the integration"}},"type":"object","required":["id","appName","integrationName","connectionCount","triggerCount","requestLogsCount"],"description":"Detailed integration analytics data, including a breakdown of connection count, trigger count, and request logs count for each integration"},"AppNameCountDTO":{"properties":{"appName":{"type":"string","description":"Name of the app"},"connectionCount":{"type":"number","description":"Count of connections for the app"},"triggerCount":{"type":"number","description":"Count of triggers for the app"},"requestLogsCount":{"type":"number","description":"Count of request logs for the app"}},"type":"object","required":["appName","connectionCount","triggerCount","requestLogsCount"],"description":"Comprehensive app-level analytics data, providing a breakdown of connection count, trigger count, and request logs count for each app"},"AnalyticsDataReqDTO":{"properties":{"lastTimePeriod":{"enum":["DAY","WEEK","MONTH","SIX_MONTH","YEAR","FIVE_YEAR"],"type":"string","description":"Time period to get the data for"}},"type":"object"},"ClientUniqueUserIdCountDTO":{"properties":{"clientUniqueUserId":{"type":"string","description":"Client unique user id"},"count":{"type":"number","description":"Count of connections for the client unique user id"}},"type":"object","required":["clientUniqueUserId","count"],"description":"Connection counts by entity"},"AnalyticsEntityDataDTO":{"properties":{"byConnections":{"items":{"$ref":"#/components/schemas/ClientUniqueUserIdCountDTO"},"type":"array"},"byActions":{"items":{"$ref":"#/components/schemas/ClientUniqueUserIdCountDTO"},"type":"array","description":"Action counts by entity"},"byTriggers":{"items":{"$ref":"#/components/schemas/ClientUniqueUserIdCountDTO"},"type":"array","description":"Trigger counts by entity"}},"type":"object","required":["byConnections","byActions","byTriggers"],"description":"Entity-related analytics data, providing a breakdown by connections, actions, and triggers for each entity. This is include all entity info."},"AnalyticsDataResDTO":{"properties":{"entity":{"$ref":"#/components/schemas/AnalyticsEntityDataDTO"},"actions":{"items":{"$ref":"#/components/schemas/ActionAnalyticsDTO"},"type":"array"},"trigger":{"items":{"$ref":"#/components/schemas/ActionAnalyticsDTO"},"type":"array"},"integrations":{"items":{"$ref":"#/components/schemas/IntegrationsWithCountsDTO"},"type":"array"},"app":{"$ref":"#/components/schemas/AppNameCountDTO"}},"type":"object","required":["entity","actions","trigger","integrations","app"]},"TopEntitiesResDTO":{"properties":{"entities":{"items":{"$ref":"#/components/schemas/TConnectionCountDTO"},"type":"array","description":"Top entities by connection count"}},"type":"object","required":["entities"]},"TConnectionCountDTO":{"properties":{"clientUniqueUserId":{"type":"string","description":"Name of the entity"},"count":{"type":"number","description":"Count of connections for the entity"}},"type":"object","required":["clientUniqueUserId","count"]},"EntityQueryReqDTO":{"properties":{"query":{"type":"string","description":"Query to get the data for"}},"type":"object"},"WebhookReqDTO":{"properties":{"eventWebhookURL":{"type":"string","description":"Event Webhook URL"}},"type":"object","required":["eventWebhookURL"]},"FetchQueryDTO":{"properties":{"startTime":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Start time of the event in ISO 8601 format"},"endTime":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"End time of the event in ISO 8601 format"}},"type":"object","required":["startTime","endTime"]},"WebhookSecretResDTO":{"properties":{"webhookSecret":{"type":"string","description":"Webhook secret"}},"type":"object","required":["webhookSecret"]},"CreateCheckoutSessionReqDto":{"properties":{"plan":{"enum":["HOBBY","STARTER","GROWTH","ENTERPRISE","STARTUP"],"type":"string"}},"type":"object","required":["plan"]}},"securitySchemes":{"api_key":{"type":"apiKey","in":"header","name":"x-api-key"}}},"info":{"title":"Composio OpenAPI","version":"1.0.0","description":"Generated with `routing-controllers-openapi`"},"openapi":"3.0.0","paths":{"/api/v1/client/auth/identify":{"post":{"operationId":"identifyClient","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyClientReqDTO"}}},"description":"IdentifyClientReqDTO","required":false},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyClientResDTO"}}},"description":""}},"summary":"Identify client","tags":["Auth"]}},"/api/v1/api_keys":{"post":{"operationId":"generateAPIKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAPIKeyReqDTO"}}},"description":"GenerateAPIKeyReqDTO","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyResDTO"}}},"description":""}},"summary":"Generate api key","tags":["API-Keys"]},"get":{"operationId":"listAPIKeys","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/APIKeyResDTO"},"type":"array"}}},"description":""}},"summary":"List api keys","tags":["API-Keys"]}},"/api/v1/api_keys/{id}":{"delete":{"operationId":"deleteAPIKey","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAPIKeyResponseDTO"}}},"description":""}},"summary":"Delete api key","tags":["API-Keys"]}},"/api/v1/apps":{"get":{"operationId":"getApps","parameters":[{"in":"query","name":"category","schema":{"type":"string","description":"Category of the app"}},{"in":"query","name":"includeLocal","schema":{"type":"string","description":"Whether to include local tools or not"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppListResDTO"}}},"description":""}},"summary":"Get apps","tags":["Apps"],"description":"Retrieve a list of all applications based on query parameters."}},"/api/v1/apps/openapi/spec/list":{"get":{"operationId":"getOpenAPISpecs","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AppListResDTO"},"type":"array"}}},"description":"List of all openapi spec tools"}},"summary":"Get opena api specs","tags":["Apps"],"description":"List all openapi spec tools"}},"/api/v1/apps/openapi/spec/delete/{id}":{"delete":{"operationId":"deleteOpenAPISpecTool","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Delete open api spec tool","tags":["Apps"],"description":"Delete an openapi spec tool"}},"/api/v1/apps/openapi/send_email_to_client":{"post":{"operationId":"AppController.sendEmailToClient","parameters":[{"in":"query","name":"adminToken","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Send email to client","tags":["Apps"]}},"/api/v1/apps/openapi/spec/status/{id}":{"get":{"operationId":"getOpenAPISpecStatus","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get open api spec status","tags":["Apps"],"description":"Get the status of an openapi spec tool"}},"/api/v1/apps/{appName}":{"get":{"operationId":"getApp","parameters":[{"in":"path","name":"appName","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleAppInfoResDTO"}}},"description":""}},"summary":"Get app","tags":["Apps"],"description":"Get app details"}},"/api/v1/integrations":{"post":{"operationId":"createConnector","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorPayloadDTO"}}},"description":"CreateConnectorPayloadDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectorInfoResDTO"}}},"description":""}},"summary":"Create connector","tags":["Integrations"],"description":"Create a new connector"},"get":{"operationId":"listAllConnectors","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectorListResDTO"}}},"description":""}},"summary":"List all connectors","tags":["Integrations"],"description":"List all connectors"}},"/api/v1/integrations/{integrationId}":{"get":{"operationId":"getConnectorInfo","parameters":[{"in":"path","name":"integrationId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectorInfoResDTO"}}},"description":""}},"summary":"Get connector info","tags":["Integrations"],"description":"Get connector info"},"patch":{"operationId":"modifyConnector","parameters":[{"in":"path","name":"integrationId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConnectorReqDTO"}}},"description":"PatchConnectorReqDTO","required":false},"responses":{"204":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConnectorResDTO"}}},"description":""}},"summary":"Modify connector","tags":["Integrations"],"description":"Modify a connector"},"delete":{"operationId":"deleteConnector","parameters":[{"in":"path","name":"integrationId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRowAPIDTO"}}},"description":""}},"summary":"Delete connector","tags":["Integrations"],"description":"Delete a connector"}},"/api/v1/integrations/{integrationId}/status":{},"/api/v1/connectedAccounts":{"get":{"operationId":"getConnections","parameters":[{"in":"query","name":"page","schema":{"type":"number"}},{"in":"query","name":"pageSize","schema":{"type":"number"}},{"in":"query","name":"appNames","schema":{"type":"string"}},{"in":"query","name":"integrationId","schema":{"type":"string"}},{"in":"query","name":"connectionId","schema":{"type":"string"}},{"in":"query","name":"user_uuid","schema":{"type":"string"}},{"in":"query","name":"showActiveOnly","schema":{"type":"boolean"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"query","name":"showDisabled","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectionsResponseDto"}}},"description":"Get all connections for the current user"}},"summary":"Get connections","tags":["Connections"]},"post":{"operationId":"initiateConnection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateConnectionPayloadDto"}}},"description":"InitiateConnectionPayloadDto","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateConnectionResponse"}}},"description":"Initiates a connection for the given integration and mark the connection status as initiated if the auth scheme is OAuth1 or OAuth2"}},"summary":"Initiate connection","tags":["Connections"]}},"/api/v1/connectedAccounts/{connectedAccountId}":{"get":{"operationId":"getConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectedAccountResponseDTO"}}},"description":"Retrieve details of a specific connected account by its ID"}},"summary":"Get connection","tags":["Connections"]},"delete":{"operationId":"deleteConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRowAPIDTO"}}},"description":""}},"summary":"Delete connection","tags":["Connections"],"description":"Delete a connection"}},"/api/v1/connectedAccounts/{connectedAccountId}/info":{"get":{"operationId":"getConnectionInfo","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectionInfoResponseDTO"}}},"description":""}},"summary":"Get connection info","tags":["Connections"],"description":"Get connection info"}},"/api/v1/connectedAccounts/{connectedAccountId}/disable":{"post":{"operationId":"disableConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleConnectedAccountResponseDTO"}}},"description":""}},"summary":"Disable connection","tags":["Connections"],"description":"Disable a connection"}},"/api/v1/connectedAccounts/{connectedAccountId}/enable":{"post":{"operationId":"enableConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleConnectedAccountResponseDTO"}}},"description":""}},"summary":"Enable connection","tags":["Connections"],"description":"Enable a connection"}},"/api/v1/triggers":{"get":{"operationId":"listTriggers","parameters":[{"in":"query","name":"appNames","schema":{"type":"string","description":"Names of the apps"}},{"in":"query","name":"connectedAccountIds","schema":{"type":"string","description":"IDs of the connected accounts"}},{"in":"query","name":"triggerIds","schema":{"type":"string","description":"IDs of the triggers"}},{"in":"query","name":"showEnabledOnly","schema":{"type":"boolean","description":"Show enabled only"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TriggerResDTO"},"type":"array"}}},"description":""}},"summary":"List triggers","tags":["Triggers"],"description":"List triggers"}},"/api/v1/triggers/enable/{connectedAccountId}/{triggerName}":{"post":{"operationId":"enableTrigger","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"path","name":"triggerName","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableTriggerBodyDTO"}}},"description":"EnableTriggerBodyDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Enable trigger","tags":["Triggers"],"description":"Enables a trigger for a connected account and specific trigger name."}},"/api/v1/triggers/active_triggers":{"get":{"operationId":"getActiveTriggers","parameters":[{"in":"query","name":"connectedAccountIds","schema":{"type":"string","description":"IDs of the connected accounts"}},{"in":"query","name":"integrationIds","schema":{"type":"string","description":"IDs of the integrations"}},{"in":"query","name":"triggerIds","schema":{"type":"string","description":"IDs of the triggers"}},{"in":"query","name":"triggerNames","schema":{"type":"string","description":"Names of the triggers"}},{"in":"query","name":"page","schema":{"type":"number","description":"Page number"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit per page"}},{"in":"query","name":"showDisabled","schema":{"type":"boolean","description":"Show disabled triggers"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveTriggersResDTO"}}},"description":""}},"summary":"Get active triggers","tags":["Triggers"],"description":"Lists active triggers based on query parameters."}},"/api/v1/triggers/instance/{triggerId}/status":{"patch":{"operationId":"switchTriggerInstanceStatus","parameters":[{"in":"path","name":"triggerId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchTriggerStatusBodyDTO"}}},"description":"SwitchTriggerStatusBodyDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Switch trigger instance status","tags":["Triggers"],"description":"Switches the status of a trigger instance."}},"/api/v1/triggers/disable/{triggerInstanceId}":{"post":{"operationId":"disableTrigger","parameters":[{"in":"path","name":"triggerInstanceId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Disable trigger","tags":["Triggers"],"description":"Disables a specified trigger instance."}},"/api/v1/triggers/instance/{triggerInstanceId}":{"delete":{"operationId":"deleteTrigger","parameters":[{"in":"path","name":"triggerInstanceId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRowAPIDTO"}}},"description":""}},"summary":"Delete trigger","tags":["Triggers"],"description":"Deletes a specified trigger instance."}},"/api/v1/triggers/set_callback_url":{"post":{"operationId":"set_callback_url","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCallbackUrlBodyDTO"}}},"description":"SetCallbackUrlBodyDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Set callback url","tags":["Triggers"],"description":"Sets a universal callback URL for the client."}},"/api/v1/triggers/callback_url":{"get":{"operationId":"getWebhookURL","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookURLResponseDTO"}}},"description":""}},"summary":"Get webhook url","tags":["Triggers"],"description":"Retrieves the universal callback URL set for the client."}},"/api/v1/triggers/logs":{"get":{"operationId":"getTriggerLogs","parameters":[{"in":"query","name":"connectionId","schema":{"type":"string","description":"ID of the connection"}},{"in":"query","name":"integrationId","schema":{"type":"string","description":"ID of the integration"}},{"in":"query","name":"page","schema":{"type":"number","description":"Page number"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit per page"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerLogsResDTO"}}},"description":""}},"summary":"Get logs","tags":["Triggers"],"description":"Fetches logs based on connection and integration details."}},"/api/v1/cli/js-sentry-dns":{"get":{"operationId":"getSentryDNS","responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Jssentry dns","tags":["Admin"]}},"/api/v1/logs/":{"get":{"operationId":"getLogs","parameters":[{"in":"query","name":"type","schema":{"enum":["error","info","debug"],"type":"string","description":"Type of the log"}},{"in":"query","name":"time","schema":{"enum":["5m","30m","6h","1d","1w","1month","1y"],"type":"string","description":"Time interval for which data needs to be fetched"}},{"in":"query","name":"status","schema":{"enum":["all","success","error"],"type":"string","description":"Status of the log"}},{"in":"query","name":"search","schema":{"type":"string","description":"Search term in the log"}},{"in":"query","name":"integrationId","schema":{"type":"string","description":"Integration UUID"}},{"in":"query","name":"entityId","schema":{"type":"string","description":"Entity id"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit of the logs","default":10}},{"in":"query","name":"cursor","schema":{"type":"string","description":"Cursor for pagination"}},{"in":"query","name":"logsType","schema":{"type":"string","description":"Type of the log"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogsResDTO"}}},"description":""}},"summary":"Get logs","tags":["Logs"],"description":"List logs"},"post":{"operationId":"postLogs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestDataDTO"}}},"description":"IngestDataDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestDataResponseDTO"}}},"description":""}},"summary":"Post logs","tags":["Logs"],"description":"Add new logs"}},"/api/v2/actions/list/all":{"get":{"operationId":"listActionsMinimalV2","parameters":[{"in":"query","name":"appNames","schema":{"type":"string","description":"Names of the apps"}},{"in":"query","name":"useCase","schema":{"type":"string","description":"Use case"}},{"in":"query","name":"showEnabledOnly","schema":{"type":"boolean","description":"Show enabled only"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit"}},{"in":"query","name":"apps","schema":{"type":"string"}},{"in":"query","name":"actions","schema":{"type":"string"}},{"in":"query","name":"tags","schema":{"type":"string"}},{"in":"query","name":"usecaseLimit","schema":{"type":"number"}},{"in":"query","name":"filterImportantActions","schema":{"type":"boolean"}},{"in":"query","name":"showAll","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionsListResponseDTO"}}},"description":""}},"summary":"List actions minimal","tags":["Actions"],"description":"Retrieve a list of all actions based on query parameters."}},"/api/v2/actions/{actionId}/execute":{"post":{"operationId":"executeActionV2","parameters":[{"in":"path","name":"actionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExecutionReqDTO"}}},"description":"ActionExecutionReqDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExecutionResDto"}}},"description":""}},"summary":"Execute action","tags":["Actions"],"description":"Execute an action. Support both connected account and no auth auth."}},"/api/v2/actions/{actionId}/execute/get.inputs":{"post":{"operationId":"getActionInputsV2","parameters":[{"in":"path","name":"actionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionGetNLAInputsReqDTO"}}},"description":"ActionGetNLAInputsReqDTO","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get action inputs","tags":["Actions"],"description":"Get the inputs for an action with NLA"}},"/api/v2/actions/{actionId}":{"get":{"operationId":"getActionV2","parameters":[{"in":"path","name":"actionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionDetails"}}},"description":""}},"summary":"Get action","tags":["Actions"],"description":"Get action details"}},"/api/v2/actions/proxy":{"post":{"operationId":"executeActionProxyV2","parameters":[{"in":"query","name":"endpoint","required":true,"schema":{"type":"string"}},{"in":"query","name":"connectedAccountId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExecutionResDto"}}},"description":""}},"summary":"Execute action proxy","tags":["Actions"],"description":"Execute an action with direct auth."}},"/api/v2/triggers/{triggerName}":{"get":{"operationId":"getTriggerInfoV2","parameters":[{"in":"path","name":"triggerName","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SingleTriggerResDTO"},"type":"array"}}},"description":""}},"summary":"Get trigger info","tags":["Triggers"],"description":"Get Trigger Info"}},"/api/v1/analytics/":{"get":{"operationId":"getAnalytics","parameters":[{"in":"query","name":"lastTimePeriod","schema":{"enum":["DAY","WEEK","MONTH","SIX_MONTH","YEAR","FIVE_YEAR"],"type":"string","description":"Time period to get the data for"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsDataResDTO"}}},"description":""}},"summary":"Get analytics","tags":["Analytics"]}},"/api/v1/analytics/entities":{"get":{"operationId":"getTopEntities","parameters":[{"in":"query","name":"query","schema":{"type":"string","description":"Query to get the data for"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopEntitiesResDTO"}}},"description":""}},"summary":"Get top entities","tags":["Analytics"]}},"/api/v1/event_logs/set/webhook":{"post":{"operationId":"updateWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookReqDTO"}}},"description":"WebhookReqDTO","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Update webhook","tags":["Event Logs"]}},"/api/v1/event_logs/get/webhook":{"get":{"operationId":"getWebhook","responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get webhook","tags":["Event Logs"]}},"/api/v1/event_logs/get/events":{"get":{"operationId":"getEvents","parameters":[{"in":"query","name":"startTime","required":true,"schema":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Start time of the event in ISO 8601 format"}},{"in":"query","name":"endTime","required":true,"schema":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"End time of the event in ISO 8601 format"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get events","tags":["Event Logs"],"description":"Fetch events from database"}},"/api/v1/event_logs/webhook/secret/get":{"get":{"operationId":"getWebhookSecret","responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get webhook secret","tags":["Event Logs"]}},"/api/v1/event_logs/webhook/secret/refresh":{"post":{"operationId":"refreshWebhookSecret","responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Refresh webhook","tags":["Event Logs"]}},"/api/v1/payment/create-checkout-session":{"post":{"operationId":"PaymentController.createCheckoutSession","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutSessionReqDto"}}},"description":"CreateCheckoutSessionReqDto","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Create checkout session","tags":["Payment"]}},"/api/v1/payment/checkout-session/{sessionId}/status":{"get":{"operationId":"PaymentController.getCheckoutSessionStatus","parameters":[{"in":"path","name":"sessionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get checkout session status","tags":["Payment"]}},"/api/v1/payment/invoices":{"get":{"operationId":"PaymentController.getInvoices","responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get invoices","tags":["Payment"]}},"/api/v1/payment/invoices/{invoiceId}":{"get":{"operationId":"PaymentController.getInvoice","parameters":[{"in":"path","name":"invoiceId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get invoice","tags":["Payment"]}},"/api/v1/payment/webhook":{"post":{"operationId":"PaymentController.handleStripeWebhook","requestBody":{"content":{"application/json":{"schema":{}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Handle stripe webhook","tags":["Payment"]}}},"security":[{"api_key":[]}],"servers":[{"url":"https://backend.composio.dev"}]} \ No newline at end of file +{"components":{"schemas":{"MemberInfoResDTO":{"properties":{"id":{"type":"string"},"clientId":{"type":"string"},"email":{"format":"email","type":"string"},"name":{"type":"string"},"role":{"type":"string"},"metadata":{},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"deletedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]}},"type":"object","required":["id","clientId","email","name","role","createdAt","updatedAt"],"description":"Member information"},"MagicLinkResDTO":{"properties":{"status":{"type":"string"}},"type":"object","required":["status"]},"MagicLinkReqDTO":{"properties":{"email":{"format":"email","type":"string","description":"The email of the user"},"verifyHost":{"type":"string","description":"The frontend host of the user"}},"type":"object","required":["email","verifyHost"]},"LogoutResDTO":{"properties":{"message":{"type":"string","description":"Message confirming the logout"}},"type":"object","required":["message"]},"VerifyMagicLinkReqDTO":{"properties":{"token":{"type":"string","description":"The magic link token"}},"type":"object","required":["token"]},"VerifyMagicLinkDataDTO":{"properties":{"clientId":{"type":"string"},"isValid":{"type":"boolean"},"jwtToken":{"type":"string"},"email":{"type":"string","format":"email"}},"type":"object","required":["clientId","isValid","jwtToken","email"],"description":"Data containing client and token information if verification is successful"},"VerifyMagicLinkResDTO":{"properties":{"message":{"type":"string","description":"Message indicating the result of the verification"},"data":{"$ref":"#/components/schemas/VerifyMagicLinkDataDTO"}},"type":"object","required":["message"]},"IdentifyClientReqDTO":{"properties":{"hash":{"type":"string","description":"The hash of the client"},"framework":{"type":"string","description":"The framework used by the client"}},"type":"object","required":["hash"]},"IdentifyClientResDTO":{"properties":{"clientId":{"type":"string","description":"The client ID"},"apiKey":{"type":"string","description":"The API key associated with the client"},"email":{"type":"string","description":"The email associated with the client"}},"type":"object","required":["clientId","apiKey","email"]},"UserGitUserInfo":{"properties":{"name":{"type":"string"},"email":{"format":"email","type":"string"}},"type":"object","required":["email"],"description":"User Git information"},"TrackClientReqDTO":{"properties":{"framework":{"type":"string","description":"The framework used by the client"},"mac_address":{"type":"string","description":"The MAC address of the client device"},"user_git_user_info":{"$ref":"#/components/schemas/UserGitUserInfo"}},"type":"object","required":["framework"]},"TrackClientResDTO":{"properties":{"message":{"type":"string","description":"Message indicating the result of the tracking operation"}},"type":"object","required":["message"]},"DeleteRowAPIDTO":{"properties":{"status":{"type":"string","description":"Status of the delete operation"},"count":{"type":"number","description":"Number of records deleted"}},"type":"object","required":["status","count"]},"ClientDTO":{"properties":{"autoId":{"type":"number","description":"Auto-generated ID of the client"},"id":{"type":"string","description":"Unique ID of the client"},"name":{"type":"string","description":"Name of the client"},"email":{"type":"string","description":"Email of the client"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Creation timestamp"},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Last update timestamp"},"apiKey":{"type":"string","description":"API key for the client"},"webhookURL":{"type":"string","description":"Webhook URL for the client"},"eventWebhookURL":{"type":"string","description":"Event webhook URL for the client"},"webhookSecret":{"type":"string","description":"Secret for webhook authentication"},"triggersEnabled":{"type":"boolean","description":"Whether triggers are enabled for the client"},"lastSubscribedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Last subscription timestamp"},"plan":{"type":"string","description":"Client's subscription plan"}},"type":"object","required":["autoId","id","name","email","createdAt","updatedAt","triggersEnabled","plan"]},"ClientInfoResDTO":{"properties":{"client":{"$ref":"#/components/schemas/ClientDTO","description":"Client information"},"apiKey":{"type":"string","description":"API key of the client"}},"type":"object","required":["client","apiKey"]},"InviteMemberReqDTO":{"properties":{"email":{"format":"email","type":"string","description":"The email of the member"},"name":{"type":"string","description":"The name of the member"},"verifyHost":{"type":"string","description":"The host to verify the member"},"role":{"enum":["admin","developer"],"type":"string","description":"The role that will be assignied to the invited user"}},"type":"object","required":["email","name","verifyHost"]},"MemberResDTO":{"properties":{"email":{"type":"string","description":"The email of the member"},"id":{"type":"string","description":"The uuid identifier for the member"},"name":{"type":"string","description":"The name of the member"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date of the member record"},"role":{"enum":["admin","developer"],"type":"string","description":"The role that is assigned to the member"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The last update date of the member record"}},"type":"object","required":["email","id","name","role"]},"UpdateMemberReqDTO":{"properties":{"memberId":{"type":"string","description":"The uuid identifier for the member"},"role":{"enum":["admin","developer"],"type":"string","description":"The role that is assigned to the member"}},"type":"object","required":["memberId","role"]},"GenerateAPIKeyReqDTO":{"properties":{"name":{"type":"string","description":"The name of the API key to be generated"}},"type":"object","required":["name"]},"APIKeyResDTO":{"properties":{"id":{"type":"string","description":"The ID of the API key"},"name":{"type":"string","description":"The name of the API key"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date of the API key"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The last update date of the API key"},"key":{"type":"string","description":"The generated API key"},"isHidden":{"type":"boolean","description":"Whether the API key is hidden"},"lastUsed":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The last used date of the API key"},"member":{"type":"object","description":"The member of the API key"}},"type":"object","required":["id","name","createdAt","updatedAt","key","isHidden","member"]},"DeleteAPIKeyReqDTO":{"properties":{"id":{"type":"string","description":"The ID of the API key to be deleted"}},"type":"object","required":["id"]},"DeleteAPIKeyResponseDTO":{"properties":{"deleted":{"type":"boolean","description":"The status of the delete operation"}},"type":"object","required":["deleted"]},"SingleAppInfoResDTO":{"properties":{"appId":{"type":"string","description":"The unique identifier for the app"},"key":{"type":"string","description":"The key of the app"},"name":{"type":"string","description":"The name of the app"},"description":{"type":"string","description":"The description of the app"},"logo":{"type":"string","description":"The logo of the app"},"categories":{"items":{"type":"string"},"type":"array","description":"The categories of the app"},"path":{"type":"string","description":"The path of the app"},"docs":{"type":"string","description":"The documentation URL of the app"},"configuration_docs_text":{"type":"string","description":"The configuration documentation text of the app"},"status":{"type":"string","description":"The status of the app"},"documentation_doc_text":{"type":"string","description":"The documentation text of the app"},"testConnectors":{"items":{"type":"object"},"type":"array","description":"The test connectors of the app"},"no_auth":{"type":"boolean","description":"Indicates if the app has no authentication"},"auth_schemes":{"items":{"type":"object"},"type":"array","description":"The authentication schemes of the app"},"meta":{"description":"The metadata of the app"},"yaml":{"description":"The yaml of the app"}},"type":"object","required":["appId","key","name","description"]},"AddToolsReqDTO":{"properties":{"name":{"type":"string","description":"The name of the tool"},"openApiSpecYaml":{"type":"string","description":"The OpenAPI specification in YAML format"},"integrationYaml":{"type":"string","description":"The integration details in YAML format"}},"type":"object","required":["name","openApiSpecYaml","integrationYaml"]},"OpenAPISpecListResDTO":{"properties":{"id":{"type":"string","description":"Unique identifier for the OpenAPI spec"},"name":{"type":"string","description":"Name of the OpenAPI spec"},"clientId":{"type":"string","description":"Client identifier"},"lastSyncAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Last synchronization date and time","format":"date-time"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Creation date and time","format":"date-time"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Last update date and time","format":"date-time"},"status":{"enum":["initialized","running","caching","cancelled","finished","exited"],"type":"string","description":"The job status of the app"},"state":{"enum":["preprocess","validate","prepare","build","push","load","finish"],"type":"string","description":"Current state of the app FSM"}},"type":"object","required":["id","name","clientId","lastSyncAt","createdAt","updatedAt"]},"AddRepoURLResDTO":{"properties":{"repoUrl":{"type":"string","description":"Repository URL"}},"type":"object","required":["repoUrl"]},"DeleteToolsReqDTO":{"properties":{"name":{"type":"string","description":"Name of the tool"}},"type":"object","required":["name"]},"DeleteToolsResDTO":{"properties":{"message":{"type":"string","description":"Message indicating successful deletion of tools"}},"type":"object","required":["message"]},"AddToolsRequestDTO":{"properties":{"name":{"type":"string","description":"The name of the tool"},"open_api_spec_yaml":{"type":"string","description":"The OpenAPI specification in YAML format"},"integration_yaml":{"type":"string","description":"The integration details in YAML format"}},"type":"object","required":["name","open_api_spec_yaml","integration_yaml"]},"AddRepoURLReqDTO":{"properties":{"repoUrl":{"type":"string","description":"Repository URL"}},"type":"object","required":["repoUrl"]},"AppQueryDTO":{"properties":{"category":{"type":"string","description":"Category of the app"},"additionalFields":{"type":"string","description":"Additional fields to include in the response"},"includeLocal":{"type":"string","description":"Enter 'true' or 'false'"}},"type":"object"},"AppInfoResponseDto":{"properties":{"appId":{"type":"string","description":"The ID of the app"},"key":{"type":"string","description":"The key of the app"},"name":{"type":"string","description":"The name of the app"},"description":{"type":"string","description":"The description of the app"},"logo":{"type":"string","description":"The logo of the app"},"categories":{"items":{"type":"object"},"type":"string","description":"The categories of the app"},"tags":{"items":{"type":"object"},"type":"string","description":"The tags of the app"},"auth_schemes":{"description":"The authentication schemes of the app"},"enabled":{"type":"boolean","description":"Indicates if the app is enabled"},"no_auth":{"type":"boolean","description":"Indicates if the app has no authentication"}},"type":"object","required":["appId","key","name","description","logo","categories","enabled"]},"AppListResDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AppInfoResponseDto"},"type":"array","description":"List of app details"},"totalPages":{"type":"number","description":"Total number of pages"}},"type":"object","required":["items","totalPages"]},"ExpectedInputFieldsDTO":{"properties":{"name":{"type":"string","description":"Name of the field"},"type":{"type":"string","description":"Type of the field"},"description":{"type":"string","description":"Description of the field"},"display_name":{"type":"string","description":"Display name of the field"},"default":{"type":"object","description":"Default value of the field"},"required":{"type":"boolean","description":"Whether the field is required"},"expected_from_customer":{"type":"boolean","description":"Whether the field is expected from customer"},"is_secret":{"type":"boolean","description":"Whether the field is a secret"}},"type":"object","required":["name","type","description","display_name","default","required","expected_from_customer","is_secret"]},"GetConnectorInfoResDTO":{"properties":{"id":{"type":"string","description":"Unique identifier of the connector"},"authScheme":{"type":"string","description":"Authentication scheme used by the connector"},"name":{"type":"string","description":"Name of the connector"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Creation date of the connector"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Last update date of the connector"},"enabled":{"type":"boolean","description":"Flag to indicate if the connector is currently enabled"},"deleted":{"type":"boolean","description":"Flag to indicate if the connector has been deleted"},"appId":{"type":"string","description":"Application ID associated with the connector"},"defaultConnectorId":{"type":"string","description":"Default connector ID if one exists"},"authConfig":{"type":"object","description":"Authentication configuration with sensitive data obscured"},"expectedInputFields":{"items":{"$ref":"#/components/schemas/ExpectedInputFieldsDTO"},"type":"array","description":"List of required fields expected from the customer"},"logo":{"type":"string","description":"Logo URL of the application associated with the connector"},"appName":{"type":"string","description":"Name of the application associated with the connector"},"useComposioAuth":{"type":"boolean","description":"Flag to indicate if Composio authentication is used"}},"type":"object","required":["enabled","appId","authConfig","expectedInputFields","logo","appName","useComposioAuth"]},"AuthConfigDTO":{"properties":{"scopes":{"items":{"type":"string"},"type":"array"},"user_scopes":{"items":{"type":"string"},"type":"array"}},"type":"object","description":"Authentication configuration"},"CreateConnectorPayloadDTO":{"properties":{"name":{"type":"string","description":"Name of the connector"},"authScheme":{"type":"string","description":"Authentication scheme"},"authConfig":{"$ref":"#/components/schemas/AuthConfigDTO"},"useComposioAuth":{"type":"boolean","description":"Flag to indicate if Composio authentication should be used","anyOf":[{"type":"boolean"}]},"appId":{"type":"string","description":"Composio App UUID to be used for authentication. Either specify this or appName"},"appName":{"type":"string","description":"Name of the app to be used for authentication. Either specify this or appId"},"forceNewIntegration":{"type":"boolean","description":"Flag to force new integration"}},"type":"object","required":["name"]},"PatchConnectorReqDTO":{"properties":{"authConfig":{"type":"object","description":"Authentication configuration for the connector"},"enabled":{"type":"boolean","description":"Flag to indicate if the connector is enabled"}},"type":"object"},"PatchConnectorResDTO":{"properties":{"status":{"type":"string","description":"Status of the patch operation"}},"type":"object","required":["status"]},"ConnectorListItemDTO":{"properties":{"appName":{"type":"string","description":"Application name associated with the connector"},"_count":{"type":"object","description":"Count of connections for the connector"},"connections":{"items":{"type":"object"},"type":"array","description":"List of connections with their details and request logs count"},"id":{"type":"string","description":"Unique identifier of the connector"},"member":{"$ref":"#/components/schemas/MemberInfoResDTO"},"name":{"type":"string","description":"Name of the connector"},"authScheme":{"type":"string","description":"Authentication scheme used by the connector"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Creation date of the connector"},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}],"description":"Last update date of the connector"},"enabled":{"type":"boolean","description":"Flag to indicate if the connector is enabled"},"deleted":{"type":"boolean","description":"Flag to indicate if the connector is deleted"},"appId":{"type":"string","description":"App ID associated with the connector"},"defaultConnectorId":{"type":"string","description":"Default connector ID if available"}},"type":"object","required":["appName","_count","connections","id","member","name","authScheme","createdAt","updatedAt","enabled","appId"],"description":"List of connectors"},"GetConnectorListResDTO":{"properties":{"items":{"items":{"type":"object"},"type":"array"},"totalPages":{"type":"number","description":"Total number of pages available"},"page":{"type":"number","description":"Current page number"}},"type":"object","required":["items","totalPages","page"]},"PageInfo":{"properties":{"total":{"minimum":0,"type":"integer"},"page":{"minimum":1,"type":"integer"},"pageSize":{"minimum":1,"type":"integer"},"totalPages":{"minimum":1,"type":"integer"}},"type":"object","required":["total","page","pageSize","totalPages"]},"ConnectionWithAppData":{"properties":{"id":{"type":"string"},"integrationId":{"type":"string"},"clientUniqueUserId":{"type":"string"},"status":{"type":"string"},"data":{"type":"object"},"deleted":{"type":"boolean"},"enabled":{"type":"boolean"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"appUniqueId":{"type":"string"},"appName":{"type":"string"},"logo":{"type":"string"},"authConfig":{"type":"object"},"member":{"items":{"$ref":"#/components/schemas/MemberInfoResDTO"},"type":"object"},"labels":{"items":{"type":"string"},"type":"array"}},"type":"object","required":["id","integrationId","status","createdAt","updatedAt","appUniqueId","appName","member"]},"GetConnectionsResult":{"properties":{"connections":{"items":{"$ref":"#/components/schemas/ConnectionWithAppData"},"type":"array"},"pageInfo":{"$ref":"#/components/schemas/PageInfo"}},"type":"object","required":["connections","pageInfo"]},"ToolsExecuteReqDto":{"properties":{"actionName":{"type":"string"},"runInSandbox":{"type":"boolean"},"input":{"type":"object"},"nlaInput":{"type":"string"},"authorizationData":{"type":"object"},"appSchema":{"type":"object"}},"type":"object","required":["actionName","runInSandbox","input"]},"DirectExecuteReqDto":{"properties":{"endpoint":{"type":"string"},"base_url":{"type":"string"},"headers":{"type":"object"},"queryParams":{"type":"object"}},"type":"object","required":["endpoint","base_url","headers","queryParams"]},"ActionExecutionResDto":{"properties":{"data":{"type":"object"},"error":{"type":"string"},"successfull":{"type":"string"}},"type":"object","required":["data"]},"ConnectionParams":{"properties":{"integrationId":{"type":"string"},"connectionParams":{"type":"object"},"isDisabled":{"type":"boolean"},"invocationCount":{"type":"number"},"id":{"type":"string"},"clientUniqueUserId":{"type":"string"},"status":{"type":"string"},"data":{"type":"object"},"deleted":{"type":"boolean"},"enabled":{"type":"boolean"},"createdAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"updatedAt":{"oneOf":[{"format":"date","type":"string"},{"format":"date-time","type":"string"}]},"appUniqueId":{"type":"string"},"appName":{"type":"string"},"logo":{"type":"string"},"authConfig":{"type":"object"},"member":{"items":{"$ref":"#/components/schemas/MemberInfoResDTO"},"type":"object"},"labels":{"items":{"type":"string"},"type":"array"}},"type":"object","required":["integrationId","isDisabled","invocationCount","id","status","createdAt","updatedAt","appUniqueId","appName","member"]},"ToggleConnectedAccountResponseDTO":{"properties":{"status":{"type":"string"}},"type":"object","required":["status"]},"ConnectionParamsHeaders":{"properties":{"Authorization":{"type":"string"},"x-request-id":{"type":"string"}},"type":"object"},"ConnectionParamsForAccount":{"properties":{"scope":{"type":"string"},"scopes":{"type":"string"},"id_token":{"type":"string"},"client_id":{"type":"string"},"expires_in":{"type":"string"},"token_type":{"type":"string"},"callback_url":{"type":"string"},"client_secret":{"type":"string"},"code_verifier":{"type":"string"},"refresh_token":{"type":"string"},"headers":{"type":"object"},"queryParams":{"type":"object"},"base_url":{"type":"string"}},"type":"object"},"MetaApp":{"properties":{"get_current_user_endpoint":{"type":"string"}},"type":"object","required":["get_current_user_endpoint"]},"Meta":{"properties":{"app":{"type":"object"}},"type":"object","required":["app"]},"ConnectedAccountResponseDTO":{"properties":{"integrationId":{"type":"string"},"appUniqueId":{"type":"string"},"memberInfo":{"$ref":"#/components/schemas/MemberInfoResDTO"},"meta":{"$ref":"#/components/schemas/Meta"},"isDisabled":{"type":"boolean"},"id":{"type":"string"},"clientUniqueUserId":{"type":"string"},"appName":{"type":"string"},"entityId":{"type":"string"},"status":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"type":"object","required":["integrationId","appUniqueId","id","clientUniqueUserId","appName","entityId","status","createdAt","updatedAt"]},"GetConnectionsResponseDto":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ConnectionParams"},"type":"array"},"totalPages":{"type":"number"},"page":{"type":"number"}},"type":"object","required":["items","totalPages","page"]},"GetConnectionInfoResponseDTO":{"properties":{"base_url":{"type":"string"},"parameters":{"items":{"$ref":"#/components/schemas/Parameter"},"type":"array"},"body":{"type":"object"}},"type":"object","required":["base_url","parameters","body"]},"Parameter":{"properties":{"name":{"type":"string"},"in":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","in","value"]},"Data":{"properties":{"field1":{"type":"string"},"field2":{"type":"string"}},"type":"object","required":["field1","field2"]},"AdditionalInfo":{"properties":{"meta":{"type":"string"}},"type":"object","required":["meta"]},"GetConnectionsQueryDto":{"properties":{"page":{"type":"number"},"pageSize":{"type":"number"},"appNames":{"type":"string"},"integrationId":{"type":"string"},"connectionId":{"type":"string"},"user_uuid":{"type":"string"},"showActiveOnly":{"type":"boolean"},"status":{"type":"string"},"showDisabled":{"type":"boolean"},"labels":{"items":{"type":"string"},"type":"array"}},"type":"object"},"InitiateConnectionPayloadDto":{"properties":{"data":{"type":"object"},"integrationId":{"minLength":1,"type":"string"},"redirectUri":{"type":"string"},"userUuid":{"type":"string"},"entityId":{"type":"string"},"labels":{"items":{"type":"string"},"type":"array"}},"type":"object","required":["data","integrationId"]},"UpdateConnectionLabelsPayloadDto":{"properties":{"labels":{"items":{"type":"string"},"type":"array"}},"type":"object","required":["labels"]},"InitiateConnectionResponse":{"properties":{"connectionStatus":{"minLength":1,"type":"string"},"connectedAccountId":{"minLength":1,"type":"string"},"redirectUrl":{"type":"string"}},"type":"object","required":["connectionStatus","connectedAccountId"]},"CustomAuthDTO":{"properties":{"base_url":{"type":"string"},"parameters":{"items":{"$ref":"#/components/schemas/Parameter"},"type":"array"},"body":{"type":"object"}},"type":"object","required":["parameters"]},"SessionInfoDTO":{"properties":{"sessionId":{"type":"string"},"metadata":{"type":"object"}},"type":"object"},"ActionExecutionReqDTO":{"properties":{"connectedAccountId":{"type":"string"},"appName":{"type":"string"},"entityId":{"type":"string"},"endpoint":{"type":"string"},"input":{"type":"object"},"sessionInfo":{"$ref":"#/components/schemas/SessionInfoDTO","type":"object"},"authConfig":{"$ref":"#/components/schemas/CustomAuthDTO"},"text":{"type":"string"}},"type":"object"},"ActionGetNLAInputsReqDTO":{"properties":{"text":{"type":"string"}},"type":"object","required":["text"]},"ProxyExecutionReqDTO":{"properties":{"endpoint":{"type":"string"},"connectedAccountId":{"type":"string"}},"type":"object","required":["endpoint","connectedAccountId"]},"ActionDetailsMinimal":{"properties":{"appId":{"type":"string"},"appKey":{"type":"string"},"appName":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"enabled":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"deprecated":{"type":"boolean"}},"type":"object","required":["appKey","appName","description","displayName","enabled","logo","name","tags","deprecated"]},"ActionDetails":{"properties":{"parameters":{"type":"object"},"response":{"type":"object"},"appId":{"type":"string"},"appKey":{"type":"string"},"appName":{"type":"string"},"description":{"type":"string"},"displayName":{"type":"string"},"enabled":{"type":"boolean"},"logo":{"type":"string"},"name":{"type":"string"},"tags":{"items":{"type":"string"},"type":"array"},"deprecated":{"type":"boolean"}},"type":"object","required":["parameters","response","appKey","appName","description","displayName","enabled","logo","name","tags","deprecated"]},"ActionsListResponseDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActionDetails"},"type":"array"},"page":{"type":"number"},"totalPages":{"type":"number"}},"type":"object","required":["items","page","totalPages"]},"ActionsMinimalListResponseDTO":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActionDetailsMinimal"},"type":"array"},"page":{"type":"number"},"totalPages":{"type":"number"}},"type":"object","required":["items","page","totalPages"]},"ExecuteActionResDTO":{"properties":{"response_data":{"type":"boolean","description":"Indicates if the action was executed successfully"},"execution_details":{"type":"object","description":"Details of the execution status"}},"type":"object","required":["response_data","execution_details"]},"ActionsQueryDTO":{"properties":{"appNames":{"type":"string","description":"Names of the apps"},"useCase":{"type":"string","description":"Use case"},"showEnabledOnly":{"type":"boolean","description":"Show enabled only"},"limit":{"type":"number","description":"Limit"}},"type":"object"},"ActionsControllerV1":{"properties":{"getAction":{"items":{"type":"object"},"type":"array"}},"type":"object","required":["getAction"]},"OAuth2CallbackQueryDto":{"properties":{"state":{"type":"string"}},"type":"object","required":["state"]},"RedirectUriDTO":{"properties":{"redirectUri":{"type":"string"}},"type":"object"},"ListTriggersQueryDTO":{"properties":{"appNames":{"type":"string","description":"Names of the apps"},"connectedAccountIds":{"type":"string","description":"IDs of the connected accounts"},"triggerIds":{"type":"string","description":"IDs of the triggers"},"integrationIds":{"type":"string","description":"Integration ID"},"showEnabledOnly":{"type":"boolean","description":"Show enabled only"}},"type":"object"},"GetActiveTriggersQueryDTO":{"properties":{"connectedAccountIds":{"type":"string","description":"IDs of the connected accounts"},"integrationIds":{"type":"string","description":"IDs of the integrations"},"triggerIds":{"type":"string","description":"IDs of the triggers"},"triggerNames":{"type":"string","description":"Names of the triggers"},"page":{"type":"number","description":"Page number"},"limit":{"type":"number","description":"Limit per page"},"showDisabled":{"type":"boolean","description":"Show disabled triggers"}},"type":"object"},"GetLogsQueryDTO":{"properties":{"connectionId":{"type":"string","description":"ID of the connection"},"integrationId":{"type":"string","description":"ID of the integration"},"page":{"type":"number","description":"Page number"},"limit":{"type":"number","description":"Limit per page"}},"type":"object"},"TriggerResDTO":{"properties":{"name":{"type":"string","description":"Trigger name"},"display_name":{"type":"string","description":"Trigger display name"},"description":{"type":"string","description":"Trigger description"},"enabled":{"type":"boolean","description":"Is trigger enabled"},"config":{"type":"object","description":"Trigger configuration"},"payload":{"type":"object","description":"Trigger payload"},"logo":{"type":"string","description":"Trigger logo URL"},"count":{"type":"number","description":"Trigger count"},"appKey":{"type":"string","description":"App key"},"appId":{"type":"string","description":"App ID"},"appName":{"type":"string","description":"App name"},"instructions":{"type":"string","description":"Trigger instructions"},"type":{"type":"string","description":"Trigger type"}},"type":"object","required":["name","display_name","appKey","appId","appName"]},"SingleTriggerResDTO":{"properties":{"name":{"type":"string","description":"Trigger name"},"displayName":{"type":"string","description":"Trigger display name"},"description":{"type":"string","description":"Trigger description"},"type":{"type":"string","description":"Trigger type"},"appId":{"type":"string","description":"App ID"},"appName":{"type":"string","description":"App name"},"instructions":{"type":"string","description":"Trigger instructions"},"payload":{"type":"object","description":"Trigger payload"},"config":{"type":"object","description":"Trigger config"}},"type":"object","required":["name","displayName","description","type","appId","appName","payload","config"]},"TriggerConfig":{"properties":{"repo":{"type":"string","description":"Repository name"},"owner":{"type":"string","description":"Repository owner"}},"type":"object","required":["repo","owner"],"description":"Trigger configuration"},"ActiveTriggerInstance":{"properties":{"id":{"type":"string","description":"Trigger instance ID"},"connectionId":{"type":"string","description":"Connected account ID"},"triggerName":{"type":"string","description":"Trigger name"},"triggerData":{"type":"string","description":"Trigger data"},"triggerConfig":{"$ref":"#/components/schemas/TriggerConfig"},"createdAt":{"type":"string","description":"Created at timestamp","format":"date-time"},"updatedAt":{"type":"string","description":"Updated at timestamp","format":"date-time"},"disabledAt":{"type":"string","description":"Disabled at timestamp","format":"date-time","nullable":true}},"type":"object","required":["connectionId","triggerName","triggerConfig","createdAt","updatedAt"]},"PageInfoDTO":{"properties":{"currentPage":{"type":"number"},"perPage":{"type":"number"},"totalPages":{"type":"number"}},"type":"object","required":["currentPage","perPage","totalPages"]},"ActiveTriggersResDTO":{"properties":{"triggers":{"items":{"type":"object"},"type":"array"},"pageInfo":{"items":{"$ref":"#/components/schemas/PageInfoDTO"},"type":"array"}},"type":"object","required":["triggers","pageInfo"]},"TriggerLogsResDTO":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TriggerLogItemDTO"},"type":"array"},"pageInfo":{"$ref":"#/components/schemas/PageInfoDTO"}},"type":"object","required":["data","pageInfo"]},"TriggerLogItemDTO":{"properties":{"clientId":{"type":"string","description":"Client ID"},"connectionId":{"type":"string","description":"Connection ID"},"errorTrigger":{"type":"string","description":"Error trigger","nullable":true},"triggerClientError":{"type":"string","description":"Trigger client error","nullable":true},"triggerClientPayload":{"type":"string","description":"Trigger client payload","nullable":true},"triggerProviderPayload":{"type":"string","description":"Trigger provider payload","nullable":true},"triggerName":{"type":"string","description":"Trigger name","nullable":true},"id":{"type":"string","description":"Log ID"},"appKey":{"type":"string","description":"App key"},"createdAt":{"type":"string","description":"Created at timestamp","format":"date-time"}},"type":"object","required":["clientId","connectionId","id","appKey","createdAt"]},"HandleTriggerParamsDTO":{"properties":{"appName":{"type":"string","description":"The name of the app"},"clientId":{"type":"string","description":"The client ID"}},"type":"object","required":["appName","clientId"]},"HandleTriggerBodyDTO":{"properties":{"body":{"type":"object","description":"The trigger payload"}},"type":"object","required":["body"]},"EnableTriggerParamsDTO":{"properties":{"connectedAccountId":{"type":"string","description":"The connected account ID"},"triggerName":{"type":"string","description":"The trigger name"}},"type":"object","required":["connectedAccountId","triggerName"]},"GetTriggerParamsDTO":{"properties":{"triggerId":{"type":"string","description":"The connected account ID"}},"type":"object","required":["triggerId"]},"EnableTriggerBodyDTO":{"properties":{"triggerConfig":{"type":"object","description":"The trigger configuration"},"verifyHost":{"type":"string","description":"The verify host"}},"type":"object","required":["triggerConfig"]},"SwitchTriggerStatusParamsDTO":{"properties":{"triggerId":{"type":"string","description":"The trigger instance ID"}},"type":"object","required":["triggerId"]},"SwitchTriggerStatusBodyDTO":{"properties":{"enabled":{"type":"boolean","description":"The new enabled status of the trigger"}},"type":"object","required":["enabled"]},"TriggerInstanceParamsDTO":{"properties":{"triggerInstanceId":{"type":"string","description":"The trigger instance ID"}},"type":"object","required":["triggerInstanceId"]},"SetCallbackUrlBodyDTO":{"properties":{"callbackURL":{"type":"string","description":"The callback URL"}},"type":"object","required":["callbackURL"]},"TriggerResponseDTO":{"properties":{"status":{"type":"string","description":"The status of the operation"},"message":{"type":"string","description":"Optional message"},"triggerId":{"type":"string","description":"Optional trigger ID"},"isNew":{"type":"boolean","description":"Is new trigger. If true, the trigger was created just now or else it was already existing"}},"type":"object","required":["status"]},"WebhookURLResponseDTO":{"properties":{"status":{"type":"string","description":"The status of the operation"},"callbackURL":{"type":"string","description":"The callback URL if found"}},"type":"object","required":["status"]},"TriggerMetadataDTO":{"properties":{"id":{"type":"string","description":"The unique identifier of the trigger"},"connectionId":{"type":"string","description":"The connection identifier associated with the trigger"},"triggerName":{"type":"string","description":"The name of the trigger"},"triggerData":{"type":"string","description":"The data associated with the trigger"},"triggerConfig":{"type":"object","description":"The configuration of the trigger"},"state":{"type":"object","description":"The state of the trigger"},"createdAt":{"type":"string","description":"The creation date of the trigger"},"updatedAt":{"type":"string","description":"The last update date of the trigger"},"disabledAt":{"type":"string","description":"The date when the trigger was disabled, if applicable"},"disabledReason":{"type":"string","description":"The reason why the trigger was disabled, if applicable"}},"type":"object","required":["id","connectionId","triggerName","triggerData","triggerConfig","state","createdAt","updatedAt"],"description":"The trigger details if found"},"GetTriggerResponseDTO":{"properties":{"status":{"type":"string","description":"The status of the operation"},"trigger":{"$ref":"#/components/schemas/TriggerMetadataDTO"}},"type":"object","required":["status"]},"GenerateCLISessionReqDTO":{"properties":{"channel_name":{"type":"string","description":"The channel name for the CLI session"}},"type":"object","required":["channel_name"]},"GenerateCLISessionResDTO":{"properties":{"key":{"type":"string","description":"The key for the CLI session"}},"type":"object","required":["key"]},"GetCLISessionResDTO":{"properties":{"clientId":{"type":"string","description":"The client ID"},"cliCode":{"type":"string","description":"The CLI code"}},"type":"object","required":["clientId","cliCode"]},"VerifyCLICodeResDTO":{"properties":{"clientId":{"type":"string","description":"The client ID"},"cliCode":{"type":"string","description":"The CLI code"},"apiKey":{"type":"string","description":"The API key associated with the client"}},"type":"object","required":["clientId","cliCode","apiKey"]},"CLIQueryDTO":{"properties":{"key":{"type":"string","description":"Unique key for CLI session"},"code":{"type":"string","description":"Code for CLI verification"}},"type":"object","required":["key"]},"MetadataReqDTO":{"properties":{"email":{"type":"string","description":"The email associated with the metadata request"},"metadata":{"description":"Additional metadata as a key-value pair"}},"type":"object","required":["email"]},"TriggersEnabledToggleReqDTO":{"properties":{"enabled":{"type":"boolean","description":"Flag to enable or disable triggers"}},"type":"object","required":["enabled"]},"TriggersEnabledToggleResDTO":{"properties":{"message":{"type":"string","description":"Message indicating the result of the toggle operation"}},"type":"object","required":["message"]},"TriggerToggleInfoResponseDTO":{"properties":{"triggersEnabled":{"type":"boolean","description":"Indicates if triggers are enabled"}},"type":"object","required":["triggersEnabled"]},"ToggleTriggerStateResponseDTO":{"properties":{"message":{"type":"string"}},"type":"object","required":["message"]},"MetadataQueryDTO":{"properties":{"email":{"type":"string","description":"Email of the client"}},"type":"object","required":["email"]},"TriggerMetadata":{"properties":{"id":{"type":"string","description":"The unique id of the log"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["trigger"]}]},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was created","format":"date-time"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was updated","format":"date-time"},"provider":{"type":"string","description":"The provider of the log"},"clientId":{"type":"string","description":"The client uuid of the log"},"connectionId":{"type":"string","description":"The connection id of the log"},"triggerProviderPayload":{"type":"string","description":"The trigger provider payload of the log"},"triggerClientPayload":{"type":"string"},"triggerClientError":{"type":"string","description":"The trigger client error of the log"},"triggerName":{"type":"string","description":"The trigger name of the log"},"triggerClientResponse":{"type":"string","description":"The trigger client response of the log"}},"type":"object","required":["id","type","createdAt","updatedAt","provider","clientId","connectionId"],"description":"Metadata associated with the trigger log"},"ActionMetadata":{"properties":{"id":{"type":"string","description":"The unique id of the log"},"request":{"type":"string","description":"The request sent to the provider"},"response":{"type":"string","description":"The response from the provider"},"errorRequest":{"type":"string","description":"The error request sent to the provider"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["action"]}]},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was created","format":"date-time"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The date and time when the log was updated","format":"date-time"},"provider":{"type":"string","description":"The provider of the log"},"clientId":{"type":"string","description":"The client uuid of the log"},"connectionId":{"type":"string","description":"The connection id of the log"},"actionName":{"type":"string","description":"The action name of the log"}},"type":"object","required":["id","request","type","createdAt","updatedAt","provider","clientId","connectionId","actionName"]},"TriggerLogData":{"properties":{"id":{"type":"string","description":"The unique identifier of the trigger log"},"connectionId":{"type":"string","description":"The connection identifier associated with the trigger log"},"clientId":{"type":"string","description":"The client identifier associated with the trigger log"},"status":{"type":"string","description":"The status of the trigger log"},"appName":{"type":"string","description":"The name of the application associated with the trigger log"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date and time of the trigger log","format":"date-time"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["trigger"]}]},"meta":{"$ref":"#/components/schemas/TriggerMetadata"}},"type":"object","required":["id","connectionId","clientId","status","appName","createdAt","type","meta"]},"ActionLogData":{"properties":{"id":{"type":"string","description":"The unique identifier of the action log"},"connectionId":{"type":"string","description":"The connection identifier associated with the action log"},"clientId":{"type":"string","description":"The client identifier associated with the action log"},"status":{"type":"string","description":"The status of the action log"},"appName":{"type":"string","description":"The name of the application associated with the action log"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"The creation date and time of the action log","format":"date-time"},"type":{"type":"string","description":"The type of the log","oneOf":[{"type":"string","enum":["action"]}]},"meta":{"$ref":"#/components/schemas/ActionMetadata"}},"type":"object","required":["id","connectionId","clientId","status","appName","createdAt","type","meta"]},"LogsResDTO":{"properties":{"nextCursor":{"type":"string","description":"The cursor to get the next page of logs"},"data":{"items":{"type":"object"},"type":"array","description":"Logs data"}},"type":"object","required":["data"]},"GetLogsDTO":{"properties":{"type":{"enum":["error","info","debug"],"type":"string","description":"Type of the log"},"time":{"enum":["5m","30m","6h","1d","1w","1month","1y"],"type":"string","description":"Time interval for which data needs to be fetched"},"status":{"enum":["all","success","error"],"type":"string","description":"Status of the log"},"search":{"type":"string","description":"Search term in the log"},"integrationId":{"type":"string","description":"Integration UUID"},"entityId":{"type":"string","description":"Entity id"},"limit":{"type":"number","description":"Limit of the logs","default":10},"cursor":{"type":"string","description":"Cursor for pagination"},"logsType":{"type":"string","description":"Type of the log"},"sessionId":{"type":"string","description":"Session ID of the log"}},"type":"object"},"IngestDataDTO":{"properties":{"connectionId":{"type":"string","description":"Connection ID of the log"},"sessionId":{"type":"string","description":"Session ID of the log"},"logsType":{"type":"string","description":"Type of the log"},"entityId":{"type":"string","description":"Entity ID of the log"},"providerName":{"type":"string","description":"Provider name of the log"},"actionName":{"type":"string","description":"Action name of the log"},"request":{"type":"object"},"response":{"type":"object"},"isError":{"type":"boolean"}},"type":"object","required":["providerName","actionName","request","response","isError"]},"IngestDataResponseDTO":{"properties":{"isIngested":{"type":"boolean"}},"type":"object","required":["isIngested"]},"ActionsQueryDTOV2":{"properties":{"apps":{"type":"string","description":"Names of the apps"},"actions":{"type":"string","description":"Names of the actions"},"tags":{"type":"string","description":"Names of the tags"},"useCase":{"type":"string","description":"Use case"},"showEnabledOnly":{"type":"boolean","description":"Show enabled only"},"usecaseLimit":{"type":"number","description":"Use case limit"},"filterImportantActions":{"type":"boolean","description":"Filter important actions"},"showAll":{"type":"boolean","description":"Show all"},"page":{"type":"number","description":"Page number"},"limit":{"type":"number","description":"Limit"}},"type":"object"},"TimePeriodReqDTO":{"properties":{"lastTimePeriod":{"enum":["DAY","WEEK","MONTH","SIX_MONTH","YEAR","FIVE_YEAR"],"type":"string","description":"Time period to get the data for"}},"type":"object"},"ActionByAppDTO":{"properties":{"appName":{"type":"string","description":"Name of the app"},"totalCount":{"type":"number","description":"Total count of actions for the app"}},"type":"object","required":["appName","totalCount"],"description":"Action counts by app"},"ActionByStatusDTO":{"properties":{"failed":{"type":"number","description":"Count of failed actions"},"success":{"type":"number","description":"Count of successful actions"}},"type":"object","required":["failed","success"],"description":"Action counts by status"},"ActionAnalyticsDTO":{"properties":{"date":{"type":"string","description":"Date of the action","format":"date"},"byApp":{"$ref":"#/components/schemas/ActionByAppDTO"},"byStatus":{"$ref":"#/components/schemas/ActionByStatusDTO"}},"type":"object","required":["date","byApp","byStatus"],"description":"Comprehensive trigger analytics data, presenting a breakdown by day, status, and provider for all triggers"},"IntegrationsWithCountsDTO":{"properties":{"id":{"type":"string","description":"Unique identifier for the integration"},"appName":{"type":"string","description":"Name of the app"},"integrationName":{"type":"string","description":"Name of the integration"},"connectionCount":{"type":"number","description":"Count of connections for the integration"},"triggerCount":{"type":"number","description":"Count of triggers for the integration"},"requestLogsCount":{"type":"number","description":"Count of request logs for the integration"}},"type":"object","required":["id","appName","integrationName","connectionCount","triggerCount","requestLogsCount"],"description":"Detailed integration analytics data, including a breakdown of connection count, trigger count, and request logs count for each integration"},"AppNameCountDTO":{"properties":{"appName":{"type":"string","description":"Name of the app"},"connectionCount":{"type":"number","description":"Count of connections for the app"},"triggerCount":{"type":"number","description":"Count of triggers for the app"},"requestLogsCount":{"type":"number","description":"Count of request logs for the app"}},"type":"object","required":["appName","connectionCount","triggerCount","requestLogsCount"],"description":"Comprehensive app-level analytics data, providing a breakdown of connection count, trigger count, and request logs count for each app"},"AnalyticsDataReqDTO":{"properties":{"lastTimePeriod":{"enum":["DAY","WEEK","MONTH","SIX_MONTH","YEAR","FIVE_YEAR"],"type":"string","description":"Time period to get the data for"}},"type":"object"},"ClientUniqueUserIdCountDTO":{"properties":{"clientUniqueUserId":{"type":"string","description":"Client unique user id"},"count":{"type":"number","description":"Count of connections for the client unique user id"}},"type":"object","required":["clientUniqueUserId","count"],"description":"Connection counts by entity"},"AnalyticsEntityDataDTO":{"properties":{"byConnections":{"items":{"$ref":"#/components/schemas/ClientUniqueUserIdCountDTO"},"type":"array"},"byActions":{"items":{"$ref":"#/components/schemas/ClientUniqueUserIdCountDTO"},"type":"array","description":"Action counts by entity"},"byTriggers":{"items":{"$ref":"#/components/schemas/ClientUniqueUserIdCountDTO"},"type":"array","description":"Trigger counts by entity"}},"type":"object","required":["byConnections","byActions","byTriggers"],"description":"Entity-related analytics data, providing a breakdown by connections, actions, and triggers for each entity. This is include all entity info."},"AnalyticsDataResDTO":{"properties":{"entity":{"$ref":"#/components/schemas/AnalyticsEntityDataDTO"},"actions":{"items":{"$ref":"#/components/schemas/ActionAnalyticsDTO"},"type":"array"},"trigger":{"items":{"$ref":"#/components/schemas/ActionAnalyticsDTO"},"type":"array"},"integrations":{"items":{"$ref":"#/components/schemas/IntegrationsWithCountsDTO"},"type":"array"},"app":{"$ref":"#/components/schemas/AppNameCountDTO"}},"type":"object","required":["entity","actions","trigger","integrations","app"]},"TopEntitiesResDTO":{"properties":{"entities":{"items":{"$ref":"#/components/schemas/TConnectionCountDTO"},"type":"array","description":"Top entities by connection count"}},"type":"object","required":["entities"]},"TConnectionCountDTO":{"properties":{"clientUniqueUserId":{"type":"string","description":"Name of the entity"},"count":{"type":"number","description":"Count of connections for the entity"}},"type":"object","required":["clientUniqueUserId","count"]},"EntityQueryReqDTO":{"properties":{"query":{"type":"string","description":"Query to get the data for"}},"type":"object"},"WebhookReqDTO":{"properties":{"eventWebhookURL":{"type":"string","description":"Event Webhook URL"}},"type":"object","required":["eventWebhookURL"]},"FetchQueryDTO":{"properties":{"startTime":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"Start time of the event in ISO 8601 format"},"endTime":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string","description":"End time of the event in ISO 8601 format"}},"type":"object","required":["startTime","endTime"]},"WebhookSecretResDTO":{"properties":{"webhookSecret":{"type":"string","description":"Webhook secret"}},"type":"object","required":["webhookSecret"]},"CreateCheckoutSessionReqDto":{"properties":{"plan":{"enum":["HOBBY","STARTER","GROWTH","ENTERPRISE","STARTUP"],"type":"string"}},"type":"object","required":["plan"]},"SDKErrorResDTO":{"properties":{"status":{"type":"string","description":"The status of the SDK error"}},"type":"object","required":["status"]}},"securitySchemes":{"api_key":{"type":"apiKey","in":"header","name":"x-api-key"}}},"info":{"title":"Composio OpenAPI","version":"1.0.0","description":"Generated with `routing-controllers-openapi`"},"openapi":"3.0.0","paths":{"/api/v1/client/auth/identify":{"post":{"operationId":"identifyClient","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyClientReqDTO"}}},"description":"IdentifyClientReqDTO","required":false},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyClientResDTO"}}},"description":""}},"summary":"Identify client","tags":["Auth"]}},"/api/v1/client/auth/client_info":{"get":{"operationId":"getUserInfo","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientInfoResDTO"}}},"description":""}},"summary":"Get user info","tags":["Auth"],"description":"Get client info"}},"/api/v1/api_keys":{"post":{"operationId":"generateAPIKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAPIKeyReqDTO"}}},"description":"GenerateAPIKeyReqDTO","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyResDTO"}}},"description":""}},"summary":"Generate api key","tags":["API-Keys"]},"get":{"operationId":"listAPIKeys","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/APIKeyResDTO"},"type":"array"}}},"description":""}},"summary":"List api keys","tags":["API-Keys"]}},"/api/v1/api_keys/{id}":{"delete":{"operationId":"deleteAPIKey","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAPIKeyResponseDTO"}}},"description":""}},"summary":"Delete api key","tags":["API-Keys"]}},"/api/v1/apps":{"get":{"operationId":"getApps","parameters":[{"in":"query","name":"category","schema":{"type":"string","description":"Category of the app"}},{"in":"query","name":"additionalFields","schema":{"type":"string","description":"Additional fields to include in the response"}},{"in":"query","name":"includeLocal","schema":{"type":"string","description":"Enter 'true' or 'false'"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppListResDTO"}}},"description":""}},"summary":"Get apps","tags":["Apps"],"description":"Retrieve a list of all applications based on query parameters."}},"/api/v1/apps/openapi/spec/list":{"get":{"operationId":"getOpenAPISpecs","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AppListResDTO"},"type":"array"}}},"description":"List of all openapi spec tools"}},"summary":"Get opena api specs","tags":["Apps"],"description":"List all openapi spec tools"}},"/api/v1/apps/openapi/spec/delete/{id}":{"delete":{"operationId":"deleteOpenAPISpecTool","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Delete open api spec tool","tags":["Apps"],"description":"Delete an openapi spec tool"}},"/api/v1/apps/openapi/send_email_to_client":{"post":{"operationId":"AppController.sendEmailToClient","parameters":[{"in":"query","name":"adminToken","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"description":"","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Send email to client","tags":["Apps"]}},"/api/v1/apps/openapi/spec/status/{id}":{"get":{"operationId":"getOpenAPISpecStatus","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get open api spec status","tags":["Apps"],"description":"Get the status of an openapi spec tool"}},"/api/v1/apps/{appName}":{"get":{"operationId":"getApp","parameters":[{"in":"path","name":"appName","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SingleAppInfoResDTO"}}},"description":""}},"summary":"Get app","tags":["Apps"],"description":"Get app details"}},"/api/v1/integrations":{"post":{"operationId":"createConnector","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorPayloadDTO"}}},"description":"CreateConnectorPayloadDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectorInfoResDTO"}}},"description":""}},"summary":"Create connector","tags":["Integrations"],"description":"Create a new connector"},"get":{"operationId":"listAllConnectors","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectorListResDTO"}}},"description":""}},"summary":"List all connectors","tags":["Integrations"],"description":"List all connectors"}},"/api/v1/integrations/{integrationId}":{"get":{"operationId":"getConnectorInfo","parameters":[{"in":"path","name":"integrationId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectorInfoResDTO"}}},"description":""}},"summary":"Get connector info","tags":["Integrations"],"description":"Get connector info"},"patch":{"operationId":"modifyConnector","parameters":[{"in":"path","name":"integrationId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConnectorReqDTO"}}},"description":"PatchConnectorReqDTO","required":false},"responses":{"204":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchConnectorResDTO"}}},"description":""}},"summary":"Modify connector","tags":["Integrations"],"description":"Modify a connector"},"delete":{"operationId":"deleteConnector","parameters":[{"in":"path","name":"integrationId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"204":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRowAPIDTO"}}},"description":""}},"summary":"Delete connector","tags":["Integrations"],"description":"Delete a connector"}},"/api/v1/integrations/{integrationId}/status":{},"/api/v1/connectedAccounts":{"get":{"operationId":"getConnections","parameters":[{"in":"query","name":"page","schema":{"type":"number"}},{"in":"query","name":"pageSize","schema":{"type":"number"}},{"in":"query","name":"appNames","schema":{"type":"string"}},{"in":"query","name":"integrationId","schema":{"type":"string"}},{"in":"query","name":"connectionId","schema":{"type":"string"}},{"in":"query","name":"user_uuid","schema":{"type":"string"}},{"in":"query","name":"showActiveOnly","schema":{"type":"boolean"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"query","name":"showDisabled","schema":{"type":"boolean"}},{"in":"query","name":"labels","schema":{"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectionsResponseDto"}}},"description":"Get all connections for the current user"}},"summary":"Get connections","tags":["Connections"]},"post":{"operationId":"initiateConnection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateConnectionPayloadDto"}}},"description":"InitiateConnectionPayloadDto","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateConnectionResponse"}}},"description":"Initiates a connection for the given integration and mark the connection status as initiated if the auth scheme is OAuth1 or OAuth2"}},"summary":"Initiate connection","tags":["Connections"]}},"/api/v1/connectedAccounts/{connectedAccountId}/data":{"patch":{"operationId":"updateConnectionData","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectionLabelsPayloadDto"}}},"description":"UpdateConnectionLabelsPayloadDto","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Update connection data","tags":["Connections"],"description":"Update connection data"}},"/api/v1/connectedAccounts/{connectedAccountId}":{"get":{"operationId":"getConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectedAccountResponseDTO"}}},"description":"Retrieve details of a specific connected account by its ID"}},"summary":"Get connection","tags":["Connections"]},"delete":{"operationId":"deleteConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRowAPIDTO"}}},"description":""}},"summary":"Delete connection","tags":["Connections"],"description":"Delete a connection"}},"/api/v1/connectedAccounts/{connectedAccountId}/info":{"get":{"operationId":"getConnectionInfo","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetConnectionInfoResponseDTO"}}},"description":""}},"summary":"Get connection info","tags":["Connections"],"description":"Get connection info"}},"/api/v1/connectedAccounts/{connectedAccountId}/disable":{"post":{"operationId":"disableConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleConnectedAccountResponseDTO"}}},"description":""}},"summary":"Disable connection","tags":["Connections"],"description":"Disable a connection"}},"/api/v1/connectedAccounts/{connectedAccountId}/enable":{"post":{"operationId":"enableConnection","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleConnectedAccountResponseDTO"}}},"description":""}},"summary":"Enable connection","tags":["Connections"],"description":"Enable a connection"}},"/api/v1/triggers":{"get":{"operationId":"listTriggers","parameters":[{"in":"query","name":"appNames","schema":{"type":"string","description":"Names of the apps"}},{"in":"query","name":"connectedAccountIds","schema":{"type":"string","description":"IDs of the connected accounts"}},{"in":"query","name":"triggerIds","schema":{"type":"string","description":"IDs of the triggers"}},{"in":"query","name":"integrationIds","schema":{"type":"string","description":"Integration ID"}},{"in":"query","name":"showEnabledOnly","schema":{"type":"boolean","description":"Show enabled only"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TriggerResDTO"},"type":"array"}}},"description":""}},"summary":"List triggers","tags":["Triggers"],"description":"List triggers"}},"/api/v1/triggers/enable/{connectedAccountId}/{triggerName}":{"post":{"operationId":"enableTrigger","parameters":[{"in":"path","name":"connectedAccountId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"path","name":"triggerName","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableTriggerBodyDTO"}}},"description":"EnableTriggerBodyDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Enable trigger","tags":["Triggers"],"description":"Enables a trigger for a connected account and specific trigger name."}},"/api/v1/triggers/active_triggers":{"get":{"operationId":"getActiveTriggers","parameters":[{"in":"query","name":"connectedAccountIds","schema":{"type":"string","description":"IDs of the connected accounts"}},{"in":"query","name":"integrationIds","schema":{"type":"string","description":"IDs of the integrations"}},{"in":"query","name":"triggerIds","schema":{"type":"string","description":"IDs of the triggers"}},{"in":"query","name":"triggerNames","schema":{"type":"string","description":"Names of the triggers"}},{"in":"query","name":"page","schema":{"type":"number","description":"Page number"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit per page"}},{"in":"query","name":"showDisabled","schema":{"type":"boolean","description":"Show disabled triggers"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveTriggersResDTO"}}},"description":""}},"summary":"Get active triggers","tags":["Triggers"],"description":"Lists active triggers based on query parameters."}},"/api/v1/triggers/instance/{triggerId}/status":{"patch":{"operationId":"switchTriggerInstanceStatus","parameters":[{"in":"path","name":"triggerId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwitchTriggerStatusBodyDTO"}}},"description":"SwitchTriggerStatusBodyDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Switch trigger instance status","tags":["Triggers"],"description":"Switches the status of a trigger instance."}},"/api/v1/triggers/disable/{triggerInstanceId}":{"post":{"operationId":"disableTrigger","parameters":[{"in":"path","name":"triggerInstanceId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Disable trigger","tags":["Triggers"],"description":"Disables a specified trigger instance."}},"/api/v1/triggers/instance/{triggerInstanceId}":{"delete":{"operationId":"deleteTrigger","parameters":[{"in":"path","name":"triggerInstanceId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteRowAPIDTO"}}},"description":""}},"summary":"Delete trigger","tags":["Triggers"],"description":"Deletes a specified trigger instance."}},"/api/v1/triggers/set_callback_url":{"post":{"operationId":"set_callback_url","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetCallbackUrlBodyDTO"}}},"description":"SetCallbackUrlBodyDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerResponseDTO"}}},"description":""}},"summary":"Set callback url","tags":["Triggers"],"description":"Sets a universal callback URL for the client."}},"/api/v1/triggers/callback_url":{"get":{"operationId":"getWebhookURL","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookURLResponseDTO"}}},"description":""}},"summary":"Get webhook url","tags":["Triggers"],"description":"Retrieves the universal callback URL set for the client."}},"/api/v1/triggers/logs":{"get":{"operationId":"getTriggerLogs","parameters":[{"in":"query","name":"connectionId","schema":{"type":"string","description":"ID of the connection"}},{"in":"query","name":"integrationId","schema":{"type":"string","description":"ID of the integration"}},{"in":"query","name":"page","schema":{"type":"number","description":"Page number"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit per page"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerLogsResDTO"}}},"description":""}},"summary":"Get logs","tags":["Triggers"],"description":"Fetches logs based on connection and integration details."}},"/api/v1/cli/js-sentry-dns":{"get":{"operationId":"getSentryDNS","responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Jssentry dns","tags":["Admin"]}},"/api/v1/clear-cache":{"post":{"operationId":"clearCache","parameters":[{"in":"header","name":"X-ADMIN-TOKEN","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Clear cache","tags":["Admin"]}},"/api/v1/cli/generate-cli-session":{"get":{"operationId":"generateCLISession","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateCLISessionResDTO"}}},"description":""}},"summary":"Handle cli code exchange","tags":["CLI"]}},"/api/v1/cli/get-cli-code":{"get":{"operationId":"getCLICode","parameters":[{"in":"query","name":"key","required":true,"schema":{"type":"string","description":"Unique key for CLI session"}},{"in":"query","name":"code","required":false,"schema":{"type":"string","description":"Code for CLI verification"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCLISessionResDTO"}}},"description":""}},"summary":"Get cli code","tags":["CLI"]}},"/api/v1/cli/verify-cli-code":{"get":{"operationId":"verifyCLICode","parameters":[{"in":"query","name":"key","required":true,"schema":{"type":"string","description":"Unique key for CLI session"}},{"in":"query","name":"code","required":false,"schema":{"type":"string","description":"Code for CLI verification"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyCLICodeResDTO"}}},"description":""}},"summary":"Handle cli code verification","tags":["CLI"]}},"/api/v1/logs/":{"get":{"operationId":"getLogs","parameters":[{"in":"query","name":"type","schema":{"enum":["error","info","debug"],"type":"string","description":"Type of the log"}},{"in":"query","name":"time","schema":{"enum":["5m","30m","6h","1d","1w","1month","1y"],"type":"string","description":"Time interval for which data needs to be fetched"}},{"in":"query","name":"status","schema":{"enum":["all","success","error"],"type":"string","description":"Status of the log"}},{"in":"query","name":"search","schema":{"type":"string","description":"Search term in the log"}},{"in":"query","name":"integrationId","schema":{"type":"string","description":"Integration UUID"}},{"in":"query","name":"entityId","schema":{"type":"string","description":"Entity id"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit of the logs","default":10}},{"in":"query","name":"cursor","schema":{"type":"string","description":"Cursor for pagination"}},{"in":"query","name":"logsType","schema":{"type":"string","description":"Type of the log"}},{"in":"query","name":"sessionId","schema":{"type":"string","description":"Session ID of the log"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogsResDTO"}}},"description":""}},"summary":"Get logs","tags":["Logs"],"description":"List logs"},"post":{"operationId":"postLogs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestDataDTO"}}},"description":"IngestDataDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestDataResponseDTO"}}},"description":""}},"summary":"Post logs","tags":["Logs"],"description":"Add new logs"}},"/api/v2/actions":{"get":{"operationId":"listActionsV2","parameters":[{"in":"query","name":"apps","schema":{"type":"string","description":"Names of the apps"}},{"in":"query","name":"actions","schema":{"type":"string","description":"Names of the actions"}},{"in":"query","name":"tags","schema":{"type":"string","description":"Names of the tags"}},{"in":"query","name":"useCase","schema":{"type":"string","description":"Use case"}},{"in":"query","name":"showEnabledOnly","schema":{"type":"boolean","description":"Show enabled only"}},{"in":"query","name":"usecaseLimit","schema":{"type":"number","description":"Use case limit"}},{"in":"query","name":"filterImportantActions","schema":{"type":"boolean","description":"Filter important actions"}},{"in":"query","name":"showAll","schema":{"type":"boolean","description":"Show all"}},{"in":"query","name":"page","schema":{"type":"number","description":"Page number"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionsListResponseDTO"}}},"description":""}},"summary":"List actions","tags":["Actions"],"description":"Retrieve a list of all actions based on query parameters."}},"/api/v2/actions/list/all":{"get":{"operationId":"listActionsMinimalV2","parameters":[{"in":"query","name":"apps","schema":{"type":"string","description":"Names of the apps"}},{"in":"query","name":"actions","schema":{"type":"string","description":"Names of the actions"}},{"in":"query","name":"tags","schema":{"type":"string","description":"Names of the tags"}},{"in":"query","name":"useCase","schema":{"type":"string","description":"Use case"}},{"in":"query","name":"showEnabledOnly","schema":{"type":"boolean","description":"Show enabled only"}},{"in":"query","name":"usecaseLimit","schema":{"type":"number","description":"Use case limit"}},{"in":"query","name":"filterImportantActions","schema":{"type":"boolean","description":"Filter important actions"}},{"in":"query","name":"showAll","schema":{"type":"boolean","description":"Show all"}},{"in":"query","name":"page","schema":{"type":"number","description":"Page number"}},{"in":"query","name":"limit","schema":{"type":"number","description":"Limit"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionsListResponseDTO"}}},"description":""}},"summary":"List actions minimal","tags":["Actions"],"description":"Retrieve a list of all actions based on query parameters."}},"/api/v2/actions/{actionId}/execute":{"post":{"operationId":"executeActionV2","parameters":[{"in":"path","name":"actionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExecutionReqDTO"}}},"description":"ActionExecutionReqDTO","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExecutionResDto"}}},"description":""}},"summary":"Execute action","tags":["Actions"],"description":"Execute an action. Support both connected account and no auth auth."}},"/api/v2/actions/{actionId}/execute/get.inputs":{"post":{"operationId":"getActionInputsV2","parameters":[{"in":"path","name":"actionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionGetNLAInputsReqDTO"}}},"description":"ActionGetNLAInputsReqDTO","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get action inputs","tags":["Actions"],"description":"Get the inputs for an action with NLA"}},"/api/v2/actions/{actionId}":{"get":{"operationId":"getActionV2","parameters":[{"in":"path","name":"actionId","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionDetails"}}},"description":""}},"summary":"Get action","tags":["Actions"],"description":"Get action details"}},"/api/v2/actions/proxy":{"post":{"operationId":"executeActionProxyV2","parameters":[{"in":"query","name":"endpoint","required":true,"schema":{"type":"string"}},{"in":"query","name":"connectedAccountId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionExecutionResDto"}}},"description":""}},"summary":"Execute action proxy","tags":["Actions"],"description":"Execute an action with direct auth."}},"/api/v2/triggers/{triggerName}":{"get":{"operationId":"getTriggerInfoV2","parameters":[{"in":"path","name":"triggerName","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SingleTriggerResDTO"},"type":"array"}}},"description":""}},"summary":"Get trigger info","tags":["Triggers"],"description":"Get Trigger Info"}},"/api/v1/analytics/":{"get":{"operationId":"getAnalytics","parameters":[{"in":"query","name":"lastTimePeriod","schema":{"enum":["DAY","WEEK","MONTH","SIX_MONTH","YEAR","FIVE_YEAR"],"type":"string","description":"Time period to get the data for"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsDataResDTO"}}},"description":""}},"summary":"Get analytics","tags":["Analytics"]}},"/api/v1/analytics/entities":{"get":{"operationId":"getTopEntities","parameters":[{"in":"query","name":"query","schema":{"type":"string","description":"Query to get the data for"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopEntitiesResDTO"}}},"description":""}},"summary":"Get top entities","tags":["Analytics"]}},"/api/v1/event_logs/set/webhook":{"post":{"operationId":"updateWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookReqDTO"}}},"description":"WebhookReqDTO","required":false},"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Update webhook","tags":["Event Logs"]}}},"security":[{"api_key":[]}],"servers":[{"url":"https://backend.composio.dev"}]} \ No newline at end of file From 8de6521b64d68546e283f7ccbb735d55333718c3 Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Mon, 11 Nov 2024 20:54:02 +0530 Subject: [PATCH 05/11] feat: update --- js/package.json | 2 +- js/src/sdk/client/types.gen.ts | 2 +- js/src/sdk/models/Entity.ts | 2 +- js/src/sdk/models/connectedAccounts.ts | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/js/package.json b/js/package.json index a95eac233e..189b9a4c7a 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "composio-core", - "version": "0.2.9-5", + "version": "0.2.9-6", "description": "", "main": "lib/src/index.js", "scripts": { diff --git a/js/src/sdk/client/types.gen.ts b/js/src/sdk/client/types.gen.ts index ff79a6dd92..75e55903b4 100644 --- a/js/src/sdk/client/types.gen.ts +++ b/js/src/sdk/client/types.gen.ts @@ -496,7 +496,7 @@ export type AppQueryDTO = { */ additionalFields?: string; /** - * Whether to include local tools or not + * Enter 'true' or 'false' */ includeLocal?: string; }; diff --git a/js/src/sdk/models/Entity.ts b/js/src/sdk/models/Entity.ts index 1c69bbd3ff..9a88d09778 100644 --- a/js/src/sdk/models/Entity.ts +++ b/js/src/sdk/models/Entity.ts @@ -235,7 +235,7 @@ export class Entity { // Initiate the connection process return this.connectedAccounts.initiate({ integrationId: integration!.id!, - userUuid: this.id, + entityId: this.id, redirectUri: redirectUrl, //@ts-ignore data: connectionData, diff --git a/js/src/sdk/models/connectedAccounts.ts b/js/src/sdk/models/connectedAccounts.ts index daeb9dd9c7..1da4adf289 100644 --- a/js/src/sdk/models/connectedAccounts.ts +++ b/js/src/sdk/models/connectedAccounts.ts @@ -9,7 +9,6 @@ type ConnectedAccountsListData = GetConnectionsData['query'] & {appNames?: strin type InitiateConnectionDataReq = InitiateConnectionPayloadDto & { data?: Record | unknown; - userUuid?: string; entityId?: string; labels?: string[]; integrationId: string; From bb3de9bc089508f1973cdd9d34c2fd0192b8fe08 Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Mon, 11 Nov 2024 21:00:07 +0530 Subject: [PATCH 06/11] feat: add test for entity id --- js/src/sdk/models/Entity.spec.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/js/src/sdk/models/Entity.spec.ts b/js/src/sdk/models/Entity.spec.ts index eebedcec81..81eefe706d 100644 --- a/js/src/sdk/models/Entity.spec.ts +++ b/js/src/sdk/models/Entity.spec.ts @@ -1,20 +1,36 @@ import { describe, it, expect } from "@jest/globals"; import { getBackendClient } from "../testUtils/getBackendClient"; import { Entity } from "./Entity"; +import { ConnectedAccounts } from "./connectedAccounts"; describe("Entity class tests", () => { let backendClient = getBackendClient(); let entity: Entity; let triggerId: string; + let connectedAccounts: ConnectedAccounts; beforeAll(() => { entity = new Entity(backendClient, "default"); + connectedAccounts = new ConnectedAccounts(backendClient); + }); it("should create an Entity instance with 'default' id", () => { expect(entity).toBeInstanceOf(Entity); expect(entity.id).toBe("default"); }); + + + it("should create for different entities", async () => { + const entityId = "test-entity"; + const entity2 = new Entity(backendClient, entityId); + const connection = await entity2.initiateConnection("github"); + expect(connection.connectionStatus).toBe("INITIATED"); + + const connection2 = await connectedAccounts.get({connectedAccountId: connection.connectedAccountId}); + if(!connection2) throw new Error("Connection not found"); + expect(connection2.entityId).toBe(entityId); + }); it("get connection for github", async () => { const app = "github"; From 0af0aea6e4ef407f6267d49f673346b9ad9d7bdf Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Tue, 12 Nov 2024 16:17:17 +0530 Subject: [PATCH 07/11] feat: use case limit --- js/src/frameworks/vercel.ts | 3 ++- js/src/sdk/base.toolset.ts | 2 ++ js/src/sdk/models/actions.ts | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/js/src/frameworks/vercel.ts b/js/src/frameworks/vercel.ts index aabaafd741..43fcb2f8c8 100644 --- a/js/src/frameworks/vercel.ts +++ b/js/src/frameworks/vercel.ts @@ -51,6 +51,7 @@ export class VercelAIToolSet extends BaseComposioToolSet { apps?: Array; tags?: Optional>; useCase?: Optional; + usecaseLimit?: Optional; }): Promise<{ [key: string]: any }> { const actionsList = await this.client.actions.list({ @@ -58,7 +59,7 @@ export class VercelAIToolSet extends BaseComposioToolSet { ...(filters?.tags && { tags: filters?.tags?.join(",") }), ...(filters?.useCase && { useCase: filters?.useCase }), ...(filters?.actions && { actions: filters?.actions?.join(",") }), - ...(filters?.actions && { actions: filters?.actions?.join(",") }), + ...(filters?.usecaseLimit && { usecaseLimit: filters?.usecaseLimit }), }); diff --git a/js/src/sdk/base.toolset.ts b/js/src/sdk/base.toolset.ts index e13505549f..b3dca5b785 100644 --- a/js/src/sdk/base.toolset.ts +++ b/js/src/sdk/base.toolset.ts @@ -129,6 +129,7 @@ export class ComposioToolSet { apps?: Array; tags?: Optional>; useCase?: Optional; + usecaseLimit?: Optional; }, entityId?: Optional ): Promise[0]>> { @@ -139,6 +140,7 @@ export class ComposioToolSet { ...(filters?.tags && { tags: filters?.tags?.join(",") }), ...(filters?.useCase && { useCase: filters?.useCase }), ...(filters?.actions && { actions: filters?.actions?.join(",") }), + ...(filters?.usecaseLimit && { usecaseLimit: filters?.usecaseLimit }), }); const localActions = new Map[0]>(); if(filters.apps && Array.isArray(filters.apps)) { diff --git a/js/src/sdk/models/actions.ts b/js/src/sdk/models/actions.ts index 6c05a3eb39..4c2c22fb50 100644 --- a/js/src/sdk/models/actions.ts +++ b/js/src/sdk/models/actions.ts @@ -41,7 +41,7 @@ export type GetListActionsData = { /** * Limit of use-cases based search */ - usecaseLimit?: string; + usecaseLimit?: number; /** * Show all actions - i.e disable pagination */ @@ -188,7 +188,8 @@ export class Actions { tags: data.tags, useCase: data.useCase as string, filterImportantActions: data.filterImportantActions, - showEnabledOnly: data.showEnabledOnly + showEnabledOnly: data.showEnabledOnly, + usecaseLimit: data.usecaseLimit || undefined } }); return response.data!; From 0355079dde1220f7495b331c68940386259ebaae Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Tue, 12 Nov 2024 16:17:30 +0530 Subject: [PATCH 08/11] feat: usecase limit --- js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/package.json b/js/package.json index 189b9a4c7a..1ce1dd1e90 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "composio-core", - "version": "0.2.9-6", + "version": "0.2.9-7", "description": "", "main": "lib/src/index.js", "scripts": { From 772ed1362e4ebb51ddb6777c4f294f5a782845f2 Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Tue, 12 Nov 2024 16:53:55 +0530 Subject: [PATCH 09/11] feat: add use case limit --- js/src/frameworks/cloudflare.ts | 1 + js/src/frameworks/langchain.ts | 1 + js/src/frameworks/openai.spec.ts | 10 ++++++++++ js/src/frameworks/openai.ts | 1 + js/src/sdk/base.toolset.spec.ts | 10 ++++++++++ js/src/sdk/base.toolset.ts | 4 ++-- js/src/sdk/client/types.gen.ts | 2 +- js/src/sdk/utils/error.ts | 4 +++- 8 files changed, 29 insertions(+), 4 deletions(-) diff --git a/js/src/frameworks/cloudflare.ts b/js/src/frameworks/cloudflare.ts index d599bc9a0d..e3d01288d5 100644 --- a/js/src/frameworks/cloudflare.ts +++ b/js/src/frameworks/cloudflare.ts @@ -53,6 +53,7 @@ export class CloudflareToolSet extends BaseComposioToolSet { apps?: Sequence; tags?: Optional>; useCase?: Optional; + usecaseLimit?: Optional; }): Promise> { const actions = await this.getToolsSchema(filters); return actions.map((action) => { diff --git a/js/src/frameworks/langchain.ts b/js/src/frameworks/langchain.ts index 4da8a05398..063c394b1e 100644 --- a/js/src/frameworks/langchain.ts +++ b/js/src/frameworks/langchain.ts @@ -65,6 +65,7 @@ export class LangchainToolSet extends BaseComposioToolSet { apps?: Sequence; tags?: Optional>; useCase?: Optional; + usecaseLimit?: Optional; }, entityId: Optional = null ): Promise> { diff --git a/js/src/frameworks/openai.spec.ts b/js/src/frameworks/openai.spec.ts index 9dda1bce0e..83be07e33c 100644 --- a/js/src/frameworks/openai.spec.ts +++ b/js/src/frameworks/openai.spec.ts @@ -33,6 +33,16 @@ describe("Apps class tests", () => { expect(Object.keys(tools).length).toBe(1); }); + it("should get tools with usecase limit", async () => { + const tools = await openAIToolset.getTools({ + useCase: "follow user", + apps: ["github"], + useCaseLimit: 1 + }); + + expect(tools.length).toBe(1); + }); + it("check if getTools -> actions are coming", async () => { const tools = await openAIToolset.getTools({ actions: ['GITHUB_GITHUB_API_ROOT'] diff --git a/js/src/frameworks/openai.ts b/js/src/frameworks/openai.ts index 1cdd91dc2c..3e3440fdfa 100644 --- a/js/src/frameworks/openai.ts +++ b/js/src/frameworks/openai.ts @@ -46,6 +46,7 @@ export class OpenAIToolSet extends BaseComposioToolSet { apps?: Sequence; tags?: Optional>; useCase?: Optional; + useCaseLimit?: Optional; }, entityId?: Optional ): Promise> { diff --git a/js/src/sdk/base.toolset.spec.ts b/js/src/sdk/base.toolset.spec.ts index 95d3161b03..260d5891da 100644 --- a/js/src/sdk/base.toolset.spec.ts +++ b/js/src/sdk/base.toolset.spec.ts @@ -69,4 +69,14 @@ describe("ComposioToolSet class tests", () => { }); + it("should get tools with usecase limit", async () => { + const tools = await toolset.getToolsSchema({ + useCase: "follow user", + apps: ["github"], + useCaseLimit: 1 + }); + + expect(tools.length).toBe(1); + }); + }); diff --git a/js/src/sdk/base.toolset.ts b/js/src/sdk/base.toolset.ts index b3dca5b785..ee791bbab2 100644 --- a/js/src/sdk/base.toolset.ts +++ b/js/src/sdk/base.toolset.ts @@ -129,7 +129,7 @@ export class ComposioToolSet { apps?: Array; tags?: Optional>; useCase?: Optional; - usecaseLimit?: Optional; + useCaseLimit?: Optional; }, entityId?: Optional ): Promise[0]>> { @@ -140,7 +140,7 @@ export class ComposioToolSet { ...(filters?.tags && { tags: filters?.tags?.join(",") }), ...(filters?.useCase && { useCase: filters?.useCase }), ...(filters?.actions && { actions: filters?.actions?.join(",") }), - ...(filters?.usecaseLimit && { usecaseLimit: filters?.usecaseLimit }), + ...(filters?.useCaseLimit && { usecaseLimit: filters?.useCaseLimit }), }); const localActions = new Map[0]>(); if(filters.apps && Array.isArray(filters.apps)) { diff --git a/js/src/sdk/client/types.gen.ts b/js/src/sdk/client/types.gen.ts index 75e55903b4..9e869568ad 100644 --- a/js/src/sdk/client/types.gen.ts +++ b/js/src/sdk/client/types.gen.ts @@ -2599,7 +2599,7 @@ export type ListActionsV2Data = { showEnabledOnly?: boolean; tags?: string; useCase?: string; - usecaseLimit?: number; + useCaseLimit?: number; }; }; diff --git a/js/src/sdk/utils/error.ts b/js/src/sdk/utils/error.ts index 6a987b99a6..b24a3ba87a 100644 --- a/js/src/sdk/utils/error.ts +++ b/js/src/sdk/utils/error.ts @@ -119,7 +119,9 @@ export class CEG { let axiosDataMessage = axiosError.response?.data?.message || axiosError.message; const status = axiosError.response?.status || axiosError.status || axiosError.code || 'unknown'; - const urlAndStatus = axiosError.config?.url ? `🔗 in URL: ${axiosError.config.url}, 📊 Status: ${status}` : ''; + const request_id = axiosError.response?.headers?.["x-request-id"]; + const urlAndStatus = axiosError.config?.url ? ` got 📊 ${status} response from URL🔗: ${axiosError.config.url}, request_id: ${request_id}` : ''; + axiosDataMessage = `❌ ${ifObjectStringify(axiosDataMessage) || errorDetails.description || "No additional information available."} ${urlAndStatus}`; throw new ComposioError( errorKey as string, From 7a5bcd541528a472b665f553bb16dcf44e7e468b Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Tue, 12 Nov 2024 16:59:28 +0530 Subject: [PATCH 10/11] feat: update test --- .github/workflows/run_js_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_js_test.yml b/.github/workflows/run_js_test.yml index 720c154a9b..b92c333144 100644 --- a/.github/workflows/run_js_test.yml +++ b/.github/workflows/run_js_test.yml @@ -32,7 +32,7 @@ jobs: - name: pnpm build run: cd js && pnpm build - name: run test - run: cd js && pnpm test:coverage + run: cd js && pnpm test:coverage --max-workers 16 - name: Upload `coverage` folder to R2 From c83eb17353ce684e6480eef8d0cf1eff54b69e7b Mon Sep 17 00:00:00 2001 From: Himanshu Dixit Date: Thu, 14 Nov 2024 19:18:42 +0530 Subject: [PATCH 11/11] feat: type --- js/src/sdk/client/types.gen.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/js/src/sdk/client/types.gen.ts b/js/src/sdk/client/types.gen.ts index 17375ea04f..9e869568ad 100644 --- a/js/src/sdk/client/types.gen.ts +++ b/js/src/sdk/client/types.gen.ts @@ -854,7 +854,6 @@ export type ActionExecutionResDto = { export type ConnectionParams = { integrationId: string; - labels?: Array<(string)>; connectionParams?: { [key: string]: unknown; };