naftiko: 1.0.0-alpha2 info: label: Hookdeck Admin REST API — Issues description: 'Hookdeck Admin REST API — Issues. 5 operations. Lead operation: Retrieve issues. Self-contained Naftiko capability covering one business surface.' tags: - Hookdeck - Issues created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: HOOKDECK_API_KEY: HOOKDECK_API_KEY capability: consumes: - type: http namespace: hookdeck-issues baseUri: https://api.hookdeck.com/2025-07-01 description: Hookdeck Admin REST API — Issues business capability. Self-contained, no shared references. resources: - name: issues path: /issues operations: - name: getissues method: GET description: Retrieve issues outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: query parameter id. - name: issue_trigger_id in: query type: string description: query parameter issue_trigger_id. - name: type in: query type: string description: query parameter type. - name: status in: query type: string description: query parameter status. - name: merged_with in: query type: string description: query parameter merged_with. - name: aggregation_keys in: query type: object description: query parameter aggregation_keys. - name: created_at in: query type: string description: query parameter created_at. - name: first_seen_at in: query type: string description: query parameter first_seen_at. - name: last_seen_at in: query type: string description: query parameter last_seen_at. - name: dismissed_at in: query type: string description: query parameter dismissed_at. - name: order_by in: query type: string description: query parameter order_by. - name: dir in: query type: string description: query parameter dir. - name: limit in: query type: integer description: query parameter limit. - name: next in: query type: string description: query parameter next. - name: prev in: query type: string description: query parameter prev. - name: issues-count path: /issues/count operations: - name: getissuecount method: GET description: Get the number of issues outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: query parameter id. - name: issue_trigger_id in: query type: string description: query parameter issue_trigger_id. - name: type in: query type: string description: query parameter type. - name: status in: query type: string description: query parameter status. - name: merged_with in: query type: string description: query parameter merged_with. - name: aggregation_keys in: query type: object description: query parameter aggregation_keys. - name: created_at in: query type: string description: query parameter created_at. - name: first_seen_at in: query type: string description: query parameter first_seen_at. - name: last_seen_at in: query type: string description: query parameter last_seen_at. - name: dismissed_at in: query type: string description: query parameter dismissed_at. - name: order_by in: query type: string description: query parameter order_by. - name: dir in: query type: string description: query parameter dir. - name: limit in: query type: integer description: query parameter limit. - name: next in: query type: string description: query parameter next. - name: prev in: query type: string description: query parameter prev. - name: issues-id path: /issues/{id} operations: - name: getissue method: GET description: Retrieve an issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: updateissue method: PUT description: Update an issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: dismississue method: DELETE description: Dismiss an issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true exposes: - type: rest namespace: hookdeck-issues-rest port: 8080 description: REST adapter for Hookdeck Admin REST API — Issues. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/issues name: issues description: REST surface for issues. operations: - method: GET name: getissues description: Retrieve issues call: hookdeck-issues.getissues with: id: rest.id issue_trigger_id: rest.issue_trigger_id type: rest.type status: rest.status merged_with: rest.merged_with aggregation_keys: rest.aggregation_keys created_at: rest.created_at first_seen_at: rest.first_seen_at last_seen_at: rest.last_seen_at dismissed_at: rest.dismissed_at order_by: rest.order_by dir: rest.dir limit: rest.limit next: rest.next prev: rest.prev outputParameters: - type: object mapping: $. - path: /v1/issues/count name: issues-count description: REST surface for issues-count. operations: - method: GET name: getissuecount description: Get the number of issues call: hookdeck-issues.getissuecount with: id: rest.id issue_trigger_id: rest.issue_trigger_id type: rest.type status: rest.status merged_with: rest.merged_with aggregation_keys: rest.aggregation_keys created_at: rest.created_at first_seen_at: rest.first_seen_at last_seen_at: rest.last_seen_at dismissed_at: rest.dismissed_at order_by: rest.order_by dir: rest.dir limit: rest.limit next: rest.next prev: rest.prev outputParameters: - type: object mapping: $. - path: /v1/issues/{id} name: issues-id description: REST surface for issues-id. operations: - method: GET name: getissue description: Retrieve an issue call: hookdeck-issues.getissue with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateissue description: Update an issue call: hookdeck-issues.updateissue with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: dismississue description: Dismiss an issue call: hookdeck-issues.dismississue with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: hookdeck-issues-mcp port: 9090 transport: http description: MCP adapter for Hookdeck Admin REST API — Issues. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: hookdeck-getissues description: Retrieve issues hints: readOnly: true destructive: false idempotent: true call: hookdeck-issues.getissues with: id: tools.id issue_trigger_id: tools.issue_trigger_id type: tools.type status: tools.status merged_with: tools.merged_with aggregation_keys: tools.aggregation_keys created_at: tools.created_at first_seen_at: tools.first_seen_at last_seen_at: tools.last_seen_at dismissed_at: tools.dismissed_at order_by: tools.order_by dir: tools.dir limit: tools.limit next: tools.next prev: tools.prev outputParameters: - type: object mapping: $. - name: hookdeck-getissuecount description: Get the number of issues hints: readOnly: true destructive: false idempotent: true call: hookdeck-issues.getissuecount with: id: tools.id issue_trigger_id: tools.issue_trigger_id type: tools.type status: tools.status merged_with: tools.merged_with aggregation_keys: tools.aggregation_keys created_at: tools.created_at first_seen_at: tools.first_seen_at last_seen_at: tools.last_seen_at dismissed_at: tools.dismissed_at order_by: tools.order_by dir: tools.dir limit: tools.limit next: tools.next prev: tools.prev outputParameters: - type: object mapping: $. - name: hookdeck-getissue description: Retrieve an issue hints: readOnly: true destructive: false idempotent: true call: hookdeck-issues.getissue with: id: tools.id outputParameters: - type: object mapping: $. - name: hookdeck-updateissue description: Update an issue hints: readOnly: false destructive: false idempotent: true call: hookdeck-issues.updateissue with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-dismississue description: Dismiss an issue hints: readOnly: false destructive: true idempotent: true call: hookdeck-issues.dismississue with: id: tools.id outputParameters: - type: object mapping: $.