Namespace HTTP API

The /namespace endpoints are used to query for and interact with namespaces.

List Namespaces

This endpoint lists all namespaces.

MethodPathProduces
GET/v1/namespacesapplication/json

The table below shows this endpoint's support for blocking queries and required ACLs.

Blocking QueriesACL Required
YESnamespace:*
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.

MethodPathProduces
GET/v1/namespace/:namespaceapplication/json

The table below shows this endpoint's support for blocking queries and required ACLs.

Blocking QueriesACL Required
YESnamespace:*
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.

MethodPathProduces
POST/v1/namespace/:namespace
/v1/namespace
application/json

The table below shows this endpoint's support for blocking queries and required ACLs.

Blocking QueriesACL Required
NOmanagement

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.

MethodPathProduces
DELETE/v1/namespace/:namespaceapplication/json

The table below shows this endpoint's support for blocking queries and required ACLs.

Blocking QueriesACL Required
NOmanagement

Parameters

  • :namespace (string: <required>)- Specifies the namespace to delete.

Sample Request

$ curl \
    --request DELETE \
    https://localhost:4646/v1/namespace/api-prod