openapi: 3.0.3 info: title: Apifuse API description: >- The Apifuse API enables developers to programmatically manage embedded integrations, connectors, workflows, and user authentication within their SaaS applications. Build native integration marketplaces and manage the complete embedded integration lifecycle. version: "1.0" contact: name: Apifuse url: https://apifuse.io/ termsOfService: https://apifuse.io/terms x-generated-from: documentation servers: - url: https://api.apifuse.io description: Apifuse Production API security: - apiKeyAuth: [] tags: - name: Integrations description: Manage and configure embedded integrations. - name: Connectors description: Available connectors and their configurations. - name: Workflows description: Create and manage integration workflows. - name: Users description: User authentication and management. - name: Analytics description: Integration usage analytics and monitoring. paths: /integrations: get: operationId: listIntegrations summary: Apifuse List Integrations description: Returns a list of all available integrations in the marketplace. tags: - Integrations parameters: - name: category in: query description: Filter integrations by category (e.g., CRM, Accounting). schema: type: string - name: page in: query description: Page number for pagination. schema: type: integer default: 1 - name: limit in: query description: Number of results per page. schema: type: integer default: 20 responses: '200': description: List of integrations. content: application/json: schema: $ref: '#/components/schemas/IntegrationList' examples: ListIntegrations200Example: summary: Default listIntegrations 200 response x-microcks-default: true value: data: - id: "int-001" name: Salesforce category: CRM status: active total: 1 page: 1 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /integrations/{integrationId}: get: operationId: getIntegration summary: Apifuse Get Integration description: Returns details for a specific integration. tags: - Integrations parameters: - name: integrationId in: path required: true description: Unique identifier of the integration. schema: type: string responses: '200': description: Integration details. content: application/json: schema: $ref: '#/components/schemas/Integration' examples: GetIntegration200Example: summary: Default getIntegration 200 response x-microcks-default: true value: id: "int-001" name: Salesforce category: CRM status: active description: CRM integration for managing leads and contacts. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /connectors: get: operationId: listConnectors summary: Apifuse List Connectors description: Returns a list of all pre-built connectors available on the platform. tags: - Connectors parameters: - name: category in: query description: Filter connectors by category. schema: type: string responses: '200': description: List of connectors. content: application/json: schema: $ref: '#/components/schemas/ConnectorList' examples: ListConnectors200Example: summary: Default listConnectors 200 response x-microcks-default: true value: data: - id: "conn-salesforce" name: Salesforce category: CRM authType: oauth2 total: 1 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workflows: get: operationId: listWorkflows summary: Apifuse List Workflows description: Returns all integration workflows configured in the account. tags: - Workflows responses: '200': description: List of workflows. content: application/json: schema: $ref: '#/components/schemas/WorkflowList' examples: ListWorkflows200Example: summary: Default listWorkflows 200 response x-microcks-default: true value: data: - id: "wf-001" name: Lead Sync status: active triggerType: webhook total: 1 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createWorkflow summary: Apifuse Create Workflow description: Creates a new integration workflow. tags: - Workflows requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkflowCreate' examples: CreateWorkflowRequestExample: summary: Default createWorkflow request x-microcks-default: true value: name: Lead Sync triggerType: webhook steps: - type: action connector: salesforce action: createLead responses: '201': description: Workflow created successfully. content: application/json: schema: $ref: '#/components/schemas/Workflow' examples: CreateWorkflow201Example: summary: Default createWorkflow 201 response x-microcks-default: true value: id: "wf-002" name: Lead Sync status: active triggerType: webhook '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /users: get: operationId: listUsers summary: Apifuse List Users description: Returns all users who have connected integrations. tags: - Users responses: '200': description: List of users. content: application/json: schema: $ref: '#/components/schemas/UserList' examples: ListUsers200Example: summary: Default listUsers 200 response x-microcks-default: true value: data: - id: "user-001" email: jsmith@example.com connectedIntegrations: 3 total: 1 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /analytics: get: operationId: getAnalytics summary: Apifuse Get Analytics description: Returns usage analytics and task counts for integrations. tags: - Analytics parameters: - name: startDate in: query description: Start date for analytics period (ISO 8601 date). schema: type: string format: date - name: endDate in: query description: End date for analytics period (ISO 8601 date). schema: type: string format: date responses: '200': description: Analytics data. content: application/json: schema: $ref: '#/components/schemas/Analytics' examples: GetAnalytics200Example: summary: Default getAnalytics 200 response x-microcks-default: true value: totalTasks: 15420 activeIntegrations: 12 activeUsers: 87 period: startDate: "2026-03-01" endDate: "2026-04-01" '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: apiKeyAuth: type: apiKey in: header name: X-API-Key description: API key for authenticating requests to the Apifuse API. schemas: Integration: type: object description: An embedded integration available in the marketplace. properties: id: type: string description: Unique identifier of the integration. example: "int-001" name: type: string description: Display name of the integration. example: Salesforce category: type: string description: Category of the integration. example: CRM status: type: string enum: [active, inactive, beta] description: Current status of the integration. example: active description: type: string description: Description of what the integration does. IntegrationList: type: object properties: data: type: array items: $ref: '#/components/schemas/Integration' total: type: integer page: type: integer Connector: type: object description: A pre-built connector for a specific platform. properties: id: type: string description: Unique identifier of the connector. example: "conn-salesforce" name: type: string description: Display name of the connector. example: Salesforce category: type: string description: Category of the connector. example: CRM authType: type: string enum: [oauth2, apikey, basic] description: Authentication type used by this connector. example: oauth2 ConnectorList: type: object properties: data: type: array items: $ref: '#/components/schemas/Connector' total: type: integer Workflow: type: object description: An integration workflow. properties: id: type: string description: Unique identifier of the workflow. example: "wf-001" name: type: string description: Name of the workflow. example: Lead Sync status: type: string enum: [active, inactive, draft] description: Current status of the workflow. example: active triggerType: type: string enum: [polling, realtime, scheduled, webhook] description: Type of trigger that activates the workflow. example: webhook WorkflowCreate: type: object description: Request body for creating a workflow. required: - name - triggerType properties: name: type: string description: Name of the workflow. triggerType: type: string enum: [polling, realtime, scheduled, webhook] description: Type of trigger for the workflow. steps: type: array description: Steps in the workflow. items: type: object WorkflowList: type: object properties: data: type: array items: $ref: '#/components/schemas/Workflow' total: type: integer User: type: object description: A user who has connected integrations. properties: id: type: string description: Unique identifier of the user. example: "user-001" email: type: string format: email description: Email address of the user. example: jsmith@example.com connectedIntegrations: type: integer description: Number of integrations connected by this user. example: 3 UserList: type: object properties: data: type: array items: $ref: '#/components/schemas/User' total: type: integer Analytics: type: object description: Usage analytics for integrations. properties: totalTasks: type: integer description: Total number of tasks executed. example: 15420 activeIntegrations: type: integer description: Number of active integrations. example: 12 activeUsers: type: integer description: Number of active users. example: 87 period: type: object properties: startDate: type: string format: date endDate: type: string format: date Error: type: object description: Standard error response. properties: error: type: string description: Error code. message: type: string description: Human-readable error message. responses: Unauthorized: description: Authentication failed. API key is missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error'