naftiko: 1.0.0-alpha2 info: label: Nutanix Prism Central API v3 — VMs description: 'Nutanix Prism Central API v3 — VMs. 5 operations. Lead operation: Nutanix Create a virtual machine. Self-contained Naftiko capability covering one Nutanix business surface.' tags: - Nutanix - VMs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NUTANIX_API_KEY: NUTANIX_API_KEY capability: consumes: - type: http namespace: prism-central-v3-vms baseUri: https://{prismCentralIp}:9440/api/nutanix/v3 description: Nutanix Prism Central API v3 — VMs business capability. Self-contained, no shared references. resources: - name: vms path: /vms operations: - name: createvm method: POST description: Nutanix Create a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vms-list path: /vms/list operations: - name: listvms method: POST description: Nutanix List virtual machines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vms-uuid path: /vms/{uuid} operations: - name: getvm method: GET description: Nutanix Get a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatevm method: PUT description: Nutanix Update a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletevm method: DELETE description: Nutanix Delete a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.NUTANIX_USER}}' password: '{{env.NUTANIX_PASS}}' exposes: - type: rest namespace: prism-central-v3-vms-rest port: 8080 description: REST adapter for Nutanix Prism Central API v3 — VMs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vms name: vms description: REST surface for vms. operations: - method: POST name: createvm description: Nutanix Create a virtual machine call: prism-central-v3-vms.createvm with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vms/list name: vms-list description: REST surface for vms-list. operations: - method: POST name: listvms description: Nutanix List virtual machines call: prism-central-v3-vms.listvms with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vms/{uuid} name: vms-uuid description: REST surface for vms-uuid. operations: - method: GET name: getvm description: Nutanix Get a virtual machine call: prism-central-v3-vms.getvm outputParameters: - type: object mapping: $. - method: PUT name: updatevm description: Nutanix Update a virtual machine call: prism-central-v3-vms.updatevm with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletevm description: Nutanix Delete a virtual machine call: prism-central-v3-vms.deletevm outputParameters: - type: object mapping: $. - type: mcp namespace: prism-central-v3-vms-mcp port: 9090 transport: http description: MCP adapter for Nutanix Prism Central API v3 — VMs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: nutanix-create-virtual-machine description: Nutanix Create a virtual machine hints: readOnly: false destructive: false idempotent: false call: prism-central-v3-vms.createvm with: body: tools.body outputParameters: - type: object mapping: $. - name: nutanix-list-virtual-machines description: Nutanix List virtual machines hints: readOnly: true destructive: false idempotent: false call: prism-central-v3-vms.listvms with: body: tools.body outputParameters: - type: object mapping: $. - name: nutanix-get-virtual-machine description: Nutanix Get a virtual machine hints: readOnly: true destructive: false idempotent: true call: prism-central-v3-vms.getvm outputParameters: - type: object mapping: $. - name: nutanix-update-virtual-machine description: Nutanix Update a virtual machine hints: readOnly: false destructive: false idempotent: true call: prism-central-v3-vms.updatevm with: body: tools.body outputParameters: - type: object mapping: $. - name: nutanix-delete-virtual-machine description: Nutanix Delete a virtual machine hints: readOnly: false destructive: true idempotent: true call: prism-central-v3-vms.deletevm outputParameters: - type: object mapping: $.