Nomad
Namespace HTTP API
The /namespace endpoints are used to query for and interact with namespaces.
Prior to Nomad 1.0 Namespaces were an Enterprise-only feature.
List Namespaces
This endpoint lists all namespaces.
| Method | Path | Produces | 
|---|---|---|
| GET | /v1/namespaces | application/json | 
The table below shows this endpoint's support for blocking queries and required ACLs.
| Blocking Queries | ACL Required | 
|---|---|
| YES | namespace:*Any capability on the namespace authorizes the endpoint | 
Parameters
- prefix- (string: "")- Specifies a string to filter namespaces on based on an index prefix. This is specified as a query string parameter.
Sample Request
$ curl \
    https://localhost:4646/v1/namespaces
$ curl \
    https://localhost:4646/v1/namespaces?prefix=prod
Sample Response
[
  {
    "CreateIndex": 31,
    "Description": "Production API Servers",
    "ModifyIndex": 31,
    "Name": "api-prod",
    "Quota": ""
  },
  {
    "CreateIndex": 5,
    "Description": "Default shared namespace",
    "ModifyIndex": 5,
    "Name": "default",
    "Quota": ""
  }
]
Read Namespace
This endpoint reads information about a specific namespace.
| Method | Path | Produces | 
|---|---|---|
| GET | /v1/namespace/:namespace | application/json | 
The table below shows this endpoint's support for blocking queries and required ACLs.
| Blocking Queries | ACL Required | 
|---|---|
| YES | namespace:*Any capability on the namespace authorizes the endpoint | 
Parameters
- :namespace- (string: <required>)- Specifies the namespace to query.
Sample Request
$ curl \
    https://localhost:4646/v1/namespace/api-prod
Sample Response
{
  "CreateIndex": 31,
  "Description": "Production API Servers",
  "Quota": "",
  "Hash": "N8WvePwqkp6J354eLJMKyhvsFdPELAos0VuBfMoVKoU=",
  "ModifyIndex": 31,
  "Name": "api-prod"
}
Create or Update Namespace
This endpoint is used to create or update a namespace.
| Method | Path | Produces | 
|---|---|---|
| POST | /v1/namespace/:namespace/v1/namespace | application/json | 
The table below shows this endpoint's support for blocking queries and required ACLs.
| Blocking Queries | ACL Required | 
|---|---|
| NO | management | 
Parameters
- Name- (string: <required>)- Specifies the namespace to create or update.
- Description- (string: "")- Specifies an optional human-readable description of the namespace.
- Quota- (string: "")- Specifies an quota to attach to the namespace.
Sample Payload
{
  "Name": "api-prod",
  "Description": "Production API Servers",
  "Quota": "prod-quota"
}
Sample Request
$ curl \
    --request POST \
    --data @namespace.json \
    https://localhost:4646/v1/namespace/api-prod
$ curl \
    --request POST \
    --data @namespace.json \
    https://localhost:4646/v1/namespace
Delete Namespace
This endpoint is used to delete a namespace.
| Method | Path | Produces | 
|---|---|---|
| DELETE | /v1/namespace/:namespace | application/json | 
The table below shows this endpoint's support for blocking queries and required ACLs.
| Blocking Queries | ACL Required | 
|---|---|
| NO | management | 
Parameters
- :namespace- (string: <required>)- Specifies the namespace to delete.
Sample Request
$ curl \
    --request DELETE \
    https://localhost:4646/v1/namespace/api-prod