naftiko: 1.0.0-alpha2 info: label: Hookdeck Admin REST API — Sources description: 'Hookdeck Admin REST API — Sources. 11 operations. Lead operation: Retrieve sources. Self-contained Naftiko capability covering one business surface.' tags: - Hookdeck - Sources created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: HOOKDECK_API_KEY: HOOKDECK_API_KEY capability: consumes: - type: http namespace: hookdeck-sources baseUri: https://api.hookdeck.com/2025-07-01 description: Hookdeck Admin REST API — Sources business capability. Self-contained, no shared references. resources: - name: sources path: /sources operations: - name: getsources method: GET description: Retrieve sources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: query parameter id. - name: name in: query type: string description: query parameter name. - name: type in: query type: string description: query parameter type. - name: disabled in: query type: boolean description: query parameter disabled. - name: disabled_at in: query type: string description: query parameter disabled_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: createsource method: POST description: Create a source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: upsertsource method: PUT description: Create/Update a source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: sources-count path: /sources/count operations: - name: countsources method: GET description: Count sources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: sources-id path: /sources/{id} operations: - name: getsource method: GET description: Retrieve a source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: include in: query type: string description: query parameter include. - name: id in: path type: string description: path parameter id. required: true - name: updatesource method: PUT description: Update a source 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: deletesource method: DELETE description: Delete a source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: path parameter id. required: true - name: sources-id-disable path: /sources/{id}/disable operations: - name: disablesource method: PUT description: Disable a source 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: false - name: sources-id-archive path: /sources/{id}/archive operations: - name: disablesourcearchive method: PUT description: Disable a source 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: false - name: sources-id-enable path: /sources/{id}/enable operations: - name: enablesource method: PUT description: Enable a source 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: false - name: sources-id-unarchive path: /sources/{id}/unarchive operations: - name: enablesourceunarchive method: PUT description: Enable a source 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: false exposes: - type: rest namespace: hookdeck-sources-rest port: 8080 description: REST adapter for Hookdeck Admin REST API — Sources. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/sources name: sources description: REST surface for sources. operations: - method: GET name: getsources description: Retrieve sources call: hookdeck-sources.getsources with: id: rest.id name: rest.name type: rest.type disabled: rest.disabled disabled_at: rest.disabled_at order_by: rest.order_by dir: rest.dir limit: rest.limit next: rest.next prev: rest.prev outputParameters: - type: object mapping: $. - method: POST name: createsource description: Create a source call: hookdeck-sources.createsource with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: upsertsource description: Create/Update a source call: hookdeck-sources.upsertsource with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sources/count name: sources-count description: REST surface for sources-count. operations: - method: GET name: countsources description: Count sources call: hookdeck-sources.countsources with: {} outputParameters: - type: object mapping: $. - path: /v1/sources/{id} name: sources-id description: REST surface for sources-id. operations: - method: GET name: getsource description: Retrieve a source call: hookdeck-sources.getsource with: include: rest.include id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updatesource description: Update a source call: hookdeck-sources.updatesource with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesource description: Delete a source call: hookdeck-sources.deletesource with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/sources/{id}/disable name: sources-id-disable description: REST surface for sources-id-disable. operations: - method: PUT name: disablesource description: Disable a source call: hookdeck-sources.disablesource with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sources/{id}/archive name: sources-id-archive description: REST surface for sources-id-archive. operations: - method: PUT name: disablesourcearchive description: Disable a source call: hookdeck-sources.disablesourcearchive with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sources/{id}/enable name: sources-id-enable description: REST surface for sources-id-enable. operations: - method: PUT name: enablesource description: Enable a source call: hookdeck-sources.enablesource with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/sources/{id}/unarchive name: sources-id-unarchive description: REST surface for sources-id-unarchive. operations: - method: PUT name: enablesourceunarchive description: Enable a source call: hookdeck-sources.enablesourceunarchive with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: hookdeck-sources-mcp port: 9090 transport: http description: MCP adapter for Hookdeck Admin REST API — Sources. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: hookdeck-getsources description: Retrieve sources hints: readOnly: true destructive: false idempotent: true call: hookdeck-sources.getsources with: id: tools.id name: tools.name type: tools.type disabled: tools.disabled disabled_at: tools.disabled_at order_by: tools.order_by dir: tools.dir limit: tools.limit next: tools.next prev: tools.prev outputParameters: - type: object mapping: $. - name: hookdeck-createsource description: Create a source hints: readOnly: false destructive: false idempotent: false call: hookdeck-sources.createsource with: body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-upsertsource description: Create/Update a source hints: readOnly: false destructive: false idempotent: true call: hookdeck-sources.upsertsource with: body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-countsources description: Count sources hints: readOnly: true destructive: false idempotent: true call: hookdeck-sources.countsources with: {} outputParameters: - type: object mapping: $. - name: hookdeck-getsource description: Retrieve a source hints: readOnly: true destructive: false idempotent: true call: hookdeck-sources.getsource with: include: tools.include id: tools.id outputParameters: - type: object mapping: $. - name: hookdeck-updatesource description: Update a source hints: readOnly: false destructive: false idempotent: true call: hookdeck-sources.updatesource with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-deletesource description: Delete a source hints: readOnly: false destructive: true idempotent: true call: hookdeck-sources.deletesource with: id: tools.id outputParameters: - type: object mapping: $. - name: hookdeck-disablesource description: Disable a source hints: readOnly: false destructive: false idempotent: true call: hookdeck-sources.disablesource with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-disablesourcearchive description: Disable a source hints: readOnly: false destructive: false idempotent: true call: hookdeck-sources.disablesourcearchive with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-enablesource description: Enable a source hints: readOnly: false destructive: false idempotent: true call: hookdeck-sources.enablesource with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hookdeck-enablesourceunarchive description: Enable a source hints: readOnly: false destructive: false idempotent: true call: hookdeck-sources.enablesourceunarchive with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.