Skip to content

Delete a Namespace

DELETE
/v1/namespaces/{namespace}
curl --request DELETE \
--url https://app.caprid.com/v1/namespaces/acme \
--cookie __Host-switchboard_session=<__Host-switchboard_session>

Deletes the Namespace and its Signing keys. Client tokens they signed stop working, and relays stop carrying the Namespace’s tracks when they next check a session, within about a minute.

This can’t be undone, and the name can never be used again, by you or anyone else.

Owners only, signed in with a session. An API key can never delete a Namespace, so a leaked one can’t destroy something you can’t get back.

Your Nodes, Regions and enrollments belong to the Organization and stay as they are. You can delete the Organization’s last Namespace. The Organization stays, with no Namespaces, until you create another.

namespace
required

A Namespace’s name, which is the root of every path signed for it. It never changes. Use lowercase letters, digits and hyphens, and start and end with a letter or digit. Some names, like admin and default, are reserved, and so is every name that starts with trial-, which only Trial Organizations get.

string
>= 3 characters <= 32 characters /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/

Example

acme

Deleted.

No valid credential. Missing, expired and revoked credentials all get the same response, and so does an API key whose trial has lapsed. An Agent token from before a claim gets a 401 too, once the claim has made the trial a person’s, with a message saying to get a new token.

Media typeapplication/json
object
error
required
string

Example

{
"error": "the requested grants exceed the key's scope"
}
WWW-Authenticate
string
Example
Bearer realm="switchboard"

You aren’t an Owner, or you sent an API key.

Media typeapplication/json
object
error
required
string

Example

{
"error": "only an Owner can delete a Namespace"
}

No such thing, or not yours. Another customer’s Organization or Namespace is a 404 too, so nobody can tell which ones exist.

Media typeapplication/json
object
error
required
string

Example

{
"error": "the requested grants exceed the key's scope"
}