Elastic.io · AsyncAPI Specification

elastic.io Platform Events API

Version 1.0.0

The elastic.io Platform Events API describes the asynchronous event-driven interactions of the elastic.io iPaaS platform. This includes webhook triggers that initiate integration flows when external systems send HTTP requests, pub/sub topic messaging for inter-flow communication, and platform event notifications for flow execution lifecycle, error handling, and workspace activity.

View Spec View on GitHub IntegrationsiPaaSSaaS IntegrationAsyncAPIWebhooksEvents

Channels

webhook/flow/{flowId}
publish receiveWebhookTrigger
Receive a webhook trigger
Inbound webhook channel that triggers a specific integration flow when an external system sends an HTTP request.
topic/{topicName}
publish publishToTopic
Publish a message to a topic
Pub/sub topic channel for inter-flow messaging. Flows can publish messages to a topic, and other flows subscribed to the same topic will receive and process them.
flow/{flowId}/execution
subscribe receiveExecutionEvent
Receive flow execution events
Channel for flow execution lifecycle events including start, completion, and failure notifications.
flow/{flowId}/error
subscribe receiveFlowError
Receive flow error events
Channel for flow error events emitted when a step within an integration flow encounters a processing error.
workspace/{workspaceId}/activity
subscribe receiveWorkspaceActivity
Receive workspace activity events
Channel for workspace-level activity events such as flow creation, updates, deletion, and membership changes.

Messages

WebhookTriggerMessage
Webhook Trigger Message
An inbound HTTP payload that triggers an integration flow.
TopicMessage
Topic Message
A message published to or received from a pub/sub topic.
FlowExecutionEvent
Flow Execution Event
Lifecycle event for flow execution status changes.
FlowErrorEvent
Flow Error Event
Error event emitted when a flow step encounters a failure.
WorkspaceActivityEvent
Workspace Activity Event
Activity event tracking changes within a workspace.

Servers

https
webhooks https://in.elastic.io
Webhook trigger endpoint that receives inbound HTTP requests to start integration flows.
https
platform https://api.elastic.io
Platform event notifications for flow executions, errors, and lifecycle events.
amqp
amqp amqp://mq.elastic.io
AMQP message broker used for internal pub/sub topic messaging between integration flows.

AsyncAPI Specification

Raw ↑
asyncapi: '2.6.0'
info:
  title: elastic.io Platform Events API
  version: 1.0.0
  description: >-
    The elastic.io Platform Events API describes the asynchronous event-driven
    interactions of the elastic.io iPaaS platform. This includes webhook
    triggers that initiate integration flows when external systems send HTTP
    requests, pub/sub topic messaging for inter-flow communication, and
    platform event notifications for flow execution lifecycle, error handling,
    and workspace activity.
  contact:
    name: elastic.io
    url: https://www.elastic.io/
  license:
    name: Proprietary
    url: https://www.elastic.io/

servers:
  webhooks:
    url: https://in.elastic.io
    protocol: https
    description: >-
      Webhook trigger endpoint that receives inbound HTTP requests to
      start integration flows.
  platform:
    url: https://api.elastic.io
    protocol: https
    description: >-
      Platform event notifications for flow executions, errors, and
      lifecycle events.
  amqp:
    url: amqp://mq.elastic.io
    protocol: amqp
    description: >-
      AMQP message broker used for internal pub/sub topic messaging
      between integration flows.

channels:
  webhook/flow/{flowId}:
    description: >-
      Inbound webhook channel that triggers a specific integration flow
      when an external system sends an HTTP request.
    parameters:
      flowId:
        description: The unique identifier of the integration flow to trigger.
        schema:
          type: string
          format: uuid
    publish:
      operationId: receiveWebhookTrigger
      summary: Receive a webhook trigger
      description: >-
        External systems publish HTTP payloads to this channel to trigger
        an integration flow execution.
      message:
        $ref: '#/components/messages/WebhookTriggerMessage'

  topic/{topicName}:
    description: >-
      Pub/sub topic channel for inter-flow messaging. Flows can publish
      messages to a topic, and other flows subscribed to the same topic
      will receive and process them.
    parameters:
      topicName:
        description: The name of the pub/sub topic.
        schema:
          type: string
    publish:
      operationId: publishToTopic
      summary: Publish a message to a topic
      description: >-
        An integration flow publishes a message to a named topic for
        consumption by subscribing flows.
      message:
        $ref: '#/components/messages/TopicMessage'
    subscribe:
      operationId: subscribeToTopic
      summary: Receive a message from a topic
      description: >-
        An integration flow subscribes to a named topic and receives
        messages published by other flows.
      message:
        $ref: '#/components/messages/TopicMessage'

  flow/{flowId}/execution:
    description: >-
      Channel for flow execution lifecycle events including start,
      completion, and failure notifications.
    parameters:
      flowId:
        description: The unique identifier of the integration flow.
        schema:
          type: string
          format: uuid
    subscribe:
      operationId: receiveExecutionEvent
      summary: Receive flow execution events
      description: >-
        Subscribe to execution lifecycle events for a specific flow,
        including started, completed, and failed statuses.
      message:
        $ref: '#/components/messages/FlowExecutionEvent'

  flow/{flowId}/error:
    description: >-
      Channel for flow error events emitted when a step within an
      integration flow encounters a processing error.
    parameters:
      flowId:
        description: The unique identifier of the integration flow.
        schema:
          type: string
          format: uuid
    subscribe:
      operationId: receiveFlowError
      summary: Receive flow error events
      description: >-
        Subscribe to error events for a specific integration flow to
        monitor failures and trigger alerting.
      message:
        $ref: '#/components/messages/FlowErrorEvent'

  workspace/{workspaceId}/activity:
    description: >-
      Channel for workspace-level activity events such as flow creation,
      updates, deletion, and membership changes.
    parameters:
      workspaceId:
        description: The unique identifier of the workspace.
        schema:
          type: string
          format: uuid
    subscribe:
      operationId: receiveWorkspaceActivity
      summary: Receive workspace activity events
      description: >-
        Subscribe to activity events within a workspace to track
        changes to flows, credentials, and members.
      message:
        $ref: '#/components/messages/WorkspaceActivityEvent'

components:
  messages:
    WebhookTriggerMessage:
      name: WebhookTriggerMessage
      title: Webhook Trigger Message
      summary: An inbound HTTP payload that triggers an integration flow.
      contentType: application/json
      payload:
        type: object
        properties:
          headers:
            type: object
            description: HTTP headers from the inbound webhook request.
            additionalProperties:
              type: string
          body:
            type: object
            description: The parsed JSON body of the webhook request.
          queryParameters:
            type: object
            description: Query string parameters from the webhook URL.
            additionalProperties:
              type: string
          method:
            type: string
            description: The HTTP method of the inbound request.
            enum:
              - GET
              - POST
              - PUT
              - PATCH
              - DELETE

    TopicMessage:
      name: TopicMessage
      title: Topic Message
      summary: A message published to or received from a pub/sub topic.
      contentType: application/json
      payload:
        type: object
        required:
          - id
          - topicName
          - data
        properties:
          id:
            type: string
            format: uuid
            description: Unique identifier for this message.
          topicName:
            type: string
            description: The name of the topic this message belongs to.
          data:
            type: object
            description: The message payload data.
          metadata:
            type: object
            properties:
              publishedAt:
                type: string
                format: date-time
                description: Timestamp when the message was published.
              sourceFlowId:
                type: string
                format: uuid
                description: The flow that published this message.
              correlationId:
                type: string
                description: Correlation ID for tracing message chains.

    FlowExecutionEvent:
      name: FlowExecutionEvent
      title: Flow Execution Event
      summary: Lifecycle event for flow execution status changes.
      contentType: application/json
      payload:
        type: object
        required:
          - executionId
          - flowId
          - status
          - timestamp
        properties:
          executionId:
            type: string
            format: uuid
            description: Unique identifier for this execution.
          flowId:
            type: string
            format: uuid
            description: The flow being executed.
          status:
            type: string
            enum:
              - started
              - completed
              - failed
              - suspended
            description: Current execution status.
          timestamp:
            type: string
            format: date-time
            description: Timestamp of the status change.
          duration:
            type: integer
            description: Execution duration in milliseconds (when completed).
          stepCount:
            type: integer
            description: Number of steps executed.

    FlowErrorEvent:
      name: FlowErrorEvent
      title: Flow Error Event
      summary: Error event emitted when a flow step encounters a failure.
      contentType: application/json
      payload:
        type: object
        required:
          - executionId
          - flowId
          - stepId
          - error
          - timestamp
        properties:
          executionId:
            type: string
            format: uuid
            description: The execution during which the error occurred.
          flowId:
            type: string
            format: uuid
            description: The flow that encountered the error.
          stepId:
            type: string
            description: The step within the flow that failed.
          error:
            type: object
            properties:
              name:
                type: string
                description: Error type name.
              message:
                type: string
                description: Human-readable error message.
              stack:
                type: string
                description: Error stack trace if available.
          timestamp:
            type: string
            format: date-time
            description: Timestamp when the error occurred.
          retryable:
            type: boolean
            description: Whether the failed step can be retried.

    WorkspaceActivityEvent:
      name: WorkspaceActivityEvent
      title: Workspace Activity Event
      summary: Activity event tracking changes within a workspace.
      contentType: application/json
      payload:
        type: object
        required:
          - eventId
          - workspaceId
          - activityType
          - resourceType
          - timestamp
        properties:
          eventId:
            type: string
            format: uuid
            description: Unique identifier for this activity event.
          workspaceId:
            type: string
            format: uuid
            description: The workspace where the activity occurred.
          activityType:
            type: string
            enum:
              - created
              - updated
              - deleted
              - started
              - stopped
            description: Type of activity that occurred.
          resourceType:
            type: string
            enum:
              - flow
              - credential
              - component
              - member
              - recipe
            description: Type of resource affected.
          resourceId:
            type: string
            description: Identifier of the affected resource.
          userId:
            type: string
            format: uuid
            description: The user who performed the action.
          timestamp:
            type: string
            format: date-time
            description: Timestamp of the activity.