HashiCorp Nomad Operator API

Endpoints for cluster-level operations such as Raft peer management and autopilot configuration.

Operations 5

GET /operator/raft/configuration Read Raft configuration #
DELETE /operator/raft/peer Remove a Raft peer #
GET /operator/autopilot/configuration Read autopilot configuration #
PUT /operator/autopilot/configuration Update autopilot configuration #
GET /operator/autopilot/health Read autopilot health #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nomad-operator-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

nomad-operator-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HashiCorp Nomad HTTP ACL Operator 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.
  version: 1.9.0
  contact:
    name: HashiCorp Support
    url: https://support.hashicorp.com
  termsOfService: https://www.hashicorp.com/terms-of-service
  license:
    name: Business Source License 1.1
    url: https://github.com/hashicorp/nomad/blob/main/LICENSE
servers:
- url: http://localhost:4646/v1
  description: Local Nomad Agent
security:
- nomadToken: []
- bearerAuth: []
tags:
- name: Operator
  description: Endpoints for cluster-level operations such as Raft peer management and autopilot configuration.
paths:
  /operator/raft/configuration:
    get:
      operationId: readRaftConfiguration
      summary: Read Raft configuration
      description: Returns the current Raft peer configuration of the cluster.
      tags:
      - Operator
      responses:
        '200':
          description: Raft configuration
          content:
            application/json:
              schema:
                type: object
                properties:
                  Servers:
                    type: array
                    items:
                      type: object
                      properties:
                        ID:
                          type: string
                        Node:
                          type: string
                        Address:
                          type: string
                        Leader:
                          type: boolean
                        Voter:
                          type: boolean
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
  /operator/raft/peer:
    delete:
      operationId: removeRaftPeer
      summary: Remove a Raft peer
      description: Removes a Raft peer from the cluster. This is useful when a server has permanently failed and will not be returning.
      tags:
      - Operator
      parameters:
      - name: address
        in: query
        description: The address of the peer to remove.
        schema:
          type: string
      - name: id
        in: query
        description: The ID of the peer to remove.
        schema:
          type: string
      responses:
        '200':
          description: Peer removed
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
  /operator/autopilot/configuration:
    get:
      operationId: readAutopilotConfiguration
      summary: Read autopilot configuration
      description: Returns the current autopilot configuration.
      tags:
      - Operator
      responses:
        '200':
          description: Autopilot configuration
          content:
            application/json:
              schema:
                type: object
                properties:
                  CleanupDeadServers:
                    type: boolean
                  LastContactThreshold:
                    type: string
                  MaxTrailingLogs:
                    type: integer
                  ServerStabilizationTime:
                    type: string
                  EnableRedundancyZones:
                    type: boolean
                  DisableUpgradeMigration:
                    type: boolean
                  EnableCustomUpgrades:
                    type: boolean
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
    put:
      operationId: updateAutopilotConfiguration
      summary: Update autopilot configuration
      description: Updates the autopilot configuration.
      tags:
      - Operator
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                CleanupDeadServers:
                  type: boolean
                LastContactThreshold:
                  type: string
                MaxTrailingLogs:
                  type: integer
                ServerStabilizationTime:
                  type: string
      responses:
        '200':
          description: Configuration updated
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
  /operator/autopilot/health:
    get:
      operationId: readAutopilotHealth
      summary: Read autopilot health
      description: Returns the health status of the cluster as determined by the autopilot.
      tags:
      - Operator
      responses:
        '200':
          description: Cluster health
          content:
            application/json:
              schema:
                type: object
                properties:
                  Healthy:
                    type: boolean
                  FailureTolerance:
                    type: integer
                  Servers:
                    type: array
                    items:
                      type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    Unauthorized:
      description: Unauthorized - missing or invalid ACL token
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
  securitySchemes:
    nomadToken:
      type: apiKey
      name: X-Nomad-Token
      in: header
      description: ACL token passed via the X-Nomad-Token request header.
    bearerAuth:
      type: http
      scheme: bearer
      description: ACL token passed via the Authorization header with Bearer scheme.
externalDocs:
  description: Nomad HTTP API Documentation
  url: https://developer.hashicorp.com/nomad/api-docs