Apifuse API

The Apifuse API enables developers to programmatically manage embedded integrations, connectors, workflows, and user authentication within their SaaS applications. Build and monitor native integration marketplaces with full programmatic control over the integration lifecycle.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

apifuse-api.yaml Raw ↑
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: [email protected]
                        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: [email protected]
        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'