Event Notifications Polling 2.0

Event Notifications Polling — OpenAPI 3.0.1 contract published by Fenergo for the eventnotifications service of the Fen-X SaaS platform, carrying 4 path(s) and 4 operation(s). Harvested verbatim from Fenergo's own published specification endpoint.

Operations 4

PUT /v2/{feedId}/discardAll Discards all messages in queue for specific feed #
GET /v2/{feedId}/next Get the next batch of event notifications. #
GET /v2/event-notification-types List all available event notification types. #
POST /v2/{feedId}/{batchId}/complete Marks a batch as complete.

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/eventnotifications-v2-0"
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

fenergo-eventnotifications-v2-0-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "Event Notifications Polling",
    "description": "An API to retrieve event notifications in batches and mark them complete after processing. \n\nEach tenant can have multiple feeds. By default there is an 'all' feed (i.e. /v1/all/next) that will contain all notifications and a feed per event source (i.e. /v1/entitydata/next). \n\nIt is expected there will be a single logical consumer per feed. If fan-out handling is desired, this shouldbe done on the consumer side. As is the case with messaging based systems, this is at-least once delivery with best effort ordering.",
    "version": "2.0"
  },
  "servers": [
    {
      "url": "/eventnotifications"
    }
  ],
  "paths": {
    "/v2/{feedId}/discardAll": {
      "put": {
        "tags": [
          "EventNotifications"
        ],
        "summary": "Discards all messages in queue for specific feed",
        "operationId": "DiscardAll",
        "parameters": [
          {
            "name": "feedId",
            "in": "path",
            "description": "The feed identifier. Each tenant has by default 'all' feed which contains all notifications and feed per specific event source (i.e. document, entitydata, journey, screening)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-TENANT-ID",
            "in": "header",
            "description": "The UiD of the tenant representing organization",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "b11f8be3-f29b-4959-8964-956d4af7c468"
          }
        ],
        "responses": {
          "200": {
            "description": "Messages discarded correctly"
          }
        }
      }
    },
    "/v2/{feedId}/next": {
      "get": {
        "tags": [
          "EventNotifications"
        ],
        "summary": "Get the next batch of event notifications.",
        "description": "\nThis method will return next batch of event notifications",
        "operationId": "GetNext",
        "parameters": [
          {
            "name": "feedId",
            "in": "path",
            "description": "The feed identifier. Each tenant has by default 'all' feed which contains all notifications and feed per specific event source (i.e. document, entitydata, journey, screening)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-TENANT-ID",
            "in": "header",
            "description": "The UiD of the tenant representing organization",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "b11f8be3-f29b-4959-8964-956d4af7c468"
          }
        ],
        "responses": {
          "200": {
            "description": "Fenergo.Nebula.EventNotifications.PublicApi.V2.GetNextBatchResult class represents batch result.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetNextBatchResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetNextBatchResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetNextBatchResult"
                }
              }
            }
          },
          "204": {
            "description": "No additional batches of event notifications found."
          }
        }
      }
    },
    "/v2/event-notification-types": {
      "get": {
        "tags": [
          "EventNotifications"
        ],
        "summary": "List all available event notification types.",
        "description": "\nThis method will list all available event notification types.",
        "operationId": "ListEventNotificationTypes",
        "parameters": [
          {
            "name": "X-TENANT-ID",
            "in": "header",
            "description": "The UiD of the tenant representing organization",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "b11f8be3-f29b-4959-8964-956d4af7c468"
          }
        ],
        "responses": {
          "200": {
            "description": "Fenergo.Nebula.EventNotifications.Utils.Dto.ListEventNotificationTypesResponse class containing event notification types results.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ListEventNotificationTypesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListEventNotificationTypesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListEventNotificationTypesResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{feedId}/{batchId}/complete": {
      "post": {
        "tags": [
          "EventNotifications"
        ],
        "summary": "Marks a batch as complete.",
        "description": "\nThis method will mark a batch of notifications as completed.",
        "parameters": [
          {
            "name": "feedId",
            "in": "path",
            "description": "The feed identifier. Each tenant has by default 'all' feed which contains all notifications and feed per specifc event source (i.e. document, entitydata, journey, screening)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "batchId",
            "in": "path",
            "description": "The batch identifier. Id of batch of event notifications which will be processed and set to complete after processing.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-TENANT-ID",
            "in": "header",
            "description": "The UiD of the tenant representing organization",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "b11f8be3-f29b-4959-8964-956d4af7c468"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "EventNotification": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The notification identifier. If a duplicate event notification occurs, it will have the\nsame identifier as the previous instance.",
            "nullable": true,
            "example": "f2a609e5-3f1d-467b-93ff-8839777c3026"
          },
          "eventType": {
            "type": "string",
            "description": "An event notification type in the format of \"source:event\". e.g. \"entitydate:created\".",
            "nullable": true,
            "example": "entitydata:created"
          },
          "when": {
            "type": "string",
            "description": "When the notification was raised.",
            "format": "date-time",
            "example": "2021-05-05T10:19:17.3157953+00:00"
          },
          "tenantId": {
            "type": "string",
            "description": "The tenant identifer associated with the notification.",
            "nullable": true,
            "example": "501339c8-89a4-4021-b1d9-b23ed0257fa5"
          },
          "causationId": {
            "type": "string",
            "description": "Id that caused the notification, typically the ID of the resource/event",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "description": "A correlation identifier if there is one",
            "nullable": true
          },
          "relativeUrl": {
            "type": "string",
            "description": "A URL to get the resource the notification is related to.",
            "nullable": true,
            "example": "entitydataquery/api/entity/{id}"
          },
          "payload": {
            "description": "Payload of the notification",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an event notification."
      },
      "EventNotificationTypeDto": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "example": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetNextBatchResult": {
        "type": "object",
        "properties": {
          "batchId": {
            "type": "string",
            "description": "The batch identifier.",
            "nullable": true,
            "example": "3e6195b4-3246-483f-83a8-f1725bd20c1c"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventNotification"
            },
            "description": "The collection of notifications.",
            "nullable": true
          },
          "moreAvailable": {
            "type": "boolean",
            "description": "Indicates whether there are more batches on the server. Clients can check this to decide to perform\nan immediate requests or pause until the next polling interval.",
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a batch of notifications"
      },
      "ListEventNotificationTypesResponse": {
        "type": "object",
        "properties": {
          "eventTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventNotificationTypeDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Please insert JWT with Bearer into field",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}