A2A — Namespaces
The namespaces method namespace provides full CRUD for namespaces and their endpoint deployments. This is the programmatic equivalent of the Namespaces UI.
Methods
namespaces.list
Returns all namespaces in the workspace.
Params: none
Returns: Array of namespace objects with id, name, slug, endpoint_count, created_at.
namespaces.create
Creates a new namespace.
Params:
| Param | Type | Required | Description |
|---|---|---|---|
name | string | yes | Display name |
slug | string | yes | URL-safe identifier (immutable after creation) |
description | string | no | Short description |
namespaces.get
Returns a single namespace by ID or slug, including its endpoint list.
Params: { "id": "ns_abc123" } or { "slug": "prod" }
namespaces.delete
Deletes a namespace. All endpoints are stopped and removed. API keys scoped to this namespace are revoked.
Params: { "id": "ns_abc123" }
namespaces.endpoints.deploy
Deploys a model to a namespace.
Params:
| Param | Type | Required | Description |
|---|---|---|---|
namespace_id | string | yes | Target namespace ID |
model_id | string | yes | Canonical model ID (e.g. openai/gpt-4o) |
alias | string | no | Override model ID for callers in this namespace |
rate_limit_rpm | integer | no | Max requests per minute |
rate_limit_tpm | integer | no | Max tokens per minute |
namespaces.endpoints.remove
Removes an endpoint from a namespace.
Params: { "namespace_id": "ns_abc123", "endpoint_id": "ep_xyz789" }
namespaces.endpoints.update (modify rate limits, aliases, system prompt overrides without redeploying) is being added.