HashiCorp Nomad Evaluations API
Endpoints for querying evaluations. Evaluations are the mechanism by which Nomad makes scheduling decisions.
Endpoints for querying evaluations. Evaluations are the mechanism by which Nomad makes scheduling decisions.
openapi: 3.1.0
info:
title: HashiCorp Nomad HTTP ACL Evaluations 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: Evaluations
description: Endpoints for querying evaluations. Evaluations are the mechanism by which Nomad makes scheduling decisions.
paths:
/evaluations:
get:
operationId: listEvaluations
summary: List evaluations
description: Lists all evaluations in the system. Supports filtering by job ID and evaluation status (blocked, pending, complete, failed, or canceled).
tags:
- Evaluations
parameters:
- $ref: '#/components/parameters/PrefixParam'
- $ref: '#/components/parameters/NamespaceParam'
- $ref: '#/components/parameters/NextTokenParam'
- $ref: '#/components/parameters/PerPageParam'
- $ref: '#/components/parameters/FilterParam'
- name: status
in: query
description: Filter evaluations by status.
schema:
type: string
enum:
- blocked
- pending
- complete
- failed
- canceled
- name: job
in: query
description: Filter evaluations by job ID.
schema:
type: string
responses:
'200':
description: A list of evaluations
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Evaluation'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
/evaluations/count:
get:
operationId: countEvaluations
summary: Count evaluations
description: Returns a count of evaluations in the system, optionally filtered by status.
tags:
- Evaluations
parameters:
- name: status
in: query
description: Filter the count by evaluation status.
schema:
type: string
enum:
- blocked
- pending
- complete
- failed
- canceled
responses:
'200':
description: Evaluation count
content:
application/json:
schema:
type: object
properties:
Count:
type: integer
description: The number of evaluations matching the filter.
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
/evaluation/{evalID}:
get:
operationId: readEvaluation
summary: Read an evaluation
description: Returns the full details of the specified evaluation.
tags:
- Evaluations
parameters:
- $ref: '#/components/parameters/EvalIDParam'
responses:
'200':
description: Evaluation details
content:
application/json:
schema:
$ref: '#/components/schemas/Evaluation'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
/evaluation/{evalID}/allocations:
get:
operationId: listEvaluationAllocations
summary: List allocations for an evaluation
description: Returns a list of allocations created or modified by the specified evaluation.
tags:
- Evaluations
parameters:
- $ref: '#/components/parameters/EvalIDParam'
responses:
'200':
description: A list of allocation stubs
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AllocationListStub'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
components:
responses:
NotFound:
description: Resource not found
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
InternalError:
description: Internal server error
content:
application/json:
schema:
type: object
properties:
message:
type: string
parameters:
PerPageParam:
name: per_page
in: query
description: Maximum number of results to return per page.
schema:
type: integer
FilterParam:
name: filter
in: query
description: Specifies the expression used to filter the results.
schema:
type: string
NamespaceParam:
name: namespace
in: query
description: The target namespace. Defaults to the default namespace.
schema:
type: string
NextTokenParam:
name: next_token
in: query
description: Indicates where to start paging for queries that support pagination.
schema:
type: string
PrefixParam:
name: prefix
in: query
description: Specifies a string to filter results based on an ID prefix.
schema:
type: string
EvalIDParam:
name: evalID
in: path
required: true
description: The ID of the evaluation.
schema:
type: string
schemas:
AllocationListStub:
type: object
description: A stub representation of an allocation returned in list operations.
properties:
ID:
type: string
EvalID:
type: string
Name:
type: string
Namespace:
type: string
NodeID:
type: string
NodeName:
type: string
JobID:
type: string
JobVersion:
type: integer
TaskGroup:
type: string
DesiredStatus:
type: string
ClientStatus:
type: string
DeploymentStatus:
type: object
properties:
Healthy:
type: boolean
Canary:
type: boolean
CreateIndex:
type: integer
ModifyIndex:
type: integer
CreateTime:
type: integer
format: int64
ModifyTime:
type: integer
format: int64
Evaluation:
type: object
description: An evaluation represents a scheduling decision made by Nomad.
properties:
ID:
type: string
description: The unique ID of the evaluation.
Priority:
type: integer
Type:
type: string
TriggeredBy:
type: string
description: The event that triggered the evaluation.
Namespace:
type: string
JobID:
type: string
JobModifyIndex:
type: integer
NodeID:
type: string
NodeModifyIndex:
type: integer
DeploymentID:
type: string
Status:
type: string
description: The status of the evaluation.
enum:
- blocked
- pending
- complete
- failed
- canceled
StatusDescription:
type: string
Wait:
type: integer
NextEval:
type: string
PreviousEval:
type: string
BlockedEval:
type: string
CreateIndex:
type: integer
ModifyIndex:
type: integer
CreateTime:
type: integer
format: int64
ModifyTime:
type: integer
format: int64
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