naftiko: 1.0.0-alpha2 info: label: Eventuate REST API description: The Eventuate REST API provides HTTP endpoints for managing aggregates, events, subscriptions, and event-sourced entities in the Eventuate platform for distributed data management in microservices. tags: - Eventuate - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: eventuate baseUri: http://localhost:8080 description: Eventuate REST API HTTP API. resources: - name: entity-entitytype path: /entity/{entityType} operations: - name: createentity method: POST description: Create an entity inputParameters: - name: entityType in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: entity-entitytype-entityid path: /entity/{entityType}/{entityId} operations: - name: getentity method: GET description: Get an entity inputParameters: - name: entityType in: path type: string required: true - name: entityId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateentity method: POST description: Update an entity inputParameters: - name: entityType in: path type: string required: true - name: entityId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: entity-entitytype-entityid-events path: /entity/{entityType}/{entityId}/events operations: - name: getentityevents method: GET description: Get events for an entity inputParameters: - name: entityType in: path type: string required: true - name: entityId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions path: /subscriptions operations: - name: createsubscription method: POST description: Create an event subscription outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionid path: /subscriptions/{subscriptionId} operations: - name: getsubscription method: GET description: Get a subscription inputParameters: - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletesubscription method: DELETE description: Delete a subscription inputParameters: - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionid-events path: /subscriptions/{subscriptionId}/events operations: - name: getsubscriptionevents method: GET description: Get events from a subscription inputParameters: - name: subscriptionId in: path type: string required: true - name: maxEvents in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionid-acknowledge path: /subscriptions/{subscriptionId}/acknowledge operations: - name: acknowledgeevents method: POST description: Acknowledge events inputParameters: - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: health path: /health operations: - name: gethealth method: GET description: Health check outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: eventuate-rest description: REST adapter for Eventuate REST API. resources: - path: /entity/{entityType} name: createentity operations: - method: POST name: createentity description: Create an entity call: eventuate.createentity with: entityType: rest.entityType outputParameters: - type: object mapping: $. - path: /entity/{entityType}/{entityId} name: getentity operations: - method: GET name: getentity description: Get an entity call: eventuate.getentity with: entityType: rest.entityType entityId: rest.entityId outputParameters: - type: object mapping: $. - path: /entity/{entityType}/{entityId} name: updateentity operations: - method: POST name: updateentity description: Update an entity call: eventuate.updateentity with: entityType: rest.entityType entityId: rest.entityId outputParameters: - type: object mapping: $. - path: /entity/{entityType}/{entityId}/events name: getentityevents operations: - method: GET name: getentityevents description: Get events for an entity call: eventuate.getentityevents with: entityType: rest.entityType entityId: rest.entityId outputParameters: - type: object mapping: $. - path: /subscriptions name: createsubscription operations: - method: POST name: createsubscription description: Create an event subscription call: eventuate.createsubscription outputParameters: - type: object mapping: $. - path: /subscriptions/{subscriptionId} name: getsubscription operations: - method: GET name: getsubscription description: Get a subscription call: eventuate.getsubscription with: subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /subscriptions/{subscriptionId} name: deletesubscription operations: - method: DELETE name: deletesubscription description: Delete a subscription call: eventuate.deletesubscription with: subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /subscriptions/{subscriptionId}/events name: getsubscriptionevents operations: - method: GET name: getsubscriptionevents description: Get events from a subscription call: eventuate.getsubscriptionevents with: subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /subscriptions/{subscriptionId}/acknowledge name: acknowledgeevents operations: - method: POST name: acknowledgeevents description: Acknowledge events call: eventuate.acknowledgeevents with: subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /health name: gethealth operations: - method: GET name: gethealth description: Health check call: eventuate.gethealth outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: eventuate-mcp transport: http description: MCP adapter for Eventuate REST API for AI agent use. tools: - name: createentity description: Create an entity hints: readOnly: false destructive: false idempotent: false call: eventuate.createentity with: entityType: tools.entityType inputParameters: - name: entityType type: string description: entityType required: true outputParameters: - type: object mapping: $. - name: getentity description: Get an entity hints: readOnly: true destructive: false idempotent: true call: eventuate.getentity with: entityType: tools.entityType entityId: tools.entityId inputParameters: - name: entityType type: string description: entityType required: true - name: entityId type: string description: entityId required: true outputParameters: - type: object mapping: $. - name: updateentity description: Update an entity hints: readOnly: false destructive: false idempotent: false call: eventuate.updateentity with: entityType: tools.entityType entityId: tools.entityId inputParameters: - name: entityType type: string description: entityType required: true - name: entityId type: string description: entityId required: true outputParameters: - type: object mapping: $. - name: getentityevents description: Get events for an entity hints: readOnly: true destructive: false idempotent: true call: eventuate.getentityevents with: entityType: tools.entityType entityId: tools.entityId inputParameters: - name: entityType type: string description: entityType required: true - name: entityId type: string description: entityId required: true outputParameters: - type: object mapping: $. - name: createsubscription description: Create an event subscription hints: readOnly: false destructive: false idempotent: false call: eventuate.createsubscription outputParameters: - type: object mapping: $. - name: getsubscription description: Get a subscription hints: readOnly: true destructive: false idempotent: true call: eventuate.getsubscription with: subscriptionId: tools.subscriptionId inputParameters: - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: deletesubscription description: Delete a subscription hints: readOnly: false destructive: true idempotent: true call: eventuate.deletesubscription with: subscriptionId: tools.subscriptionId inputParameters: - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: getsubscriptionevents description: Get events from a subscription hints: readOnly: true destructive: false idempotent: true call: eventuate.getsubscriptionevents with: subscriptionId: tools.subscriptionId maxEvents: tools.maxEvents inputParameters: - name: subscriptionId type: string description: subscriptionId required: true - name: maxEvents type: integer description: maxEvents outputParameters: - type: object mapping: $. - name: acknowledgeevents description: Acknowledge events hints: readOnly: false destructive: false idempotent: false call: eventuate.acknowledgeevents with: subscriptionId: tools.subscriptionId inputParameters: - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: gethealth description: Health check hints: readOnly: true destructive: false idempotent: true call: eventuate.gethealth outputParameters: - type: object mapping: $.