HashiCorp Nomad Search API

Endpoints for searching across Nomad objects by prefix or fuzzy match.

OpenAPI Specification

nomad-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: HashiCorp Nomad HTTP ACL Search 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: Search
  description: Endpoints for searching across Nomad objects by prefix or fuzzy match.
paths:
  /search:
    post:
      operationId: prefixSearch
      summary: Prefix search
      description: Searches for objects by prefix match across multiple object types.
      tags:
      - Search
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - Prefix
              - Context
              properties:
                Prefix:
                  type: string
                  description: The prefix to search for.
                Context:
                  type: string
                  description: The context to search within (jobs, evals, allocs, nodes, deployment, plugins, namespaces, volumes).
                  enum:
                  - jobs
                  - evals
                  - allocs
                  - nodes
                  - deployment
                  - plugins
                  - namespaces
                  - volumes
      responses:
        '200':
          description: Search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  Matches:
                    type: object
                  Truncations:
                    type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
  /search/fuzzy:
    post:
      operationId: fuzzySearch
      summary: Fuzzy search
      description: Performs a fuzzy search across Nomad objects by text match.
      tags:
      - Search
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - Text
              - Context
              properties:
                Text:
                  type: string
                  description: The text to search for.
                Context:
                  type: string
                  description: The context to search within.
      responses:
        '200':
          description: Fuzzy search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  Matches:
                    type: object
                  Truncations:
                    type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
    Unauthorized:
      description: Unauthorized - missing or invalid ACL token
      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