Files
nomad/website/content/commands/operator/api.mdx
Aimee Ukasick 53b083b8c5 Docs: Nomad IA (#26063)
* Move commands from docs to its own root-level directory

* temporarily use modified dev-portal branch with nomad ia changes

* explicitly clone nomad ia exp branch

* retrigger build, fixed dev-portal broken build

* architecture, concepts and get started individual pages

* fix get started section destinations

* reference section

* update repo comment in website-build.sh to show branch

* docs nav file update capitalization

* update capitalization to force deploy

* remove nomad-vs-kubernetes dir; move content to what is nomad pg

* job section

* Nomad operations category, deploy section

* operations category, govern section

* operations - manage

* operations/scale; concepts scheduling fix

* networking

* monitor

* secure section

* remote auth-methods folder and move up pages to sso; linkcheck

* Fix install2deploy redirects

* fix architecture redirects

* Job section: Add missing section index pages

* Add section index pages so breadcrumbs build correctly

* concepts/index fix front matter indentation

* move task driver plugin config to new deploy section

* Finish adding full URL to tutorials links in nav

* change SSO to Authentication in nav and file system

* Docs NomadIA: Move tutorials into NomadIA branch (#26132)

* Move governance and policy from tutorials to docs

* Move tutorials content to job-declare section

* run jobs section

* stateful workloads

* advanced job scheduling

* deploy section

* manage section

* monitor section

* secure/acl and secure/authorization

* fix example that contains an unseal key in real format

* remove images from sso-vault

* secure/traffic

* secure/workload-identities

* vault-acl change unseal key and root token in command output sample

* remove lines from sample output

* fix front matter

* move nomad pack tutorials to tools

* search/replace /nomad/tutorials links

* update acl overview with content from deleted architecture/acl

* fix spelling mistake

* linkcheck - fix broken links

* fix link to Nomad variables tutorial

* fix link to Prometheus tutorial

* move who uses Nomad to use cases page; move spec/config shortcuts

add dividers

* Move Consul out of Integrations; move namespaces to govern

* move integrations/vault to secure/vault; delete integrations

* move ref arch to docs; rename Deploy Nomad back to Install Nomad

* address feedback

* linkcheck fixes

* Fixed raw_exec redirect

* add info from /nomad/tutorials/manage-jobs/jobs

* update page content with newer tutorial

* link updates for architecture sub-folders

* Add redirects for removed section index pages. Fix links.

* fix broken links from linkcheck

* Revert to use dev-portal main branch instead of nomadIA branch

* build workaround: add intro-nav-data.json with single entry

* fix content-check error

* add intro directory to get around Vercel build error

* workound for emtpry directory

* remove mdx from /intro/ to fix content-check and git snafu

* Add intro index.mdx so Vercel build should work

---------

Co-authored-by: Tu Nguyen <im2nguyen@gmail.com>
2025-07-08 19:24:52 -05:00

93 lines
2.7 KiB
Plaintext

---
layout: docs
page_title: 'nomad operator api command reference'
description: |
The `nomad operator api` command is a cURL-like utility command for accessing Nomad's HTTP API.
---
# `nomad operator api` command reference
The `operator api` command allows easy access to Nomad's HTTP API similar to
the popular [curl] program. Nomad's `operator api` command reads [environment
variables][envvars] to dramatically ease HTTP API access compared to trying to
manually write the same command with the third party `curl` command.
For example for the following environment:
```
NOMAD_TOKEN=d4434353-c797-19e4-a14d-4068241f86a4
NOMAD_CACERT=$HOME/.nomad/ca.pem
NOMAD_CLIENT_CERT=$HOME/.nomad/cli.pem
NOMAD_CLIENT_KEY=$HOME/.nomad/client-key.pem
NOMAD_TLS_SERVER_NAME=client.global.nomad
NOMAD_ADDR=https://remote.client123.internal:4646
```
Accessing Nomad's [`/v1/jobs`][jobs] HTTP endpoint with `nomad operator
api` would require:
```
nomad operator api /v1/jobs
```
Performing the same request using the external `curl` tool would require:
```
curl \
--cacert "$HOME/.nomad/ca.pem" \
--cert "$HOME/.nomad/client.pem" \
--key "$HOME/.nomad/client-key.pem" \
--connect-to "client.global.nomad:4646:remote.client123.internal:4646" \
-H "X-Nomad-Token: ${NOMAD_TOKEN}" \
https://client.global.nomad:4646/v1/jobs
```
## Options
- `-dryrun`: output a curl command instead of performing the HTTP request
immediately. Note that you do *not* need the 3rd party `curl` command
installed to use `operator api`. The `curl` output from `-dryrun` is intended
for use in scripts or running in locations without a Nomad binary present.
- `-filter`: Specifies an expression used to filter query results.
- `-H`: Adds an additional HTTP header to the request. May be specified more
than once. These headers take precedence over automatically set ones such as
X-Nomad-Token.
- `-verbose`: Output extra information to stderr similar to curl's --verbose
flag.
- `-X`: HTTP method of request. If there is data piped to stdin, then the
method defaults to POST. Otherwise the method defaults to GET.
## Examples
```shell-session
$ nomad operator api -verbose /v1/agent/members?pretty
> GET http://127.0.0.1:4646/v1/agent/members?pretty=
* Sending request and receiving response...
< HTTP/1.1 200 OK
< Date: Wed, 02 Mar 2022 01:10:59 GMT
< Content-Type: application/json
< Vary: Accept-Encoding
{
"Members": [
...
$ nomad operator api -region eu-west -filter 'Status == "completed"' -dryrun /v1/evaluations
curl \
-X GET \
http://127.0.0.1:4646/v1/evaluations?filter=.Status+%3D%3D+%22completed%22&region=eu-west
```
## General options
@include 'general_options.mdx'
[curl]: https://curl.se/
[envvars]: /nomad/docs/commands#environment-variables
[jobs]: /nomad/api-docs/jobs