naftiko: 1.0.0-alpha2 info: label: Zulip REST API — real_time_events description: 'Zulip REST API — real_time_events. 5 operations. Lead operation: Get events from an event queue. Self-contained Naftiko capability covering one Zulip business surface.' tags: - Zulip - real_time_events created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ZULIP_API_KEY: ZULIP_API_KEY capability: consumes: - type: http namespace: zulip-real-time-events baseUri: https://{subdomain}.zulipchat.com/api/v1 description: Zulip REST API — real_time_events business capability. Self-contained, no shared references. resources: - name: events path: /events operations: - name: getevents method: GET description: Get events from an event queue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: last_event_id in: query type: integer description: The highest event ID in this queue that you've received and - name: dont_block in: query type: boolean description: Set to `true` if the client is requesting a nonblocking reply. If not - name: deletequeue method: DELETE description: Delete an event queue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: real-time path: /real-time operations: - name: post method: POST description: (Ignored) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: register path: /register operations: - name: registerqueue method: POST description: Register an event queue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: rest-error-handling path: /rest-error-handling operations: - name: resterrorhandling method: POST description: Error handling outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.ZULIP_USER}}' password: '{{env.ZULIP_PASS}}' exposes: - type: rest namespace: zulip-real-time-events-rest port: 8080 description: REST adapter for Zulip REST API — real_time_events. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/events name: events description: REST surface for events. operations: - method: GET name: getevents description: Get events from an event queue call: zulip-real-time-events.getevents with: last_event_id: rest.last_event_id dont_block: rest.dont_block outputParameters: - type: object mapping: $. - method: DELETE name: deletequeue description: Delete an event queue call: zulip-real-time-events.deletequeue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/real-time name: real-time description: REST surface for real-time. operations: - method: POST name: post description: (Ignored) call: zulip-real-time-events.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/register name: register description: REST surface for register. operations: - method: POST name: registerqueue description: Register an event queue call: zulip-real-time-events.registerqueue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/rest-error-handling name: rest-error-handling description: REST surface for rest-error-handling. operations: - method: POST name: resterrorhandling description: Error handling call: zulip-real-time-events.resterrorhandling outputParameters: - type: object mapping: $. - type: mcp namespace: zulip-real-time-events-mcp port: 9090 transport: http description: MCP adapter for Zulip REST API — real_time_events. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-events-event-queue description: Get events from an event queue hints: readOnly: true destructive: false idempotent: true call: zulip-real-time-events.getevents with: last_event_id: tools.last_event_id dont_block: tools.dont_block outputParameters: - type: object mapping: $. - name: delete-event-queue description: Delete an event queue hints: readOnly: false destructive: true idempotent: true call: zulip-real-time-events.deletequeue with: body: tools.body outputParameters: - type: object mapping: $. - name: ignored description: (Ignored) hints: readOnly: false destructive: false idempotent: false call: zulip-real-time-events.post with: body: tools.body outputParameters: - type: object mapping: $. - name: register-event-queue description: Register an event queue hints: readOnly: false destructive: false idempotent: false call: zulip-real-time-events.registerqueue with: body: tools.body outputParameters: - type: object mapping: $. - name: error-handling description: Error handling hints: readOnly: false destructive: false idempotent: false call: zulip-real-time-events.resterrorhandling outputParameters: - type: object mapping: $.