---
description: Create and manage namespaces representing logs monitored by the Cloudflare Auditor.
title: Namespaces
image: https://developers.cloudflare.com/og-docs.png
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/key-transparency/llms.txt  
> Use this file to discover all available pages before exploring further.

# Namespaces

Last updated Aug 24, 2026|Copy as Markdown|[View as Markdown](https://mchen-ai-models-sync.previews.developers.cloudflare.com/key-transparency/api/namespaces/index.md)|[Agent setup](https://mchen-ai-models-sync.previews.developers.cloudflare.com/agent-setup/)

The Cloudflare Key Transparency API is organized in namespaces, each one representing a Log monitored by Cloudflare Auditor. If you want to register a namespace, contact us.

## Create a namespace

The following fields are required when making a `POST` request:

* `name`
* `public`
* `root`
* `signature_version`:  
  * 0x0001 for [Protobuf serialisation ↗](https://github.com/cloudflare/plexi/blob/main/plexi%5Fcore/src/proto/specs/types.proto) Ed25519 signature from the Auditor
  * 0x0002 for [bincode serialisation ↗](https://github.com/bincode-org/bincode/blob/trunk/docs/spec.md) E25519 serialisation by the Auditor

The `log_directory` field is optional. If set, Cloudflare will use it to fetch audit proofs and validate them.

This API is authenticated via [mTLS ↗](https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/).

```sh
curl 'https://plexi.key-transparency.cloudflare.com/namespaces' \
        	--header 'Content-Type: application/json' \
        	--data '{
 	"name": "your.new.log.com",
 	"root": "1/1111111111111111111111111111111111111111111111111111111111111111",
 	"log_directory": "https://your.new.log.com/path/to/proofs",
	"signature_version": 1
  }'
{
  "name": "your.new.log.com",
  "log_directory": "https://your.new.log.com/path/to/proofs",
  "root": "1/1111111111111111111111111111111111111111111111111111111111111111",
  "status": "Initialization",
  "reports_uri": "/namespaces/your.new.log.com/reports",
  "audits_uri": "/namespaces/your.new.log.com/audits",
  "signature_version": 1
}
```

After publishing the first epoch, `status` will show `Online`. Possible statuses include:

* `Online`
* `Initialization`
* `Disabled`

## List all namespaces

Refer to the example below to get information about all public namespaces.

```sh
curl 'https://plexi.key-transparency.cloudflare.com/namespaces'
{
   "namespaces": [
       { "name": "your.new.log.com", "root": "1/abc", "reports_uri": "/namespaces/your.new.log.com/reports", "audits_uri": "/namespaces/your.new.log.com/audits", "log_directory": "https://your.new.log.com/path/to/proofs", "status": "online" },
       { "name": "my.new.log.com", "reports_uri": "/namespaces/meta-bt-2024/reports", "audits_uri": "/namespaces/meta-bt-2024/audits", "status": "initialization" }
   ]
}
```

## Disable a namespace

If a log state has been corrupted, lost, or needs to be sharded to be maintainable, the Auditor allows the Log operator to mark a namespace as `Disabled`.

This API is authenticated via [mTLS ↗](https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/).

```sh
curl -X PATCH 'https://plexi.key-transparency.cloudflare.com/namespaces/{namespace}' \
        	-H 'Content-Type: application/json' \
        	-d '{
 	"status": "Disabled"
  }'
{
  "name": "your.new.log.com",
  "log_directory": "https://your.new.log.com/path/to/proofs",
  "root": "1/1111111111111111111111111111111111111111111111111111111111111111",
  "status": "Disabled",
  "reports_uri": "/namespaces/your.new.log.com/reports",
  "audits_uri": "/namespaces/your.new.log.com/audits",
  "signature_version": 1
}
```

Was this helpful?

YesNo

## On this page

[![](https://mchen-ai-models-sync.previews.developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://mchen-ai-models-sync.previews.developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/key-transparency/api/namespaces/#page","headline":"Namespaces · Cloudflare Key Transparency Auditor docs","description":"Create and manage namespaces representing logs monitored by the Cloudflare Auditor.","url":"https://developers.cloudflare.com/key-transparency/api/namespaces/","inLanguage":"en","image":"https://developers.cloudflare.com/og-docs.png","dateModified":"2026-08-24","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"},"keywords":["REST API","mTLS"]}
```
