naftiko: 1.0.0-alpha2 info: label: EPCIS 2.0 REST API — Queries description: 'EPCIS 2.0 REST API — Queries. 5 operations. Lead operation: Create Named Query. Self-contained Naftiko capability covering one Rfid business surface.' tags: - Rfid - Queries created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RFID_API_KEY: RFID_API_KEY capability: consumes: - type: http namespace: epcis-queries baseUri: https://{host}/epcis description: EPCIS 2.0 REST API — Queries business capability. Self-contained, no shared references. resources: - name: queries path: /queries operations: - name: createnamedquery method: POST description: Create Named Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getnamedqueries method: GET description: List Named Queries outputRawFormat: json outputParameters: - name: result type: object value: $. - name: queries-queryName path: /queries/{queryName} operations: - name: getnamedquery method: GET description: Get Named Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: queryName in: path type: string required: true - name: deletenamedquery method: DELETE description: Delete Named Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: queryName in: path type: string required: true - name: queries-queryName-events path: /queries/{queryName}/events operations: - name: executenamedquery method: GET description: Execute Named Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: queryName in: path type: string required: true - name: nextPageToken in: query type: string authentication: type: bearer token: '{{env.RFID_API_KEY}}' exposes: - type: rest namespace: epcis-queries-rest port: 8080 description: REST adapter for EPCIS 2.0 REST API — Queries. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/queries name: queries description: REST surface for queries. operations: - method: POST name: createnamedquery description: Create Named Query call: epcis-queries.createnamedquery with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getnamedqueries description: List Named Queries call: epcis-queries.getnamedqueries outputParameters: - type: object mapping: $. - path: /v1/queries/{queryname} name: queries-queryname description: REST surface for queries-queryName. operations: - method: GET name: getnamedquery description: Get Named Query call: epcis-queries.getnamedquery with: queryName: rest.queryName outputParameters: - type: object mapping: $. - method: DELETE name: deletenamedquery description: Delete Named Query call: epcis-queries.deletenamedquery with: queryName: rest.queryName outputParameters: - type: object mapping: $. - path: /v1/queries/{queryname}/events name: queries-queryname-events description: REST surface for queries-queryName-events. operations: - method: GET name: executenamedquery description: Execute Named Query call: epcis-queries.executenamedquery with: queryName: rest.queryName nextPageToken: rest.nextPageToken outputParameters: - type: object mapping: $. - type: mcp namespace: epcis-queries-mcp port: 9090 transport: http description: MCP adapter for EPCIS 2.0 REST API — Queries. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-named-query description: Create Named Query hints: readOnly: true destructive: false idempotent: false call: epcis-queries.createnamedquery with: body: tools.body outputParameters: - type: object mapping: $. - name: list-named-queries description: List Named Queries hints: readOnly: true destructive: false idempotent: true call: epcis-queries.getnamedqueries outputParameters: - type: object mapping: $. - name: get-named-query description: Get Named Query hints: readOnly: true destructive: false idempotent: true call: epcis-queries.getnamedquery with: queryName: tools.queryName outputParameters: - type: object mapping: $. - name: delete-named-query description: Delete Named Query hints: readOnly: false destructive: true idempotent: true call: epcis-queries.deletenamedquery with: queryName: tools.queryName outputParameters: - type: object mapping: $. - name: execute-named-query description: Execute Named Query hints: readOnly: true destructive: false idempotent: true call: epcis-queries.executenamedquery with: queryName: tools.queryName nextPageToken: tools.nextPageToken outputParameters: - type: object mapping: $.