Virto Commerce Event Bus module API

The module enables you to be notified of new messages or changes via a Message Queue of your choice

Operations 12

POST /api/eventbus/connections/search Search for existing connections #
GET /api/eventbus/connections/{name} Get existing connection #
DELETE /api/eventbus/connections/{name} Delete existing connection by name (DB-registered only) #
POST /api/eventbus/connections Create new provider connection in the database #
PUT /api/eventbus/connections Update existing connection (DB-registered only) #
POST /api/eventbus/logs/search Search for provider connection logs/fails #
GET /api/eventbus/events Enlist all domain events page by page #
POST /api/eventbus/subscriptions/search Search for existing subscriptions (DB registered + configuration registered) #
GET /api/eventbus/subscriptions/{name} Get specific subscription by name #
DELETE /api/eventbus/subscriptions/{name} Delete existing subscription by name (DB-registered only) #
POST /api/eventbus/subscriptions Register new subscription in the database #
PUT /api/eventbus/subscriptions Update existing subscription (DB-registered only) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/virto-commerce-event-bus-module-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

virto-commerce-event-bus-module-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Virto Commerce Event Bus Event Bus module API
  version: v1
  description: Forward platform domain events to an external message queue (e.g. Azure Event Grid) as CloudEvents, with JsonPath filtering and Liquid payload transformation.
servers:
- url: https://virtostart-demo-admin.govirto.com/api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Event Bus module
  description: The module enables you to be notified of new messages or changes via a Message Queue of your choice
paths:
  /api/eventbus/connections/search:
    post:
      tags:
      - Event Bus module
      summary: Search for existing connections
      operationId: Connections_SearchConnections
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionSearchCriteria'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionSearchCriteria'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionSearchCriteria'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProviderConnectionSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderConnectionSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/ProviderConnectionSearchResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:read
      - api_key:
        - eventbus:subscriptions:read
      - api_key_header:
        - eventbus:subscriptions:read
      - http-signature:
        - eventbus:subscriptions:read
      - basic:
        - eventbus:subscriptions:read
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/connections/{name}:
    get:
      tags:
      - Event Bus module
      summary: Get existing connection
      operationId: Connections_GetConnectionByName
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProviderConnection'
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderConnection'
            text/json:
              schema:
                $ref: '#/components/schemas/ProviderConnection'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:read
      - api_key:
        - eventbus:subscriptions:read
      - api_key_header:
        - eventbus:subscriptions:read
      - http-signature:
        - eventbus:subscriptions:read
      - basic:
        - eventbus:subscriptions:read
      x-virtocommerce-module-id: VirtoCommerce.EventBus
    delete:
      tags:
      - Event Bus module
      summary: Delete existing connection by name (DB-registered only)
      operationId: Connections_DeleteConnection
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:delete
      - api_key:
        - eventbus:subscriptions:delete
      - api_key_header:
        - eventbus:subscriptions:delete
      - http-signature:
        - eventbus:subscriptions:delete
      - basic:
        - eventbus:subscriptions:delete
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/connections:
    post:
      tags:
      - Event Bus module
      summary: Create new provider connection in the database
      operationId: Connections_CreateConnection
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionRequest'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionRequest'
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:сreate
      - api_key:
        - eventbus:subscriptions:сreate
      - api_key_header:
        - eventbus:subscriptions:сreate
      - http-signature:
        - eventbus:subscriptions:сreate
      - basic:
        - eventbus:subscriptions:сreate
      x-virtocommerce-module-id: VirtoCommerce.EventBus
    put:
      tags:
      - Event Bus module
      summary: Update existing connection (DB-registered only)
      operationId: Connections_UpdateConnection
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionRequest'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionRequest'
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:update
      - api_key:
        - eventbus:subscriptions:update
      - api_key_header:
        - eventbus:subscriptions:update
      - http-signature:
        - eventbus:subscriptions:update
      - basic:
        - eventbus:subscriptions:update
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/logs/search:
    post:
      tags:
      - Event Bus module
      summary: Search for provider connection logs/fails
      operationId: ConnectionsLog_SearchProviderConnectionLog
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionLogSearchCriteria'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionLogSearchCriteria'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ProviderConnectionLogSearchCriteria'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProviderConnectionLogSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderConnectionLogSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/ProviderConnectionLogSearchResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:сreate
      - api_key:
        - eventbus:subscriptions:сreate
      - api_key_header:
        - eventbus:subscriptions:сreate
      - http-signature:
        - eventbus:subscriptions:сreate
      - basic:
        - eventbus:subscriptions:сreate
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/events:
    get:
      tags:
      - Event Bus module
      summary: Enlist all domain events page by page
      operationId: Subscriptions_Get
      parameters:
      - name: skip
        in: query
        description: ''
        schema:
          type: integer
          format: int32
      - name: take
        in: query
        description: ''
        schema:
          type: integer
          format: int32
          default: 20
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  type: string
            application/json:
              schema:
                type: array
                items:
                  type: string
            text/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:events:read
      - api_key:
        - eventbus:events:read
      - api_key_header:
        - eventbus:events:read
      - http-signature:
        - eventbus:events:read
      - basic:
        - eventbus:events:read
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/subscriptions/search:
    post:
      tags:
      - Event Bus module
      summary: Search for existing subscriptions (DB registered + configuration registered)
      operationId: Subscriptions_SearchSubscriptions
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionSearchCriteria'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionSearchCriteria'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionSearchCriteria'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/SubscriptionSearchResult'
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionSearchResult'
            text/json:
              schema:
                $ref: '#/components/schemas/SubscriptionSearchResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:read
      - api_key:
        - eventbus:subscriptions:read
      - api_key_header:
        - eventbus:subscriptions:read
      - http-signature:
        - eventbus:subscriptions:read
      - basic:
        - eventbus:subscriptions:read
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/subscriptions/{name}:
    get:
      tags:
      - Event Bus module
      summary: Get specific subscription by name
      operationId: Subscriptions_GetSubscriptionById
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Subscription'
            application/json:
              schema:
                $ref: '#/components/schemas/Subscription'
            text/json:
              schema:
                $ref: '#/components/schemas/Subscription'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:read
      - api_key:
        - eventbus:subscriptions:read
      - api_key_header:
        - eventbus:subscriptions:read
      - http-signature:
        - eventbus:subscriptions:read
      - basic:
        - eventbus:subscriptions:read
      x-virtocommerce-module-id: VirtoCommerce.EventBus
    delete:
      tags:
      - Event Bus module
      summary: Delete existing subscription by name (DB-registered only)
      operationId: Subscriptions_DeleteSubscription
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:delete
      - api_key:
        - eventbus:subscriptions:delete
      - api_key_header:
        - eventbus:subscriptions:delete
      - http-signature:
        - eventbus:subscriptions:delete
      - basic:
        - eventbus:subscriptions:delete
      x-virtocommerce-module-id: VirtoCommerce.EventBus
  /api/eventbus/subscriptions:
    post:
      tags:
      - Event Bus module
      summary: Register new subscription in the database
      operationId: Subscriptions_CreateSubscription
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionRequest'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionRequest'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:сreate
      - api_key:
        - eventbus:subscriptions:сreate
      - api_key_header:
        - eventbus:subscriptions:сreate
      - http-signature:
        - eventbus:subscriptions:сreate
      - basic:
        - eventbus:subscriptions:сreate
      x-virtocommerce-module-id: VirtoCommerce.EventBus
    put:
      tags:
      - Event Bus module
      summary: Update existing subscription (DB-registered only)
      operationId: Subscriptions_UpdateSubscription
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionRequest'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionRequest'
          text/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/SubscriptionRequest'
      responses:
        '200':
          description: OK
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - oauth2:
        - eventbus:subscriptions:update
      - api_key:
        - eventbus:subscriptions:update
      - api_key_header:
        - eventbus:subscriptions:update
      - http-signature:
        - eventbus:subscriptions:update
      - basic:
        - eventbus:subscriptions:update
      x-virtocommerce-module-id: VirtoCommerce.EventBus
components:
  schemas:
    ProviderConnectionRequest:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        providerName:
          type:
          - string
          - 'null'
        connectionOptionsSerialized:
          type:
          - string
          - 'null'
      additionalProperties: false
    ProviderConnectionSearchResult:
      type: object
      properties:
        totalCount:
          type: integer
          format: int32
        results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProviderConnection'
      additionalProperties: false
    SubscriptionRequest:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        connectionName:
          type:
          - string
          - 'null'
        jsonPathFilter:
          type:
          - string
          - 'null'
        payloadTransformationTemplate:
          type:
          - string
          - 'null'
        eventSettingsSerialized:
          type:
          - string
          - 'null'
        events:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SubscriptionEventRequest'
      additionalProperties: false
    SubscriptionSearchResult:
      type: object
      properties:
        totalCount:
          type: integer
          format: int32
        results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/Subscription'
      additionalProperties: false
    ProviderConnectionLogSearchCriteria:
      type: object
      properties:
        providerConnectionName:
          type:
          - string
          - 'null'
        startCreatedDate:
          type:
          - string
          - 'null'
          format: date-time
        endCreatedDate:
          type:
          - string
          - 'null'
          format: date-time
        responseGroup:
          type:
          - string
          - 'null'
        objectType:
          type:
          - string
          - 'null'
        objectTypes:
          type:
          - array
          - 'null'
          items:
            type: string
        objectIds:
          type:
          - array
          - 'null'
          items:
            type: string
        keyword:
          type:
          - string
          - 'null'
        searchPhrase:
          type:
          - string
          - 'null'
        languageCode:
          type:
          - string
          - 'null'
        sort:
          type:
          - string
          - 'null'
        sortInfos:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SortInfo'
          readOnly: true
        skip:
          type: integer
          format: int32
        take:
          type: integer
          format: int32
      additionalProperties: false
    SortInfo:
      type: object
      properties:
        sortColumn:
          type:
          - string
          - 'null'
        sortDirection:
          allOf:
          - $ref: '#/components/schemas/SortDirection'
      additionalProperties: false
    SubscriptionEventRequest:
      type: object
      properties:
        eventId:
          type:
          - string
          - 'null'
      additionalProperties: false
    ProviderConnectionLog:
      type: object
      properties:
        providerName:
          type:
          - string
          - 'null'
        status:
          type: integer
          format: int32
        errorMessage:
          type:
          - string
          - 'null'
        errorPayload:
          type:
          - string
          - 'null'
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type:
          - string
          - 'null'
          format: date-time
        createdBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        modifiedBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        id:
          type:
          - string
          - 'null'
      additionalProperties: false
    SubscriptionSearchCriteria:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        connectionName:
          type:
          - string
          - 'null'
        eventIds:
          type:
          - array
          - 'null'
          items:
            type: string
        responseGroup:
          type:
          - string
          - 'null'
        objectType:
          type:
          - string
          - 'null'
        objectTypes:
          type:
          - array
          - 'null'
          items:
            type: string
        objectIds:
          type:
          - array
          - 'null'
          items:
            type: string
        keyword:
          type:
          - string
          - 'null'
        searchPhrase:
          type:
          - string
          - 'null'
        languageCode:
          type:
          - string
          - 'null'
        sort:
          type:
          - string
          - 'null'
        sortInfos:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SortInfo'
          readOnly: true
        skip:
          type: integer
          format: int32
        take:
          type: integer
          format: int32
      additionalProperties: false
    Subscription:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        connectionName:
          type:
          - string
          - 'null'
        jsonPathFilter:
          type:
          - string
          - 'null'
        payloadTransformationTemplate:
          type:
          - string
          - 'null'
        eventSettingsSerialized:
          type:
          - string
          - 'null'
        events:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SubscriptionEvent'
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type:
          - string
          - 'null'
          format: date-time
        createdBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        modifiedBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        id:
          type:
          - string
          - 'null'
      additionalProperties: false
    ProviderConnectionLogSearchResult:
      type: object
      properties:
        totalCount:
          type: integer
          format: int32
        results:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ProviderConnectionLog'
      additionalProperties: false
    SortDirection:
      enum:
      - Ascending
      - Descending
      type: string
    ProviderConnection:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        providerName:
          type:
          - string
          - 'null'
        connectionOptionsSerialized:
          type:
          - string
          - 'null'
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type:
          - string
          - 'null'
          format: date-time
        createdBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        modifiedBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        id:
          type:
          - string
          - 'null'
      additionalProperties: false
    ProviderConnectionSearchCriteria:
      type: object
      properties:
        name:
          type:
          - string
          - 'null'
        providerName:
          type:
          - string
          - 'null'
        responseGroup:
          type:
          - string
          - 'null'
        objectType:
          type:
          - string
          - 'null'
        objectTypes:
          type:
          - array
          - 'null'
          items:
            type: string
        objectIds:
          type:
          - array
          - 'null'
          items:
            type: string
        keyword:
          type:
          - string
          - 'null'
        searchPhrase:
          type:
          - string
          - 'null'
        languageCode:
          type:
          - string
          - 'null'
        sort:
          type:
          - string
          - 'null'
        sortInfos:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/SortInfo'
          readOnly: true
        skip:
          type: integer
          format: int32
        take:
          type: integer
          format: int32
      additionalProperties: false
    SubscriptionEvent:
      type: object
      properties:
        subscriptionId:
          type:
          - string
          - 'null'
        eventId:
          type:
          - string
          - 'null'
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type:
          - string
          - 'null'
          format: date-time
        createdBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        modifiedBy:
          maxLength: 64
          minLength: 0
          type:
          - string
          - 'null'
        id:
          type:
          - string
          - 'null'
      additionalProperties: false
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth2 Resource Owner Password Grant flow
      flows:
        password:
          tokenUrl: /connect/token
          scopes: {}
        clientCredentials:
          tokenUrl: /connect/token
          scopes: {}
    api_key:
      type: apiKey
      description: API Key authentication
      name: api_key
      in: query
    api_key_header:
      type: apiKey
      description: API Key authentication (alternative via header)
      name: api_key
      in: header
    http-signature:
      type: http
      description: HTTP Signature authentication using Authorization header
      scheme: signature
    basic:
      type: http
      description: Basic authentication using username and password
      scheme: basic