- Created implicitly by the first write or judgment. There is no create call.
- Hierarchical names.
acme/prod/tenant_123is a namespace. Listing, deletion and API key scoping work on the prefix (acme/prod/). A judgment created onacme/prod/*is a template that every namespace under the prefix inherits. In URL paths, send each/as%2F:/namespaces/acme%2Fprod%2Ftenant_123/query. The SDKs do this for you. - Idle costs nothing beyond storage. A namespace is a prefix on object storage, and nodes cache whole namespaces and evict whole namespaces.
- Unlimited per organization. Names are up to 256 bytes of
A-Z a-z 0-9 . _ : / -.
Settings
PATCH /namespaces/{ns} changes these settings. Each change is recorded in your organization’s audit log.
budgetcaps judgment compute per calendar month. When a namespace reaches it,on_exceeded: "pause"stops evaluation and lets answers gostalewhile writes continue."reject"makes writes fail withbudget_exceeded. The namespace then reportsbudget_paused: true. Raising the budget clears it.pinned: truekeeps the namespace resident in cache on two nodes, so it never has a cold query. It is billed as warm storage.default_enginefills inenginewhen a judgment is created without one. It never changes existing judgments.fanoutdecides how fan-out runs here, for judgments that read the document each judged document points at:share, the most of the namespace’s in-flight engine requests fan-out may use (0.5 by default, always at least one request), andjob_above(10,000) andconfirm_jobs(true), which its judgments follow unless they set their own. Each key is optional in aPATCH, andGETreturns the values in effect.
GET /namespaces/{ns} returns the settings, budget_paused, and stats: documents, bytes, what judging has cost this month and the projected monthly cost of periodic judgments, both at the judgment unit prices for your organization’s monthly volume.
Deleting
DELETE /namespaces/{ns} deletes the namespace at once: when it returns, nothing of it is readable, and a write to the same name creates a new, empty namespace. It also starts a namespace_delete job, which removes every document, answer, evaluation and usage file of the deleted namespace from storage within 24 hours. The namespace’s other open jobs, such as backfills and shadow reports, are cancelled, with error “the namespace was deleted”; nothing they would have run carries over to the new namespace. A write that was still in flight when you deleted either happened before the deletion, and is gone with it, or lands in the new namespace, and its response says so with the revision it has there.