HashiCorp Nomad · Capability

HashiCorp Nomad HTTP API

The HashiCorp Nomad HTTP API provides programmatic access to all Nomad functionality including job scheduling, allocation management, node operations, deployments, services, evaluations, namespaces, ACL policies, and cluster status. All API routes are prefixed with /v1/ and the default port is 4646. The API is RESTful, responds to standard HTTP verbs, and supports ACL token authentication via the X-Nomad-Token header or Bearer scheme.

Run with Naftiko NomadAPI

What You Can Do

GET
Listjobs — List jobs
/jobs
PUT
Registerjob — Register a new job
/jobs
PUT
Parsejob — Parse a job specification
/jobs/parse
GET
Listjobstatuses — List job statuses
/jobs/statuses
GET
Readjob — Read a job
/job/{jobID}
DELETE
Deregisterjob — Deregister a job
/job/{jobID}
PUT
Evaluatejob — Create a new evaluation for a job
/job/{jobID}/evaluate
PUT
Planjob — Plan a job update
/job/{jobID}/plan
GET
Listjoballocations — List allocations for a job
/job/{jobID}/allocations
GET
Listjobevaluations — List evaluations for a job
/job/{jobID}/evaluations
GET
Listjobdeployments — List deployments for a job
/job/{jobID}/deployments
GET
Listjobversions — List versions of a job
/job/{jobID}/versions
PUT
Revertjob — Revert job to an older version
/job/{jobID}/revert
PUT
Setjobstability — Set job stability
/job/{jobID}/stable
GET
Readjobsummary — Read a job summary
/job/{jobID}/summary
PUT
Dispatchjob — Dispatch a parameterized job
/job/{jobID}/dispatch
GET
Listallocations — List allocations
/allocations
GET
Readallocation — Read an allocation
/allocation/{allocID}
GET
Listallocationservices — List allocation services
/allocation/{allocID}/services
GET
Listallocationchecks — List allocation health checks
/allocation/{allocID}/checks
GET
Listevaluations — List evaluations
/evaluations
GET
Countevaluations — Count evaluations
/evaluations/count
GET
Readevaluation — Read an evaluation
/evaluation/{evalID}
GET
Listevaluationallocations — List allocations for an evaluation
/evaluation/{evalID}/allocations
GET
Listdeployments — List deployments
/deployments
GET
Readdeployment — Read a deployment
/deployment/{deploymentID}
GET
Listdeploymentallocations — List deployment allocations
/deployment/allocations/{deploymentID}
PUT
Faildeployment — Fail a deployment
/deployment/fail/{deploymentID}
PUT
Pausedeployment — Pause or resume a deployment
/deployment/pause/{deploymentID}
PUT
Promotedeployment — Promote a deployment
/deployment/promote/{deploymentID}
GET
Listnodes — List nodes
/nodes
GET
Readnode — Read a node
/node/{nodeID}
PUT
Evaluatenode — Create a new evaluation for a node
/node/{nodeID}/evaluate
POST
Drainnode — Set node drain mode
/node/{nodeID}/drain
DELETE
Purgenode — Purge a node
/node/{nodeID}/purge
GET
Listnodepools — List node pools
/node/pools
PUT
Createnodepool — Create or update a node pool
/node/pools
GET
Readnodepool — Read a node pool
/node/pool/{poolName}
DELETE
Deletenodepool — Delete a node pool
/node/pool/{poolName}
GET
Listservices — List services
/services
GET
Readservice — Read a service
/service/{serviceName}
DELETE
Deleteservice — Delete a service registration
/service/{serviceName}
GET
Listvolumes — List volumes
/volumes
GET
Listnamespaces — List namespaces
/namespaces
PUT
Createnamespace — Create or update a namespace
/namespace
GET
Readnamespace — Read a namespace
/namespace/{namespaceName}
DELETE
Deletenamespace — Delete a namespace
/namespace/{namespaceName}
GET
Listaclpolicies — List ACL policies
/acl/policies
GET
Readaclpolicy — Read an ACL policy
/acl/policy/{policyName}
PUT
Upsertaclpolicy — Create or update an ACL policy
/acl/policy/{policyName}
DELETE
Deleteaclpolicy — Delete an ACL policy
/acl/policy/{policyName}
GET
Listacltokens — List ACL tokens
/acl/tokens
PUT
Createacltoken — Create an ACL token
/acl/token
GET
Readselfacltoken — Read own ACL token
/acl/token/self
GET
Readacltoken — Read an ACL token
/acl/token/{tokenAccessorID}
DELETE
Deleteacltoken — Delete an ACL token
/acl/token/{tokenAccessorID}
GET
Listagentmembers — List agent members
/agent/members
GET
Readagentself — Read agent self
/agent/self
PUT
Joinagent — Join an agent
/agent/join
PUT
Forceleaveagent — Force leave an agent
/agent/force-leave

MCP Tools

listjobs

List jobs

read-only idempotent
registerjob

Register a new job

idempotent
parsejob

Parse a job specification

idempotent
listjobstatuses

List job statuses

read-only idempotent
readjob

Read a job

read-only idempotent
deregisterjob

Deregister a job

idempotent
evaluatejob

Create a new evaluation for a job

idempotent
planjob

Plan a job update

idempotent
listjoballocations

List allocations for a job

read-only idempotent
listjobevaluations

List evaluations for a job

read-only idempotent
listjobdeployments

List deployments for a job

read-only idempotent
listjobversions

List versions of a job

read-only idempotent
revertjob

Revert job to an older version

idempotent
setjobstability

Set job stability

idempotent
readjobsummary

Read a job summary

read-only idempotent
dispatchjob

Dispatch a parameterized job

idempotent
listallocations

List allocations

read-only idempotent
readallocation

Read an allocation

read-only idempotent
listallocationservices

List allocation services

read-only idempotent
listallocationchecks

List allocation health checks

read-only idempotent
listevaluations

List evaluations

read-only idempotent
countevaluations

Count evaluations

read-only idempotent
readevaluation

Read an evaluation

read-only idempotent
listevaluationallocations

List allocations for an evaluation

read-only idempotent
listdeployments

List deployments

read-only idempotent
readdeployment

Read a deployment

read-only idempotent
listdeploymentallocations

List deployment allocations

read-only idempotent
faildeployment

Fail a deployment

idempotent
pausedeployment

Pause or resume a deployment

idempotent
promotedeployment

Promote a deployment

idempotent
listnodes

List nodes

read-only idempotent
readnode

Read a node

read-only idempotent
evaluatenode

Create a new evaluation for a node

idempotent
drainnode

Set node drain mode

purgenode

Purge a node

idempotent
listnodepools

List node pools

read-only idempotent
createnodepool

Create or update a node pool

idempotent
readnodepool

Read a node pool

read-only idempotent
deletenodepool

Delete a node pool

idempotent
listservices

List services

read-only idempotent
readservice

Read a service

read-only idempotent
deleteservice

Delete a service registration

idempotent
listvolumes

List volumes

read-only idempotent
listnamespaces

List namespaces

read-only idempotent
createnamespace

Create or update a namespace

idempotent
readnamespace

Read a namespace

read-only idempotent
deletenamespace

Delete a namespace

idempotent
listaclpolicies

List ACL policies

read-only idempotent
readaclpolicy

Read an ACL policy

read-only idempotent
upsertaclpolicy

Create or update an ACL policy

idempotent
deleteaclpolicy

Delete an ACL policy

idempotent
listacltokens

List ACL tokens

read-only idempotent
createacltoken

Create an ACL token

idempotent
readselfacltoken

Read own ACL token

read-only idempotent
readacltoken

Read an ACL token

read-only idempotent
deleteacltoken

Delete an ACL token

idempotent
listagentmembers

List agent members

read-only idempotent
readagentself

Read agent self

read-only idempotent
joinagent

Join an agent

idempotent
forceleaveagent

Force leave an agent

idempotent

Capability Spec

nomad-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: HashiCorp Nomad HTTP API
  description: The HashiCorp Nomad HTTP API provides programmatic access to all Nomad functionality including job scheduling,
    allocation management, node operations, deployments, services, evaluations, namespaces, ACL policies, and cluster status.
    All API routes are prefixed with /v1/ and the default port is 4646. The API is RESTful, responds to standard HTTP verbs,
    and supports ACL token authentication via the X-Nomad-Token header or Bearer scheme.
  tags:
  - Nomad
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: nomad
    baseUri: http://localhost:4646/v1
    description: HashiCorp Nomad HTTP API HTTP API.
    authentication:
      type: apikey
      in: header
      name: X-Nomad-Token
      value: '{{NOMAD_TOKEN}}'
    resources:
    - name: jobs
      path: /jobs
      operations:
      - name: listjobs
        method: GET
        description: List jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: registerjob
        method: PUT
        description: Register a new job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-parse
      path: /jobs/parse
      operations:
      - name: parsejob
        method: PUT
        description: Parse a job specification
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-statuses
      path: /jobs/statuses
      operations:
      - name: listjobstatuses
        method: GET
        description: List job statuses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid
      path: /job/{jobID}
      operations:
      - name: readjob
        method: GET
        description: Read a job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deregisterjob
        method: DELETE
        description: Deregister a job
        inputParameters:
        - name: purge
          in: query
          type: boolean
          description: If true, the job is purged from the system and cannot be recovered. Defaults to false.
        - name: global
          in: query
          type: boolean
          description: If true, deregisters the job in all federated regions.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-evaluate
      path: /job/{jobID}/evaluate
      operations:
      - name: evaluatejob
        method: PUT
        description: Create a new evaluation for a job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-plan
      path: /job/{jobID}/plan
      operations:
      - name: planjob
        method: PUT
        description: Plan a job update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-allocations
      path: /job/{jobID}/allocations
      operations:
      - name: listjoballocations
        method: GET
        description: List allocations for a job
        inputParameters:
        - name: all
          in: query
          type: boolean
          description: If true, includes allocations from all namespaces.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-evaluations
      path: /job/{jobID}/evaluations
      operations:
      - name: listjobevaluations
        method: GET
        description: List evaluations for a job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-deployments
      path: /job/{jobID}/deployments
      operations:
      - name: listjobdeployments
        method: GET
        description: List deployments for a job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-versions
      path: /job/{jobID}/versions
      operations:
      - name: listjobversions
        method: GET
        description: List versions of a job
        inputParameters:
        - name: diffs
          in: query
          type: boolean
          description: If true, includes the diff between consecutive job versions.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-revert
      path: /job/{jobID}/revert
      operations:
      - name: revertjob
        method: PUT
        description: Revert job to an older version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-stable
      path: /job/{jobID}/stable
      operations:
      - name: setjobstability
        method: PUT
        description: Set job stability
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-summary
      path: /job/{jobID}/summary
      operations:
      - name: readjobsummary
        method: GET
        description: Read a job summary
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: job-jobid-dispatch
      path: /job/{jobID}/dispatch
      operations:
      - name: dispatchjob
        method: PUT
        description: Dispatch a parameterized job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: allocations
      path: /allocations
      operations:
      - name: listallocations
        method: GET
        description: List allocations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: allocation-allocid
      path: /allocation/{allocID}
      operations:
      - name: readallocation
        method: GET
        description: Read an allocation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: allocation-allocid-services
      path: /allocation/{allocID}/services
      operations:
      - name: listallocationservices
        method: GET
        description: List allocation services
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: allocation-allocid-checks
      path: /allocation/{allocID}/checks
      operations:
      - name: listallocationchecks
        method: GET
        description: List allocation health checks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: evaluations
      path: /evaluations
      operations:
      - name: listevaluations
        method: GET
        description: List evaluations
        inputParameters:
        - name: status
          in: query
          type: string
          description: Filter evaluations by status.
        - name: job
          in: query
          type: string
          description: Filter evaluations by job ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: evaluations-count
      path: /evaluations/count
      operations:
      - name: countevaluations
        method: GET
        description: Count evaluations
        inputParameters:
        - name: status
          in: query
          type: string
          description: Filter the count by evaluation status.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: evaluation-evalid
      path: /evaluation/{evalID}
      operations:
      - name: readevaluation
        method: GET
        description: Read an evaluation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: evaluation-evalid-allocations
      path: /evaluation/{evalID}/allocations
      operations:
      - name: listevaluationallocations
        method: GET
        description: List allocations for an evaluation
        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: $.
    - name: deployment-deploymentid
      path: /deployment/{deploymentID}
      operations:
      - name: readdeployment
        method: GET
        description: Read a deployment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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: $.
    - 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: $.
    - name: nodes
      path: /nodes
      operations:
      - name: listnodes
        method: GET
        description: List nodes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: node-nodeid
      path: /node/{nodeID}
      operations:
      - name: readnode
        method: GET
        description: Read a node
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: node-nodeid-evaluate
      path: /node/{nodeID}/evaluate
      operations:
      - name: evaluatenode
        method: PUT
        description: Create a new evaluation for a node
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: node-nodeid-drain
      path: /node/{nodeID}/drain
      operations:
      - name: drainnode
        method: POST
        description: Set node drain mode
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: node-nodeid-purge
      path: /node/{nodeID}/purge
      operations:
      - name: purgenode
        method: DELETE
        description: Purge a node
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: node-pools
      path: /node/pools
      operations:
      - name: listnodepools
        method: GET
        description: List node pools
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createnodepool
        method: PUT
        description: Create or update a node pool
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: node-pool-poolname
      path: /node/pool/{poolName}
      operations:
      - name: readnodepool
        method: GET
        description: Read a node pool
        inputParameters:
        - name: poolName
          in: path
          type: string
          required: true
          description: The name of the node pool.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletenodepool
        method: DELETE
        description: Delete a node pool
        inputParameters:
        - name: poolName
          in: path
          type: string
          required: true
          description: The name of the node pool.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: services
      path: /services
      operations:
      - name: listservices
        method: GET
        description: List services
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: service-servicename
      path: /service/{serviceName}
      operations:
      - name: readservice
        method: GET
        description: Read a service
        inputParameters:
        - name: serviceName
          in: path
          type: string
          required: true
          description: The name of the service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteservice
        method: DELETE
        description: Delete a service registration
        inputParameters:
        - name: serviceName
          in: path
          type: string
          required: true
          description: The name of the service.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: volumes
      path: /volumes
      operations:
      - name: listvolumes
        method: GET
        description: List volumes
        inputParameters:
        - name: type
          in: query
          type: string
          description: Filter volumes by type (csi or host).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: namespaces
      path: /namespaces
      operations:
      - name: listnamespaces
        method: GET
        description: List namespaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: namespace
      path: /namespace
      operations:
      - name: createnamespace
        method: PUT
        description: Create or update a namespace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: namespace-namespacename
      path: /namespace/{namespaceName}
      operations:
      - name: readnamespace
        method: GET
        description: Read a namespace
        inputParameters:
        - name: namespaceName
          in: path
          type: string
          required: true
          description: The name of the namespace.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletenamespace
        method: DELETE
        description: Delete a namespace
        inputParameters:
        - name: namespaceName
          in: path
          type: string
          required: true
          description: The name of the namespace.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: acl-policies
      path: /acl/policies
      operations:
      - name: listaclpolicies
        method: GET
        description: List ACL policies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: acl-policy-policyname
      path: /acl/policy/{policyName}
      operations:
      - name: readaclpolicy
        method: GET
        description: Read an ACL policy
        inputParameters:
        - name: policyName
          in: path
          type: string
          required: true
          description: The name of the ACL policy.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: upsertaclpolicy
        method: PUT
        description: Create or update an ACL policy
        inputParameters:
        - name: policyName
          in: path
          type: string
          required: true
          description: The name of the ACL policy.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteaclpolicy
        method: DELETE
        description: Delete an ACL policy
        inputParameters:
        - name: policyName
          in: path
          type: string
          required: true
          description: The name of the ACL policy.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: acl-tokens
      path: /acl/tokens
      operations:
      - name: listacltokens
        method: GET
        description: List ACL tokens
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: acl-token
      path: /acl/token
      operations:
      - name: createacltoken
        method: PUT
        description: Create an ACL token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: acl-token-self
      path: /acl/token/self
      operations:
      - name: readselfacltoken
        method: GET
        description: Read own ACL token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: acl-token-tokenaccessorid
      path: /acl/token/{tokenAccessorID}
      operations:
      - name: readacltoken
        method: GET
        description: Read an ACL token
        inputParameters:
        - name: tokenAccessorID
          in: path
          type: string
          required: true
          description: The accessor ID of the ACL token.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteacltoken
        method: DELETE
        description: Delete an ACL token
        inputParameters:
        - name: tokenAccessorID
          in: path
          type: string
          required: true
          description: The accessor ID of the ACL token.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: agent-members
      path: /agent/members
      operations:
      - name: listagentmembers
        method: GET
        description: List agent members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: agent-self
      path: /agent/self
      operations:
      - name: readagentself
        method: GET
        description: Read agent self
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: agent-join
      path: /agent/join
      operations:
      - name: joinagent
        method: PUT
        description: Join an agent
        inputParameters:
        - name: address
          in: query
          type: string
          required: true
          description: The address of the server(s) to join.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: agent-force-leave
      path: /agent/force-leave
      operations:
      - name: forceleaveagent
        method: PUT
        description: Force leave an agent
        inputParameters:
        - name: node
          in: query
          type: string
          required: true
          description: The name of the node to force leave.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: nomad-rest
    description: REST adapter for HashiCorp Nomad HTTP API.
    resources:
    - path: /jobs
      name: listjobs
      operations:
      - method: GET
        name: listjobs
        description: List jobs
        call: nomad.listjobs
        outputParameters:
        - type: object
          mapping: $.
    - path: /jobs
      name: registerjob
      operations:
      - method: PUT
        name: registerjob
        description: Register a new job
        call: nomad.registerjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /jobs/parse
      name: parsejob
      operations:
      - method: PUT
        name: parsejob
        description: Parse a job specification
        call: nomad.parsejob
        outputParameters:
        - type: object
          mapping: $.
    - path: /jobs/statuses
      name: listjobstatuses
      operations:
      - method: GET
        name: listjobstatuses
        description: List job statuses
        call: nomad.listjobstatuses
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}
      name: readjob
      operations:
      - method: GET
        name: readjob
        description: Read a job
        call: nomad.readjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}
      name: deregisterjob
      operations:
      - method: DELETE
        name: deregisterjob
        description: Deregister a job
        call: nomad.deregisterjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/evaluate
      name: evaluatejob
      operations:
      - method: PUT
        name: evaluatejob
        description: Create a new evaluation for a job
        call: nomad.evaluatejob
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/plan
      name: planjob
      operations:
      - method: PUT
        name: planjob
        description: Plan a job update
        call: nomad.planjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/allocations
      name: listjoballocations
      operations:
      - method: GET
        name: listjoballocations
        description: List allocations for a job
        call: nomad.listjoballocations
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/evaluations
      name: listjobevaluations
      operations:
      - method: GET
        name: listjobevaluations
        description: List evaluations for a job
        call: nomad.listjobevaluations
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/deployments
      name: listjobdeployments
      operations:
      - method: GET
        name: listjobdeployments
        description: List deployments for a job
        call: nomad.listjobdeployments
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/versions
      name: listjobversions
      operations:
      - method: GET
        name: listjobversions
        description: List versions of a job
        call: nomad.listjobversions
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/revert
      name: revertjob
      operations:
      - method: PUT
        name: revertjob
        description: Revert job to an older version
        call: nomad.revertjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/stable
      name: setjobstability
      operations:
      - method: PUT
        name: setjobstability
        description: Set job stability
        call: nomad.setjobstability
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/summary
      name: readjobsummary
      operations:
      - method: GET
        name: readjobsummary
        description: Read a job summary
        call: nomad.readjobsummary
        outputParameters:
        - type: object
          mapping: $.
    - path: /job/{jobID}/dispatch
      name: dispatchjob
      operations:
      - method: PUT
        name: dispatchjob
        description: Dispatch a parameterized job
        call: nomad.dispatchjob
        outputParameters:
        - type: object
          mapping: $.
    - path: /allocations
      name: listallocations
      operations:
      - method: GET
        name: listallocations
        description: List allocations
        call: nomad.listallocations
        outputParameters:
        - type: object
          mapping: $.
    - path: /allocation/{allocID}
      name: readallocation
      operations:
      - method: GET
        name: readallocation
        description: Read an allocation
        call: nomad.readallocation
        outputParameters:
        - type: object
          mapping: $.
    - path: /allocation/{allocID}/services
      name: listallocationservices
      operations:
      - method: GET
        name: listallocationservices
        description: List allocation services
        call: nomad.listallocationservices
        outputParameters:
        - type: object
          mapping: $.
    - path: /allocation/{allocID}/checks
      name: listallocationchecks
      operations:
      - method: GET
        name: listallocationchecks
        description: List allocation health checks
        call: nomad.listallocationchecks
        outputParameters:
        - type: object
          mapping: $.
    - path: /evaluations
      name: listevaluations
      operations:
      - method: GET
        name: listevaluations
        description: List evaluations
        call: nomad.listevaluations
        outputParameters:
        - type: object
          mapping: $.
    - path: /evaluations/count
      name: countevaluations
      operations:
      - method: GET
        name: countevaluations
        description: Count evaluations
        call: nomad.countevaluations
        outputParameters:
        - type: object
          mapping: $.
    - path: /evaluation/{evalID}
      name: readevaluation
      operations:
      - method: GET
        name: readevaluation
        description: Read an evaluation
        call: nomad.readevaluation
        outputParameters:
        - type: object
          mapping: $.
    - path: /evaluation/{evalID}/allocations
      name: listevaluationallocations
      operations:
      - method: GET
        name: listevaluationallocations
        description: List allocations for an evaluation
        call: nomad.listevaluationallocations
        outputParameters:
        - type: object
          mapping: $.
    - path: /deployments
      name: listdeployments
      operations:
      - method: GET
        name: listdeployments
        description: List deployments
        call: nomad.listdeployments
        outputParameters:
        - type: object
          mapping: $.
    - path: /deployment/{deploymentID}
      name: readdeployment
      operations:
      - method: GET
        name: readdeployment
        description: Read a deployment
        call: nomad.readdeployment
        outputParameters:
        - type: object
          mapping: $.
    - path: /deployment/allocations/{deploymentID}
      name: listdeploymentallocations
      operations:
      - method: GET
        name: listdeploymentallocations
        description: List deployment allocations
        call: nomad.listdeploymentallocations
        outputParameters:
        - type: object
          mapping: $.
    - path: /deployment/fail/{deploymentID}
      name: faildeployment
      operations:
      - method: PUT
        name: faildeployment
        description: Fail a deployment
        call: nomad.faildeployment
        outputParameters:
        - type: object
          mapping: $.
    - path: /deployment/pause/{deploymentID}
      name: pausedeployment
      operations:
      - method: PUT
        name: pausedeployment
        description: Pause or resume a deployment
        call: nomad.pausedeployment
        outputParameters:
        - type: object
          mapping: $.
    - path: /deployment/promote/{deploymentID}
      name: promotedeployment
      operations:
      - method: PUT
        name: promotedeployment
        description: Promote a deployment
        call: nomad.promotedeployment
        outputParameters:
        - type: object
          mapping: $.
    - path: /nodes
      name: listnodes
      operations:
      - method: GET
        name: listnodes
        description: List nodes
        call: nomad.listnodes
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/{nodeID}
      name: readnode
      operations:
      - method: GET
        name: readnode
        description: Read a node
        call: nomad.readnode
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/{nodeID}/evaluate
      name: evaluatenode
      operations:
      - method: PUT
        name: evaluatenode
        description: Create a new evaluation for a node
        call: nomad.evaluatenode
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/{nodeID}/drain
      name: drainnode
      operations:
      - method: POST
        name: drainnode
        description: Set node drain mode
        call: nomad.drainnode
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/{nodeID}/purge
      name: purgenode
      operations:
      - method: DELETE
        name: purgenode
        description: Purge a node
        call: nomad.purgenode
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/pools
      name: listnodepools
      operations:
      - method: GET
        name: listnodepools
        description: List node pools
        call: nomad.listnodepools
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/pools
      name: createnodepool
      operations:
      - method: PUT
        name: createnodepool
        description: Create or update a node pool
        call: nomad.createnodepool
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/pool/{poolName}
      name: readnodepool
      operations:
      - method: GET
        name: readnodepool
        description: Read a node pool
        call: nomad.readnodepool
        with:
          poolName: rest.poolName
        outputParameters:
        - type: object
          mapping: $.
    - path: /node/pool/{poolName}
      name: deletenodepool
      operations:
      - method: DELETE
        name: deletenodepool
        description: Delete a node pool
        call: nomad.deletenodepool
        with:
          poolName: rest.poolName
        outputParameters:
        - type: object
          mapping: $.
    - path: /services
      name: listservices
      operations:
      - method: GET
        name: listservices
        description: List services
        call: nomad.listservices
        outputParameters:
        - type: object
          mapping: $.
    - path: /service/{serviceName}
      name: readservice
      operations:
      - method: GET
        name: readservice
        description: Read a service
        call: nomad.readservice
        with:
          serviceName: rest.serviceName
        outputParameters:
        - type: object
          mapping: $.
    - path: /service/{serviceName}
      name: deleteservice
      operatio

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nomad/refs/heads/main/capabilities/nomad-capability.yaml