From 63a9ff240df09fac016d190fc5ed2d84e26314b4 Mon Sep 17 00:00:00 2001 From: "konfig-bot[bot]" <121480725+konfig-bot[bot]@users.noreply.github.com> Date: Sun, 6 Oct 2024 19:01:58 +0000 Subject: [PATCH 1/2] Update OpenAPI Specification (composio.json) --- composio.json | 1155 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 1003 insertions(+), 152 deletions(-) diff --git a/composio.json b/composio.json index f16a339..77f7e95 100644 --- a/composio.json +++ b/composio.json @@ -1,6 +1,73 @@ { "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" + ] + }, "MagicLinkResDTO": { "properties": { "status": { @@ -210,6 +277,14 @@ "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", @@ -238,6 +313,14 @@ "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", @@ -248,7 +331,29 @@ "required": [ "email", "id", - "name" + "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": { @@ -286,6 +391,19 @@ "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", @@ -294,7 +412,9 @@ "name", "createdAt", "updatedAt", - "key" + "key", + "isHidden", + "member" ] }, "DeleteAPIKeyReqDTO": { @@ -439,30 +559,6 @@ "type": "string", "description": "Client identifier" }, - "openApiSpec": { - "type": "string", - "description": "OpenAPI specification in YAML format" - }, - "integrationYaml": { - "type": "string", - "description": "Integration details in YAML format" - }, - "enabled": { - "type": "boolean", - "description": "Whether the OpenAPI spec is enabled" - }, - "openAPISpecURL": { - "type": "string", - "description": "URL to the OpenAPI specification", - "format": "uri", - "nullable": true - }, - "integrationYAMLURL": { - "type": "string", - "description": "URL to the integration YAML", - "format": "uri", - "nullable": true - }, "lastSyncAt": { "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", "type": "string", @@ -481,14 +577,30 @@ "description": "Last update date and time", "format": "date-time" }, - "jobStatus": { + "status": { "enum": [ + "initialized", "running", - "success", - "failed" + "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", @@ -496,9 +608,6 @@ "id", "name", "clientId", - "openApiSpec", - "integrationYaml", - "enabled", "lastSyncAt", "createdAt", "updatedAt" @@ -832,6 +941,11 @@ "type": "string", "description": "Unique identifier of the connector" }, + "member": { + "$ref": "#/components/schemas/MemberInfoResDTO", + "type": "object", + "description": "Member information associated with the connector" + }, "name": { "type": "string", "description": "Name of the connector" @@ -889,6 +1003,7 @@ "_count", "connections", "id", + "member", "name", "authScheme", "createdAt", @@ -1007,6 +1122,12 @@ }, "authConfig": { "type": "object" + }, + "member": { + "items": { + "$ref": "#/components/schemas/MemberInfoResDTO" + }, + "type": "object" } }, "type": "object", @@ -1017,7 +1138,8 @@ "createdAt", "updatedAt", "appUniqueId", - "appName" + "appName", + "member" ] }, "GetConnectionsResult": { @@ -1431,6 +1553,12 @@ }, "authConfig": { "type": "object" + }, + "member": { + "items": { + "$ref": "#/components/schemas/MemberInfoResDTO" + }, + "type": "object" } }, "type": "object", @@ -1443,7 +1571,8 @@ "createdAt", "updatedAt", "appUniqueId", - "appName" + "appName", + "member" ] }, "ToggleConnectedAccountResponseDTO": { @@ -1542,6 +1671,9 @@ "appUniqueId": { "type": "string" }, + "memberInfo": { + "$ref": "#/components/schemas/MemberInfoResDTO" + }, "meta": { "$ref": "#/components/schemas/Meta" }, @@ -2788,115 +2920,452 @@ "connectionId": { "type": "string", "description": "Connection ID of the log" + }, + "logsType": { + "type": "string", + "description": "Type of the log" } }, "type": "object" - } - }, - "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 + }, + "TimePeriodReqDTO": { + "properties": { + "lastTimePeriod": { + "enum": [ + "DAY", + "WEEK", + "MONTH", + "SIX_MONTH", + "YEAR", + "FIVE_YEAR" + ], + "type": "string", + "description": "Time period to get the data for" + } }, - "responses": { - "202": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IdentifyClientResDTO" - } - } - }, - "description": "" + "type": "object" + }, + "ActionByAppDTO": { + "properties": { + "appName": { + "type": "string", + "description": "Name of the app" + }, + "totalCount": { + "type": "number", + "description": "Total count of actions for the app" } }, - "summary": "Identify client", - "tags": [ - "Auth" + "type": "object", + "required": [ + "appName", + "totalCount" ] - } - }, - "/api/v1/api_keys": { - "post": { - "operationId": "generateAPIKey", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GenerateAPIKeyReqDTO" - } - } + }, + "ActionByStatusDTO": { + "properties": { + "failed": { + "type": "number", + "description": "Count of failed actions" }, - "description": "GenerateAPIKeyReqDTO", - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIKeyResDTO" - } - } - }, - "description": "" + "success": { + "type": "number", + "description": "Count of successful actions" } }, - "summary": "Generate api key", - "tags": [ - "API-Keys" + "type": "object", + "required": [ + "failed", + "success" ] }, - "get": { - "operationId": "listAPIKeys", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/APIKeyResDTO" - }, - "type": "array" - } - } - }, - "description": "" + "ActionAnalyticsDTO": { + "properties": { + "date": { + "type": "string", + "description": "Date of the action", + "format": "date" + }, + "byApp": { + "$ref": "#/components/schemas/ActionByAppDTO", + "description": "Action counts by app" + }, + "byStatus": { + "$ref": "#/components/schemas/ActionByStatusDTO", + "description": "Action counts by status" } }, - "summary": "List api keys", - "tags": [ - "API-Keys" + "type": "object", + "required": [ + "date", + "byApp", + "byStatus" ] - } - }, - "/api/v1/api_keys/{id}": { - "delete": { - "operationId": "deleteAPIKey", + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "AnalyticsEntityDataDTO": { + "properties": { + "byConnections": { + "items": { + "$ref": "#/components/schemas/ClientUniqueUserIdCountDTO" + }, + "type": "array", + "description": "Connection counts by entity" + }, + "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" + ] + }, + "AnalyticsDataResDTO": { + "properties": { + "entity": { + "$ref": "#/components/schemas/AnalyticsEntityDataDTO", + "description": "Entity-related analytics data, providing a breakdown by connections, actions, and triggers for each entity. This is include all entity info." + }, + "actions": { + "items": { + "$ref": "#/components/schemas/ActionAnalyticsDTO" + }, + "type": "array", + "description": "Detailed action analytics data, offering a breakdown by day, status, and provider for all actions" + }, + "trigger": { + "items": { + "$ref": "#/components/schemas/ActionAnalyticsDTO" + }, + "type": "array", + "description": "Comprehensive trigger analytics data, presenting a breakdown by day, status, and provider for all triggers" + }, + "integrations": { + "items": { + "$ref": "#/components/schemas/IntegrationsWithCountsDTO" + }, + "type": "array", + "description": "Detailed integration analytics data, including a breakdown of connection count, trigger count, and request logs count for each integration" + }, + "app": { + "$ref": "#/components/schemas/AppNameCountDTO", + "description": "Comprehensive app-level analytics data, providing a breakdown of connection count, trigger count, and request logs count for each app" + } + }, + "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" + ] + }, + "CreateCheckoutSessionReqDto": { + "properties": { + "plan": { + "enum": [ + "HOBBY", + "STARTER", + "GROWTH", + "ENTERPRISE" + ], + "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", @@ -2940,51 +3409,143 @@ }, { "in": "query", - "name": "includeLocal", + "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" + ] + } + }, + "/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" + ] + } + }, + "/api/v1/apps/openapi/send_email_to_client": { + "post": { + "operationId": "AppController.sendEmailToClient", + "parameters": [ + { + "in": "query", + "name": "adminToken", + "required": false, "schema": { - "type": "string", - "description": "Whether to include local tools or not" + "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "", + "required": false + }, "responses": { "200": { "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppListResDTO" - } - } + "application/json": {} }, - "description": "" + "description": "Successful response" } }, - "summary": "Get apps", + "summary": "Send email to client", "tags": [ "Apps" - ], - "description": "Retrieve a list of all applications based on query parameters." + ] } }, - "/api/v1/apps/openapi/spec/list": { + "/api/v1/apps/openapi/spec/status/{id}": { "get": { - "operationId": "getOpenAPISpecs", + "operationId": "getOpenAPISpecStatus", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "pattern": "[^\\/#\\?]+?", + "type": "string" + } + } + ], "responses": { "200": { "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/AppListResDTO" - }, - "type": "array" - } - } + "application/json": {} }, - "description": "List of all openapi spec tools" + "description": "Successful response" } }, - "summary": "Get opena api specs", + "summary": "Get open api spec status", "tags": [ "Apps" ] @@ -3928,6 +4489,14 @@ "type": "string", "description": "Connection ID of the log" } + }, + { + "in": "query", + "name": "logsType", + "schema": { + "type": "string", + "description": "Type of the log" + } } ], "responses": { @@ -4199,6 +4768,288 @@ ], "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/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": [ From e9e1ce908a1a1e5d49267fcc90105f95860582a8 Mon Sep 17 00:00:00 2001 From: dphuang2 Date: Mon, 7 Oct 2024 09:14:32 -0700 Subject: [PATCH 2/2] add progress.yaml --- .konfig/progress.yaml | 132 ++++ openapi-fixed.json | 1481 ++++++++++++++++++++++++++++++++++------- 2 files changed, 1369 insertions(+), 244 deletions(-) diff --git a/.konfig/progress.yaml b/.konfig/progress.yaml index 795f1c4..50c7acd 100644 --- a/.konfig/progress.yaml +++ b/.konfig/progress.yaml @@ -1,10 +1,54 @@ examples: {} examples_2: {} examples_3: + /api/v1/apps/openapi/send_email_to_client: + post: + '200': + application/json: {} + /api/v1/apps/openapi/spec/delete/{id}: + delete: + '200': + application/json: {} + /api/v1/apps/openapi/spec/status/{id}: + get: + '200': + application/json: {} /api/v1/connectedAccounts/{connectedAccountId}: delete: '200': application/json: {} + /api/v1/event_logs/get/events: + get: + '200': + application/json: {} + /api/v1/event_logs/get/webhook: + get: + '200': + application/json: {} + /api/v1/event_logs/set/webhook: + post: + '200': + application/json: {} + /api/v1/payment/checkout-session/{sessionId}/status: + get: + '200': + application/json: {} + /api/v1/payment/create-checkout-session: + post: + '200': + application/json: {} + /api/v1/payment/invoices: + get: + '200': + application/json: {} + /api/v1/payment/invoices/{invoiceId}: + get: + '200': + application/json: {} + /api/v1/payment/webhook: + post: + '200': + application/json: {} ignoreObjectsWithNoProperties: true operationIds: /api/v1/actions: @@ -15,6 +59,10 @@ operationIds: get: ActionsControllerV1_get /api/v1/actions/{actionId}/execute: post: ActionsControllerV1_execute + /api/v1/analytics/: + get: Analytics_get + /api/v1/analytics/entities: + get: Analytics_getTopEntities /api/v1/api_keys: get: ApiKeys_list post: ApiKeys_generate @@ -26,14 +74,20 @@ operationIds: post: App_createCustomRepo /api/v1/apps/custom-repo/get-repo: get: App_getCustomRepo + /api/v1/apps/openapi/send_email_to_client: + post: Apps_sendEmailToClient /api/v1/apps/openapi/spec/add: post: App_addOpenApiSpec + /api/v1/apps/openapi/spec/delete/{id}: + delete: Apps_deleteOpenApiSpecTool /api/v1/apps/openapi/spec/delete/{name}: delete: App_deleteOpenApiSpecTool /api/v1/apps/openapi/spec/list: get: App_listOpenApiSpecs /api/v1/apps/openapi/spec/logs/{name}: get: App_getLogsByName + /api/v1/apps/openapi/spec/status/{id}: + get: Apps_getOpenApiSpecStatus /api/v1/apps/sync: post: App_syncCustomRepo /api/v1/apps/{appName}: @@ -74,6 +128,12 @@ operationIds: post: Connections_disable /api/v1/connectedAccounts/{connectedAccountId}/enable: post: Connections_enable + /api/v1/event_logs/get/events: + get: EventLogs_getEvents + /api/v1/event_logs/get/webhook: + get: EventLogs_getWebhook + /api/v1/event_logs/set/webhook: + post: EventLogs_updateWebhook /api/v1/integrations: get: AppConnector_listGlobalConnectors post: AppConnector_createIntegration @@ -96,6 +156,16 @@ operationIds: get: Metadata_getToggleInfo /api/v1/metadata/toggle/trigger: post: Metadata_toggleTriggerState + /api/v1/payment/checkout-session/{sessionId}/status: + get: Payment_getCheckoutSessionStatus + /api/v1/payment/create-checkout-session: + post: Payment_createCheckoutSession + /api/v1/payment/invoices: + get: Payment_getInvoices + /api/v1/payment/invoices/{invoiceId}: + get: Payment_getInvoice + /api/v1/payment/webhook: + post: Payment_handleStripeWebhook /api/v1/team/invite: post: Team_sendInvitation /api/v1/team/members: @@ -162,12 +232,18 @@ operationIds: operationTags: {} renameTags: {} requestSchemaNames: + /api/v1/apps/openapi/send_email_to_client: + post: + application/json: AppsSendEmailToClientRequest /api/v1/client/auth/google_login: post: application/json: ClientAuthGoogleLoginRequest /api/v1/client/auth/pusher_auth: post: application/json: ClientAuthAuthenticateUserRequest + /api/v1/payment/webhook: + post: + application/json: PaymentHandleStripeWebhookRequest /api/v1/triggers/handle/{appName}/{clientId}: post: application/json: TriggersHandleTriggerRequest @@ -181,14 +257,58 @@ responseSchemaNames: '200': application/json: ApiKeysListResponse text/html; charset=utf-8: ApiKeysListResponse + /api/v1/apps/openapi/send_email_to_client: + post: + '200': + application/json: AppsSendEmailToClientResponse + /api/v1/apps/openapi/spec/delete/{id}: + delete: + '200': + application/json: AppsDeleteOpenApiSpecToolResponse /api/v1/apps/openapi/spec/list: get: '200': application/json: AppListOpenApiSpecsResponse + /api/v1/apps/openapi/spec/status/{id}: + get: + '200': + application/json: AppsGetOpenApiSpecStatusResponse /api/v1/connectedAccounts/{connectedAccountId}: delete: '200': application/json: ConnectionsDeleteResponse + /api/v1/event_logs/get/events: + get: + '200': + application/json: EventLogsGetEventsResponse + /api/v1/event_logs/get/webhook: + get: + '200': + application/json: EventLogsGetWebhookResponse + /api/v1/event_logs/set/webhook: + post: + '200': + application/json: EventLogsUpdateWebhookResponse + /api/v1/payment/checkout-session/{sessionId}/status: + get: + '200': + application/json: PaymentGetCheckoutSessionStatusResponse + /api/v1/payment/create-checkout-session: + post: + '200': + application/json: PaymentCreateCheckoutSessionResponse + /api/v1/payment/invoices: + get: + '200': + application/json: PaymentGetInvoicesResponse + /api/v1/payment/invoices/{invoiceId}: + get: + '200': + application/json: PaymentGetInvoiceResponse + /api/v1/payment/webhook: + post: + '200': + application/json: PaymentHandleStripeWebhookResponse /api/v1/team/members: get: '200': @@ -207,6 +327,8 @@ responseSchemaNames: securityParameters: actions: query: false + adminToken: + query: false appNames: query: false apps: @@ -225,6 +347,8 @@ securityParameters: query: false email: query: false + endTime: + query: false endpoint: query: false entityId: @@ -239,12 +363,18 @@ securityParameters: query: false key: query: false + lastTimePeriod: + query: false limit: query: false + logsType: + query: false page: query: false pageSize: query: false + query: + query: false redirectUri: query: false search: @@ -257,6 +387,8 @@ securityParameters: query: false showEnabledOnly: query: false + startTime: + query: false status: query: false tags: diff --git a/openapi-fixed.json b/openapi-fixed.json index 5f5bce2..3c95f6c 100644 --- a/openapi-fixed.json +++ b/openapi-fixed.json @@ -3,7 +3,10 @@ "info": { "title": "Composio OpenAPI", "description": "Composio SDK: Equip your agent with high-quality tools and build your real-world usecase", - "version": "1.0.0" + "version": "1.0.0", + "x-konfig-ignore": { + "object-with-no-properties": true + } }, "servers": [ { @@ -14,12 +17,18 @@ { "name": "Triggers" }, + { + "name": "Apps" + }, { "name": "Connections" }, { "name": "Integrations" }, + { + "name": "Payment" + }, { "name": "Actions" }, @@ -27,7 +36,10 @@ "name": "API-Keys" }, { - "name": "Apps" + "name": "Event Logs" + }, + { + "name": "Analytics" }, { "name": "Auth" @@ -213,6 +225,112 @@ } } }, + "/api/v1/apps/openapi/spec/delete/{id}": { + "delete": { + "tags": [ + "Apps" + ], + "summary": "Delete open api spec tool", + "operationId": "Apps_deleteOpenApiSpecTool", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "pattern": "[^\\/#\\?]+?", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppsDeleteOpenApiSpecToolResponse" + } + } + } + } + } + } + }, + "/api/v1/apps/openapi/send_email_to_client": { + "post": { + "tags": [ + "Apps" + ], + "summary": "Send email to client", + "operationId": "Apps_sendEmailToClient", + "parameters": [ + { + "in": "query", + "name": "adminToken", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppsSendEmailToClientRequest" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppsSendEmailToClientResponse" + } + } + } + } + } + } + }, + "/api/v1/apps/openapi/spec/status/{id}": { + "get": { + "tags": [ + "Apps" + ], + "summary": "Get open api spec status", + "operationId": "Apps_getOpenApiSpecStatus", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "pattern": "[^\\/#\\?]+?", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppsGetOpenApiSpecStatusResponse" + } + } + } + } + } + } + }, "/api/v1/apps/{appName}": { "get": { "tags": [ @@ -1302,138 +1420,530 @@ } } }, - "/api/v1/logs": { + "/api/v1/analytics/entities": { "get": { "tags": [ - "Logs" + "Analytics" ], - "summary": "Get logs", - "operationId": "Logs_list", - "description": "List logs", + "summary": "Get top entities", + "operationId": "Analytics_getTopEntities", "parameters": [ { "in": "query", - "name": "type", - "schema": { - "description": "Type of the log", - "enum": [ - "error", - "info", - "debug" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "time", - "schema": { - "description": "Time interval for which data needs to be fetched", - "enum": [ - "5m", - "30m", - "6h", - "1d", - "1w", - "1month", - "1y" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "status", + "name": "query", "schema": { - "description": "Status of the log", - "enum": [ - "all", - "success", - "error" - ], + "description": "Query to get the data for", "type": "string" } - }, - { - "in": "query", - "name": "search", - "schema": { - "description": "Search term in the log", - "type": "string" + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TopEntitiesResDTO" + } + } } - }, - { - "in": "query", - "name": "integrationId", - "schema": { - "description": "Integration UUID", - "type": "string" + } + } + } + }, + "/api/v1/event_logs/set/webhook": { + "post": { + "tags": [ + "Event Logs" + ], + "summary": "Update webhook", + "operationId": "EventLogs_updateWebhook", + "requestBody": { + "description": "WebhookReqDTO", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookReqDTO" + } } }, - { - "in": "query", - "name": "entityId", - "schema": { - "description": "Entity UUID", - "type": "string" + "required": false + }, + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventLogsUpdateWebhookResponse" + } + } } - }, - { - "in": "query", - "name": "limit", - "schema": { - "description": "Limit of the logs", - "type": "number", - "default": 10 + } + } + } + }, + "/api/v1/event_logs/get/webhook": { + "get": { + "tags": [ + "Event Logs" + ], + "summary": "Get webhook", + "operationId": "EventLogs_getWebhook", + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventLogsGetWebhookResponse" + } + } } - }, + } + } + } + }, + "/api/v1/event_logs/get/events": { + "get": { + "tags": [ + "Event Logs" + ], + "summary": "Get events", + "operationId": "EventLogs_getEvents", + "description": "Fetch events from database", + "parameters": [ { "in": "query", - "name": "cursor", + "name": "startTime", + "required": true, "schema": { - "description": "Cursor for pagination", + "description": "Start time of the event in ISO 8601 format", + "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", "type": "string" } }, { "in": "query", - "name": "connectionId", + "name": "endTime", + "required": true, "schema": { - "description": "Connection ID of the log", + "description": "End time of the event in ISO 8601 format", + "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", "type": "string" } } ], "responses": { "200": { - "description": "", + "description": "Successful response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LogsResDTO" + "$ref": "#/components/schemas/EventLogsGetEventsResponse" } } } } } } - } - }, - "components": { - "schemas": { - "MagicLinkResDTO": { - "properties": { - "status": { - "type": "string" - } + }, + "/api/v1/payment/create-checkout-session": { + "post": { + "tags": [ + "Payment" + ], + "summary": "Create checkout session", + "operationId": "Payment_createCheckoutSession", + "requestBody": { + "description": "CreateCheckoutSessionReqDto", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCheckoutSessionReqDto" + } + } + }, + "required": false }, - "type": "object", - "required": [ - "status" - ] - }, - "MagicLinkReqDTO": { - "properties": { + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentCreateCheckoutSessionResponse" + } + } + } + } + } + } + }, + "/api/v1/payment/checkout-session/{sessionId}/status": { + "get": { + "tags": [ + "Payment" + ], + "summary": "Get checkout session status", + "operationId": "Payment_getCheckoutSessionStatus", + "parameters": [ + { + "in": "path", + "name": "sessionId", + "required": true, + "schema": { + "pattern": "[^\\/#\\?]+?", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentGetCheckoutSessionStatusResponse" + } + } + } + } + } + } + }, + "/api/v1/payment/invoices": { + "get": { + "tags": [ + "Payment" + ], + "summary": "Get invoices", + "operationId": "Payment_getInvoices", + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentGetInvoicesResponse" + } + } + } + } + } + } + }, + "/api/v1/payment/invoices/{invoiceId}": { + "get": { + "tags": [ + "Payment" + ], + "summary": "Get invoice", + "operationId": "Payment_getInvoice", + "parameters": [ + { + "in": "path", + "name": "invoiceId", + "required": true, + "schema": { + "pattern": "[^\\/#\\?]+?", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentGetInvoiceResponse" + } + } + } + } + } + } + }, + "/api/v1/payment/webhook": { + "post": { + "tags": [ + "Payment" + ], + "summary": "Handle stripe webhook", + "operationId": "Payment_handleStripeWebhook", + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentHandleStripeWebhookRequest" + } + } + }, + "required": false + }, + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentHandleStripeWebhookResponse" + } + } + } + } + } + } + }, + "/api/v1/logs": { + "get": { + "tags": [ + "Logs" + ], + "summary": "Get logs", + "operationId": "Logs_list", + "description": "List logs", + "parameters": [ + { + "in": "query", + "name": "type", + "schema": { + "description": "Type of the log", + "enum": [ + "error", + "info", + "debug" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "time", + "schema": { + "description": "Time interval for which data needs to be fetched", + "enum": [ + "5m", + "30m", + "6h", + "1d", + "1w", + "1month", + "1y" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "status", + "schema": { + "description": "Status of the log", + "enum": [ + "all", + "success", + "error" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "search", + "schema": { + "description": "Search term in the log", + "type": "string" + } + }, + { + "in": "query", + "name": "integrationId", + "schema": { + "description": "Integration UUID", + "type": "string" + } + }, + { + "in": "query", + "name": "entityId", + "schema": { + "description": "Entity UUID", + "type": "string" + } + }, + { + "in": "query", + "name": "limit", + "schema": { + "description": "Limit of the logs", + "type": "number", + "default": 10 + } + }, + { + "in": "query", + "name": "cursor", + "schema": { + "description": "Cursor for pagination", + "type": "string" + } + }, + { + "in": "query", + "name": "connectionId", + "schema": { + "description": "Connection ID of the log", + "type": "string" + } + }, + { + "in": "query", + "name": "logsType", + "schema": { + "description": "Type of the log", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LogsResDTO" + } + } + } + } + } + } + }, + "/api/v1/analytics": { + "get": { + "tags": [ + "Analytics" + ], + "summary": "Get analytics", + "operationId": "Analytics_get", + "parameters": [ + { + "in": "query", + "name": "lastTimePeriod", + "schema": { + "description": "Time period to get the data for", + "enum": [ + "DAY", + "WEEK", + "MONTH", + "SIX_MONTH", + "YEAR", + "FIVE_YEAR" + ], + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnalyticsDataResDTO" + } + } + } + } + } + } + } + }, + "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" + ] + }, + "MagicLinkResDTO": { + "properties": { + "status": { + "type": "string" + } + }, + "type": "object", + "required": [ + "status" + ] + }, + "MagicLinkReqDTO": { + "properties": { "email": { "description": "The email of the user", "format": "email", @@ -1630,6 +2140,14 @@ "verifyHost": { "description": "The host to verify the member", "type": "string" + }, + "role": { + "description": "The role that will be assignied to the invited user", + "enum": [ + "admin", + "developer" + ], + "type": "string" } }, "type": "object", @@ -1658,6 +2176,14 @@ "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", "type": "string" }, + "role": { + "description": "The role that is assigned to the member", + "enum": [ + "admin", + "developer" + ], + "type": "string" + }, "updatedAt": { "description": "The last update date of the member record", "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", @@ -1668,7 +2194,29 @@ "required": [ "email", "id", - "name" + "name", + "role" + ] + }, + "UpdateMemberReqDTO": { + "properties": { + "memberId": { + "description": "The uuid identifier for the member", + "type": "string" + }, + "role": { + "description": "The role that is assigned to the member", + "enum": [ + "admin", + "developer" + ], + "type": "string" + } + }, + "type": "object", + "required": [ + "memberId", + "role" ] }, "GenerateAPIKeyReqDTO": { @@ -1706,6 +2254,19 @@ "key": { "description": "The generated API key", "type": "string" + }, + "isHidden": { + "description": "Whether the API key is hidden", + "type": "boolean" + }, + "lastUsed": { + "description": "The last used date of the API key", + "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", + "type": "string" + }, + "member": { + "description": "The member of the API key", + "type": "object" } }, "type": "object", @@ -1714,7 +2275,9 @@ "name", "createdAt", "updatedAt", - "key" + "key", + "isHidden", + "member" ] }, "DeleteAPIKeyReqDTO": { @@ -1849,39 +2412,15 @@ "properties": { "id": { "description": "Unique identifier for the OpenAPI spec", - "type": "string" - }, - "name": { - "description": "Name of the OpenAPI spec", - "type": "string" - }, - "clientId": { - "description": "Client identifier", - "type": "string" - }, - "openApiSpec": { - "description": "OpenAPI specification in YAML format", - "type": "string" - }, - "integrationYaml": { - "description": "Integration details in YAML format", - "type": "string" - }, - "enabled": { - "description": "Whether the OpenAPI spec is enabled", - "type": "boolean" + "type": "string" }, - "openAPISpecURL": { - "description": "URL to the OpenAPI specification", - "type": "string", - "format": "uri", - "nullable": true + "name": { + "description": "Name of the OpenAPI spec", + "type": "string" }, - "integrationYAMLURL": { - "description": "URL to the integration YAML", - "type": "string", - "format": "uri", - "nullable": true + "clientId": { + "description": "Client identifier", + "type": "string" }, "lastSyncAt": { "description": "Last synchronization date and time", @@ -1901,12 +2440,28 @@ "type": "string", "format": "date-time" }, - "jobStatus": { + "status": { "description": "The job status of the app", "enum": [ + "initialized", "running", - "success", - "failed" + "caching", + "cancelled", + "finished", + "exited" + ], + "type": "string" + }, + "state": { + "description": "Current state of the app FSM", + "enum": [ + "preprocess", + "validate", + "prepare", + "build", + "push", + "load", + "finish" ], "type": "string" } @@ -1916,9 +2471,6 @@ "id", "name", "clientId", - "openApiSpec", - "integrationYaml", - "enabled", "lastSyncAt", "createdAt", "updatedAt" @@ -2252,6 +2804,11 @@ "description": "Unique identifier of the connector", "type": "string" }, + "member": { + "description": "Member information associated with the connector", + "$ref": "#/components/schemas/MemberInfoResDTO", + "type": "object" + }, "name": { "description": "Name of the connector", "type": "string" @@ -2309,6 +2866,7 @@ "_count", "connections", "id", + "member", "name", "authScheme", "createdAt", @@ -2427,6 +2985,12 @@ }, "authConfig": { "type": "object" + }, + "member": { + "items": { + "$ref": "#/components/schemas/MemberInfoResDTO" + }, + "type": "object" } }, "type": "object", @@ -2437,7 +3001,8 @@ "createdAt", "updatedAt", "appUniqueId", - "appName" + "appName", + "member" ] }, "GetConnectionsResult": { @@ -2851,6 +3416,12 @@ }, "authConfig": { "type": "object" + }, + "member": { + "items": { + "$ref": "#/components/schemas/MemberInfoResDTO" + }, + "type": "object" } }, "type": "object", @@ -2863,7 +3434,8 @@ "createdAt", "updatedAt", "appUniqueId", - "appName" + "appName", + "member" ] }, "ToggleConnectedAccountResponseDTO": { @@ -2962,6 +3534,9 @@ "appUniqueId": { "type": "string" }, + "memberInfo": { + "$ref": "#/components/schemas/MemberInfoResDTO" + }, "meta": { "$ref": "#/components/schemas/Meta" }, @@ -4060,157 +4635,498 @@ } ] }, - "meta": { - "$ref": "#/components/schemas/TriggerMetadata" + "meta": { + "$ref": "#/components/schemas/TriggerMetadata" + } + }, + "type": "object", + "required": [ + "id", + "connectionId", + "clientId", + "status", + "appName", + "createdAt", + "type", + "meta" + ] + }, + "ActionLogData": { + "properties": { + "id": { + "description": "The unique identifier of the action log", + "type": "string" + }, + "connectionId": { + "description": "The connection identifier associated with the action log", + "type": "string" + }, + "clientId": { + "description": "The client identifier associated with the action log", + "type": "string" + }, + "status": { + "description": "The status of the action log", + "type": "string" + }, + "appName": { + "description": "The name of the application associated with the action log", + "type": "string" + }, + "createdAt": { + "description": "The creation date and time of the action log", + "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", + "type": "string", + "format": "date-time" + }, + "type": { + "description": "The type of the log", + "type": "string", + "oneOf": [ + { + "type": "string", + "enum": [ + "action" + ] + } + ] + }, + "meta": { + "$ref": "#/components/schemas/ActionMetadata" + } + }, + "type": "object", + "required": [ + "id", + "connectionId", + "clientId", + "status", + "appName", + "createdAt", + "type", + "meta" + ] + }, + "LogsResDTO": { + "properties": { + "nextCursor": { + "description": "The cursor to get the next page of logs", + "type": "string" + }, + "data": { + "description": "Logs data", + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "data" + ] + }, + "GetLogsDTO": { + "properties": { + "type": { + "description": "Type of the log", + "enum": [ + "error", + "info", + "debug" + ], + "type": "string" + }, + "time": { + "description": "Time interval for which data needs to be fetched", + "enum": [ + "5m", + "30m", + "6h", + "1d", + "1w", + "1month", + "1y" + ], + "type": "string" + }, + "status": { + "description": "Status of the log", + "enum": [ + "all", + "success", + "error" + ], + "type": "string" + }, + "search": { + "description": "Search term in the log", + "type": "string" + }, + "integrationId": { + "description": "Integration UUID", + "type": "string" + }, + "entityId": { + "description": "Entity UUID", + "type": "string" + }, + "limit": { + "description": "Limit of the logs", + "type": "number", + "default": 10 + }, + "cursor": { + "description": "Cursor for pagination", + "type": "string" + }, + "connectionId": { + "description": "Connection ID of the log", + "type": "string" + }, + "logsType": { + "description": "Type of the log", + "type": "string" + } + }, + "type": "object" + }, + "TimePeriodReqDTO": { + "properties": { + "lastTimePeriod": { + "description": "Time period to get the data for", + "enum": [ + "DAY", + "WEEK", + "MONTH", + "SIX_MONTH", + "YEAR", + "FIVE_YEAR" + ], + "type": "string" + } + }, + "type": "object" + }, + "ActionByAppDTO": { + "properties": { + "appName": { + "description": "Name of the app", + "type": "string" + }, + "totalCount": { + "description": "Total count of actions for the app", + "type": "number" + } + }, + "type": "object", + "required": [ + "appName", + "totalCount" + ] + }, + "ActionByStatusDTO": { + "properties": { + "failed": { + "description": "Count of failed actions", + "type": "number" + }, + "success": { + "description": "Count of successful actions", + "type": "number" + } + }, + "type": "object", + "required": [ + "failed", + "success" + ] + }, + "ActionAnalyticsDTO": { + "properties": { + "date": { + "description": "Date of the action", + "type": "string", + "format": "date" + }, + "byApp": { + "description": "Action counts by app", + "$ref": "#/components/schemas/ActionByAppDTO" + }, + "byStatus": { + "description": "Action counts by status", + "$ref": "#/components/schemas/ActionByStatusDTO" + } + }, + "type": "object", + "required": [ + "date", + "byApp", + "byStatus" + ] + }, + "IntegrationsWithCountsDTO": { + "properties": { + "id": { + "description": "Unique identifier for the integration", + "type": "string" + }, + "appName": { + "description": "Name of the app", + "type": "string" + }, + "integrationName": { + "description": "Name of the integration", + "type": "string" + }, + "connectionCount": { + "description": "Count of connections for the integration", + "type": "number" + }, + "triggerCount": { + "description": "Count of triggers for the integration", + "type": "number" + }, + "requestLogsCount": { + "description": "Count of request logs for the integration", + "type": "number" + } + }, + "type": "object", + "required": [ + "id", + "appName", + "integrationName", + "connectionCount", + "triggerCount", + "requestLogsCount" + ] + }, + "AppNameCountDTO": { + "properties": { + "appName": { + "description": "Name of the app", + "type": "string" + }, + "connectionCount": { + "description": "Count of connections for the app", + "type": "number" + }, + "triggerCount": { + "description": "Count of triggers for the app", + "type": "number" + }, + "requestLogsCount": { + "description": "Count of request logs for the app", + "type": "number" } }, "type": "object", "required": [ - "id", - "connectionId", - "clientId", - "status", "appName", - "createdAt", - "type", - "meta" + "connectionCount", + "triggerCount", + "requestLogsCount" ] }, - "ActionLogData": { + "AnalyticsDataReqDTO": { "properties": { - "id": { - "description": "The unique identifier of the action log", + "lastTimePeriod": { + "description": "Time period to get the data for", + "enum": [ + "DAY", + "WEEK", + "MONTH", + "SIX_MONTH", + "YEAR", + "FIVE_YEAR" + ], "type": "string" - }, - "connectionId": { - "description": "The connection identifier associated with the action log", + } + }, + "type": "object" + }, + "ClientUniqueUserIdCountDTO": { + "properties": { + "clientUniqueUserId": { + "description": "Client unique user id", "type": "string" }, - "clientId": { - "description": "The client identifier associated with the action log", - "type": "string" + "count": { + "description": "Count of connections for the client unique user id", + "type": "number" + } + }, + "type": "object", + "required": [ + "clientUniqueUserId", + "count" + ] + }, + "AnalyticsEntityDataDTO": { + "properties": { + "byConnections": { + "description": "Connection counts by entity", + "items": { + "$ref": "#/components/schemas/ClientUniqueUserIdCountDTO" + }, + "type": "array" }, - "status": { - "description": "The status of the action log", - "type": "string" + "byActions": { + "description": "Action counts by entity", + "items": { + "$ref": "#/components/schemas/ClientUniqueUserIdCountDTO" + }, + "type": "array" }, - "appName": { - "description": "The name of the application associated with the action log", - "type": "string" + "byTriggers": { + "description": "Trigger counts by entity", + "items": { + "$ref": "#/components/schemas/ClientUniqueUserIdCountDTO" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "byConnections", + "byActions", + "byTriggers" + ] + }, + "AnalyticsDataResDTO": { + "properties": { + "entity": { + "description": "Entity-related analytics data, providing a breakdown by connections, actions, and triggers for each entity. This is include all entity info.", + "$ref": "#/components/schemas/AnalyticsEntityDataDTO" }, - "createdAt": { - "description": "The creation date and time of the action log", - "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", - "type": "string", - "format": "date-time" + "actions": { + "description": "Detailed action analytics data, offering a breakdown by day, status, and provider for all actions", + "items": { + "$ref": "#/components/schemas/ActionAnalyticsDTO" + }, + "type": "array" }, - "type": { - "description": "The type of the log", - "type": "string", - "oneOf": [ - { - "type": "string", - "enum": [ - "action" - ] - } - ] + "trigger": { + "description": "Comprehensive trigger analytics data, presenting a breakdown by day, status, and provider for all triggers", + "items": { + "$ref": "#/components/schemas/ActionAnalyticsDTO" + }, + "type": "array" }, - "meta": { - "$ref": "#/components/schemas/ActionMetadata" + "integrations": { + "description": "Detailed integration analytics data, including a breakdown of connection count, trigger count, and request logs count for each integration", + "items": { + "$ref": "#/components/schemas/IntegrationsWithCountsDTO" + }, + "type": "array" + }, + "app": { + "description": "Comprehensive app-level analytics data, providing a breakdown of connection count, trigger count, and request logs count for each app", + "$ref": "#/components/schemas/AppNameCountDTO" } }, "type": "object", "required": [ - "id", - "connectionId", - "clientId", - "status", - "appName", - "createdAt", - "type", - "meta" + "entity", + "actions", + "trigger", + "integrations", + "app" ] }, - "LogsResDTO": { + "TopEntitiesResDTO": { "properties": { - "nextCursor": { - "description": "The cursor to get the next page of logs", - "type": "string" - }, - "data": { - "description": "Logs data", + "entities": { + "description": "Top entities by connection count", "items": { - "type": "object" + "$ref": "#/components/schemas/TConnectionCountDTO" }, "type": "array" } }, "type": "object", "required": [ - "data" + "entities" ] }, - "GetLogsDTO": { + "TConnectionCountDTO": { "properties": { - "type": { - "description": "Type of the log", - "enum": [ - "error", - "info", - "debug" - ], - "type": "string" - }, - "time": { - "description": "Time interval for which data needs to be fetched", - "enum": [ - "5m", - "30m", - "6h", - "1d", - "1w", - "1month", - "1y" - ], - "type": "string" - }, - "status": { - "description": "Status of the log", - "enum": [ - "all", - "success", - "error" - ], + "clientUniqueUserId": { + "description": "Name of the entity", "type": "string" }, - "search": { - "description": "Search term in the log", + "count": { + "description": "Count of connections for the entity", + "type": "number" + } + }, + "type": "object", + "required": [ + "clientUniqueUserId", + "count" + ] + }, + "EntityQueryReqDTO": { + "properties": { + "query": { + "description": "Query to get the data for", "type": "string" - }, - "integrationId": { - "description": "Integration UUID", + } + }, + "type": "object" + }, + "WebhookReqDTO": { + "properties": { + "eventWebhookURL": { + "description": "Event Webhook URL", "type": "string" - }, - "entityId": { - "description": "Entity UUID", + } + }, + "type": "object", + "required": [ + "eventWebhookURL" + ] + }, + "FetchQueryDTO": { + "properties": { + "startTime": { + "description": "Start time of the event in ISO 8601 format", + "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", "type": "string" }, - "limit": { - "description": "Limit of the logs", - "type": "number", - "default": 10 - }, - "cursor": { - "description": "Cursor for pagination", + "endTime": { + "description": "End time of the event in ISO 8601 format", + "pattern": "\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?", "type": "string" - }, - "connectionId": { - "description": "Connection ID of the log", + } + }, + "type": "object", + "required": [ + "startTime", + "endTime" + ] + }, + "CreateCheckoutSessionReqDto": { + "properties": { + "plan": { + "enum": [ + "HOBBY", + "STARTER", + "GROWTH", + "ENTERPRISE" + ], "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "plan" + ] + }, + "AppsSendEmailToClientRequest": { + }, + "PaymentHandleStripeWebhookRequest": { }, "ApiKeysListResponse": { "items": { @@ -4224,6 +5140,27 @@ }, "type": "array" }, + "AppsDeleteOpenApiSpecToolResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "AppsSendEmailToClientResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "AppsGetOpenApiSpecStatusResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, "TriggersListResponse": { "items": { "$ref": "#/components/schemas/TriggerResDTO" @@ -4235,6 +5172,62 @@ "$ref": "#/components/schemas/SingleTriggerResDTO" }, "type": "array" + }, + "EventLogsUpdateWebhookResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "EventLogsGetWebhookResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "EventLogsGetEventsResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "PaymentCreateCheckoutSessionResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "PaymentGetCheckoutSessionStatusResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "PaymentGetInvoicesResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "PaymentGetInvoiceResponse": { + "type": "object", + "properties": { + }, + "example": { + } + }, + "PaymentHandleStripeWebhookResponse": { + "type": "object", + "properties": { + }, + "example": { + } } }, "securitySchemes": {