naftiko: 1.0.0-alpha2 info: label: Red Hat Satellite REST API — Hosts description: 'Red Hat Satellite REST API — Hosts. 6 operations. Lead operation: List All Hosts. Self-contained Naftiko capability covering one Red Hat Satellite business surface.' tags: - Red Hat Satellite - Hosts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RED_HAT_SATELLITE_API_KEY: RED_HAT_SATELLITE_API_KEY capability: consumes: - type: http namespace: red-hat-satellite-hosts baseUri: https://satellite.example.com description: Red Hat Satellite REST API — Hosts business capability. Self-contained, no shared references. resources: - name: api-v2-hosts path: /api/v2/hosts operations: - name: listhosts method: GET description: List All Hosts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hostgroup_id in: query type: integer description: Filter hosts by host group identifier. - name: thin in: query type: boolean description: Only return the ID and name of each host. - name: include in: query type: string description: Additional information to include (e.g., parameters, all_parameters). - name: createhost method: POST description: Create a Host outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-hosts-id path: /api/v2/hosts/{id} operations: - name: showhost method: GET description: Show a Host outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatehost method: PUT description: Update a Host outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletehost method: DELETE description: Delete a Host outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hosts-id-power path: /api/v2/hosts/{id}/power operations: - name: hostpoweraction method: PUT description: Execute a Power Operation on a Host outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.RED_HAT_SATELLITE_API_KEY}}' exposes: - type: rest namespace: red-hat-satellite-hosts-rest port: 8080 description: REST adapter for Red Hat Satellite REST API — Hosts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/hosts name: api-v2-hosts description: REST surface for api-v2-hosts. operations: - method: GET name: listhosts description: List All Hosts call: red-hat-satellite-hosts.listhosts with: hostgroup_id: rest.hostgroup_id thin: rest.thin include: rest.include outputParameters: - type: object mapping: $. - method: POST name: createhost description: Create a Host call: red-hat-satellite-hosts.createhost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/hosts/{id} name: api-v2-hosts-id description: REST surface for api-v2-hosts-id. operations: - method: GET name: showhost description: Show a Host call: red-hat-satellite-hosts.showhost outputParameters: - type: object mapping: $. - method: PUT name: updatehost description: Update a Host call: red-hat-satellite-hosts.updatehost with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletehost description: Delete a Host call: red-hat-satellite-hosts.deletehost outputParameters: - type: object mapping: $. - path: /v1/api/v2/hosts/{id}/power name: api-v2-hosts-id-power description: REST surface for api-v2-hosts-id-power. operations: - method: PUT name: hostpoweraction description: Execute a Power Operation on a Host call: red-hat-satellite-hosts.hostpoweraction with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: red-hat-satellite-hosts-mcp port: 9090 transport: http description: MCP adapter for Red Hat Satellite REST API — Hosts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-hosts description: List All Hosts hints: readOnly: true destructive: false idempotent: true call: red-hat-satellite-hosts.listhosts with: hostgroup_id: tools.hostgroup_id thin: tools.thin include: tools.include outputParameters: - type: object mapping: $. - name: create-host description: Create a Host hints: readOnly: false destructive: false idempotent: false call: red-hat-satellite-hosts.createhost with: body: tools.body outputParameters: - type: object mapping: $. - name: show-host description: Show a Host hints: readOnly: true destructive: false idempotent: true call: red-hat-satellite-hosts.showhost outputParameters: - type: object mapping: $. - name: update-host description: Update a Host hints: readOnly: false destructive: false idempotent: true call: red-hat-satellite-hosts.updatehost with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-host description: Delete a Host hints: readOnly: false destructive: true idempotent: true call: red-hat-satellite-hosts.deletehost outputParameters: - type: object mapping: $. - name: execute-power-operation-host description: Execute a Power Operation on a Host hints: readOnly: false destructive: false idempotent: true call: red-hat-satellite-hosts.hostpoweraction with: body: tools.body outputParameters: - type: object mapping: $.