Namespace management
Namespaces are managed through the Cloudflare REST API. A namespace is a top-level container that scopes memory profiles for your application.
All requests require an API token with the appropriate permissions.
https://api.cloudflare.com/client/v4/accounts/{account_id}/agent-memory/namespacesInclude your API token in the Authorization header:
Authorization: Bearer {api_token}Creates a new namespace for the given account.
POST /client/v4/accounts/{account_id}/agent-memory/namespaces{ "name": "my-app"}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The namespace name. Maximum 32 characters. Lowercase letters, digits, and hyphens only ([a-z0-9-]). Must be unique within the account. |
{ "result": { "namespace_id": "01JSGCEXAMPLE000000000000", "name": "my-app", "created_at": "2026-04-21T00:00:00.000Z", "updated_at": "2026-04-21T00:00:00.000Z" }, "success": true, "errors": [], "messages": []}curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/agent-memory/namespaces" \ -H "Authorization: Bearer {api_token}" \ -H "Content-Type: application/json" \ -d '{"name": "my-app"}'Lists all namespaces for the given account. Results are paginated.
GET /client/v4/accounts/{account_id}/agent-memory/namespaces| Parameter | Type | Default | Description |
|---|---|---|---|
per_page | integer | 20 | Number of results per page. Range: 1 to 1000. |
cursor | string | — | Cursor for the next page of results. Returned in the result_info of the previous response. |
{ "result": [ { "namespace_id": "01JSGCEXAMPLE000000000000", "name": "my-app", "created_at": "2026-04-21T00:00:00.000Z", "updated_at": "2026-04-21T00:00:00.000Z" } ], "result_info": { "count": 1, "cursor": "" }, "success": true, "errors": [], "messages": []}curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/agent-memory/namespaces?per_page=50" \ -H "Authorization: Bearer {api_token}"Retrieves a single namespace by name.
GET /client/v4/accounts/{account_id}/agent-memory/namespaces/{namespace_name}{ "result": { "namespace_id": "01JSGCEXAMPLE000000000000", "name": "my-app", "created_at": "2026-04-21T00:00:00.000Z", "updated_at": "2026-04-21T00:00:00.000Z" }, "success": true, "errors": [], "messages": []}curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/agent-memory/namespaces/my-app" \ -H "Authorization: Bearer {api_token}"Soft-deletes a namespace. The namespace name becomes available for reuse after deletion.
DELETE /client/v4/accounts/{account_id}/agent-memory/namespaces/{namespace_name}{ "result": null, "success": true, "errors": [], "messages": []}curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/{account_id}/agent-memory/namespaces/my-app" \ -H "Authorization: Bearer {api_token}"All endpoints return standard Cloudflare V4 error responses on failure:
{ "result": null, "success": false, "errors": [ { "code": 10001, "message": "Namespace name already exists" } ], "messages": []}Common error scenarios:
| Scenario | HTTP status |
|---|---|
| Invalid namespace name format | 400 |
| Authentication failure | 401 |
| Namespace name already exists | 409 |
| Namespace not found | 404 |