HashiCorp Nomad · Capability

HashiCorp Nomad HTTP API — Deployments

HashiCorp Nomad HTTP API — Deployments. 6 operations. Lead operation: List deployment allocations. Self-contained Naftiko capability covering one Nomad business surface.

Run with Naftiko NomadDeployments

What You Can Do

GET
Listdeploymentallocations — List deployment allocations
/v1/deployment/allocations/{deploymentid}
PUT
Faildeployment — Fail a deployment
/v1/deployment/fail/{deploymentid}
PUT
Pausedeployment — Pause or resume a deployment
/v1/deployment/pause/{deploymentid}
PUT
Promotedeployment — Promote a deployment
/v1/deployment/promote/{deploymentid}
GET
Readdeployment — Read a deployment
/v1/deployment/{deploymentid}
GET
Listdeployments — List deployments
/v1/deployments

MCP Tools

list-deployment-allocations

List deployment allocations

read-only idempotent
fail-deployment

Fail a deployment

idempotent
pause-resume-deployment

Pause or resume a deployment

idempotent
promote-deployment

Promote a deployment

idempotent
read-deployment

Read a deployment

read-only idempotent
list-deployments

List deployments

read-only idempotent

Capability Spec

http-deployments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: HashiCorp Nomad HTTP API — Deployments
  description: 'HashiCorp Nomad HTTP API — Deployments. 6 operations. Lead operation: List deployment allocations. Self-contained
    Naftiko capability covering one Nomad business surface.'
  tags:
  - Nomad
  - Deployments
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NOMAD_API_KEY: NOMAD_API_KEY
capability:
  consumes:
  - type: http
    namespace: http-deployments
    baseUri: http://localhost:4646/v1
    description: HashiCorp Nomad HTTP API — Deployments business capability. Self-contained, no shared references.
    resources:
    - name: deployment-allocations-deploymentID
      path: /deployment/allocations/{deploymentID}
      operations:
      - name: listdeploymentallocations
        method: GET
        description: List deployment allocations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deployment-fail-deploymentID
      path: /deployment/fail/{deploymentID}
      operations:
      - name: faildeployment
        method: PUT
        description: Fail a deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deployment-pause-deploymentID
      path: /deployment/pause/{deploymentID}
      operations:
      - name: pausedeployment
        method: PUT
        description: Pause or resume a deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: deployment-promote-deploymentID
      path: /deployment/promote/{deploymentID}
      operations:
      - name: promotedeployment
        method: PUT
        description: Promote a deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: deployment-deploymentID
      path: /deployment/{deploymentID}
      operations:
      - name: readdeployment
        method: GET
        description: Read a deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deployments
      path: /deployments
      operations:
      - name: listdeployments
        method: GET
        description: List deployments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.NOMAD_API_KEY}}'
  exposes:
  - type: rest
    namespace: http-deployments-rest
    port: 8080
    description: REST adapter for HashiCorp Nomad HTTP API — Deployments. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/deployment/allocations/{deploymentid}
      name: deployment-allocations-deploymentid
      description: REST surface for deployment-allocations-deploymentID.
      operations:
      - method: GET
        name: listdeploymentallocations
        description: List deployment allocations
        call: http-deployments.listdeploymentallocations
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployment/fail/{deploymentid}
      name: deployment-fail-deploymentid
      description: REST surface for deployment-fail-deploymentID.
      operations:
      - method: PUT
        name: faildeployment
        description: Fail a deployment
        call: http-deployments.faildeployment
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployment/pause/{deploymentid}
      name: deployment-pause-deploymentid
      description: REST surface for deployment-pause-deploymentID.
      operations:
      - method: PUT
        name: pausedeployment
        description: Pause or resume a deployment
        call: http-deployments.pausedeployment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployment/promote/{deploymentid}
      name: deployment-promote-deploymentid
      description: REST surface for deployment-promote-deploymentID.
      operations:
      - method: PUT
        name: promotedeployment
        description: Promote a deployment
        call: http-deployments.promotedeployment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployment/{deploymentid}
      name: deployment-deploymentid
      description: REST surface for deployment-deploymentID.
      operations:
      - method: GET
        name: readdeployment
        description: Read a deployment
        call: http-deployments.readdeployment
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/deployments
      name: deployments
      description: REST surface for deployments.
      operations:
      - method: GET
        name: listdeployments
        description: List deployments
        call: http-deployments.listdeployments
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: http-deployments-mcp
    port: 9090
    transport: http
    description: MCP adapter for HashiCorp Nomad HTTP API — Deployments. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-deployment-allocations
      description: List deployment allocations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: http-deployments.listdeploymentallocations
      outputParameters:
      - type: object
        mapping: $.
    - name: fail-deployment
      description: Fail a deployment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: http-deployments.faildeployment
      outputParameters:
      - type: object
        mapping: $.
    - name: pause-resume-deployment
      description: Pause or resume a deployment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: http-deployments.pausedeployment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: promote-deployment
      description: Promote a deployment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: http-deployments.promotedeployment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: read-deployment
      description: Read a deployment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: http-deployments.readdeployment
      outputParameters:
      - type: object
        mapping: $.
    - name: list-deployments
      description: List deployments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: http-deployments.listdeployments
      outputParameters:
      - type: object
        mapping: $.