write Endpoints
Write daemon operations (transactions and mutations)
Endpoints
GET /v1/write/health
Summary: OpenAPI metadata for write daemon health.
Operation ID: health_endpoint
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Write daemon health status | HealthResponse |
| 503 | Health checks failed | ProblemDetails |
GET /v1/write/livez
Summary: OpenAPI metadata for write daemon liveness probe.
Operation ID: livez_endpoint
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Write daemon liveness probe | ProbeResponse |
| 503 | Write daemon is not live | ProblemDetails |
GET /v1/write/namespaces
Summary: OpenAPI metadata for listing namespaces.
Operation ID: list_namespaces_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
limit | query | no | integer | Maximum number of items to return. |
page_token | query | no | PageToken | Opaque paging token for the next page. |
tenant_id | query | no | TenantId | Optional tenant filter. |
owner_principal_id | query | no | PrincipalId | Optional owner principal filter. |
policy_class | query | no | PolicyClass | Optional policy class filter. |
lifecycle | query | no | LifecycleState | Optional lifecycle filter. |
write_mode | query | no | NamespaceWriteMode | Optional write mode filter. |
draining | query | no | boolean | Optional draining filter. |
frozen | query | no | boolean | Optional frozen filter. |
include_deleted | query | no | boolean | Include deleted namespaces when true. |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | List of namespaces | NamespaceListResponse |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces
Summary: OpenAPI metadata for creating namespaces.
Operation ID: create_namespace_endpoint
Request Body
- Content type:
application/json - Schema:
NamespaceCreateRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace created or already present | NamespaceCreateResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
DELETE /v1/write/namespaces/{namespace_id}
Summary: OpenAPI metadata for deleting namespaces.
Operation ID: delete_namespace_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace deleted | NamespaceDeleteResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 412 | Namespace has attached resources | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
GET /v1/write/namespaces/{namespace_id}
Summary: OpenAPI metadata for fetching namespace metadata.
Operation ID: get_namespace_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace metadata | NamespaceGetResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
PATCH /v1/write/namespaces/{namespace_id}
Summary: OpenAPI metadata for updating namespace metadata.
Operation ID: update_namespace_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
NamespaceUpdateRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace updated | NamespaceUpdateResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 412 | Revision precondition failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/commit
Summary: OpenAPI metadata for commit submission.
Operation ID: commit_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
CommitRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Commit accepted | CommitResponse |
| 400 | Invalid commit payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 409 | Idempotency key reused with different payload | ProblemDetails |
| 422 | Commit validation failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/commit/preflight
Summary: OpenAPI metadata for commit preflight.
Operation ID: commit_preflight_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
CommitRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Commit preflight result | PreflightCommitResponse |
| 400 | Invalid commit payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 422 | Commit validation failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/commits/{commit_id}/reverse
Summary: OpenAPI metadata for reverse commits.
Operation ID: reverse_commit_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
commit_id | path | yes | string | Commit identifier |
Request Body
- Content type:
application/json - Schema:
ReverseCommitRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Reverse commit applied | ReverseCommitResponse |
| 400 | Invalid reverse commit payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Commit not found | ProblemDetails |
| 409 | Reverse commit precondition failed | ProblemDetails |
| 410 | Reverse commit no longer available | ProblemDetails |
| 422 | Reverse commit validation failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/lifecycle
Summary: OpenAPI metadata for updating namespace lifecycle.
Operation ID: namespace_lifecycle_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
NamespaceLifecycleRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace lifecycle updated | NamespaceLifecycleResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 412 | Revision precondition failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/operational_state
Summary: OpenAPI metadata for updating namespace operational state.
Operation ID: namespace_operational_state_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
NamespaceOperationalStateRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace operational state updated | NamespaceOperationalStateResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 412 | Revision precondition failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/placement
Summary: OpenAPI metadata for updating namespace placement.
Operation ID: namespace_placement_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
NamespacePlacementRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace placement updated | NamespacePlacementResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 412 | Revision precondition failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/register_class
Summary: OpenAPI metadata for class registration.
Operation ID: register_class_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
RegisterClassRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Class registered | RegisterClassResponse |
| 400 | Invalid request payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 409 | Class already exists | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/register_class_continuous_shape_1d
Summary: OpenAPI metadata for continuous 1D class shape registration.
Operation ID: register_class_continuous_shape_1d_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
RegisterClassContinuousShape1dRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Continuous 1D class shape registered | RegisterClassContinuousShape1dResponse |
| 400 | Invalid request payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 409 | Class shape already exists | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/register_class_continuous_shape_2d
Summary: OpenAPI metadata for continuous 2D class shape registration.
Operation ID: register_class_continuous_shape_2d_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
RegisterClassContinuousShape2dRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Continuous 2D class shape registered | RegisterClassContinuousShape2dResponse |
| 400 | Invalid request payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 409 | Class shape already exists | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/{namespace_id}/register_class_shape
Summary: OpenAPI metadata for class shape registration.
Operation ID: register_class_shape_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Request Body
- Content type:
application/json - Schema:
RegisterClassShapeRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Class shape registered | RegisterClassShapeResponse |
| 400 | Invalid request payload | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 409 | Class shape already exists | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
GET /v1/write/namespaces/{namespace_id}/status
Summary: OpenAPI metadata for namespace status.
Operation ID: namespace_status_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
namespace_id | path | yes | NamespaceId | Namespace identifier |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace status metadata | NamespaceStatusResponse |
| 400 | Invalid namespace identifier | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
GET /v1/write/namespaces/changes
Summary: OpenAPI metadata for listing namespace changes.
Operation ID: list_namespace_changes_endpoint
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
limit | query | no | integer | Maximum number of items to return. |
page_token | query | no | ChangeToken | Opaque paging token for the next page. |
since_updated_at_ms | query | yes | integer | Lower bound for updated timestamps (milliseconds since epoch). |
tenant_id | query | no | TenantId | Optional tenant filter. |
owner_principal_id | query | no | PrincipalId | Optional owner principal filter. |
policy_class | query | no | PolicyClass | Optional policy class filter. |
lifecycle | query | no | LifecycleState | Optional lifecycle filter. |
write_mode | query | no | NamespaceWriteMode | Optional write mode filter. |
draining | query | no | boolean | Optional draining filter. |
frozen | query | no | boolean | Optional frozen filter. |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | List of namespace changes | NamespaceChangeListResponse |
| 400 | Invalid request parameters | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
POST /v1/write/namespaces/fork_from_snapshot
Summary: OpenAPI metadata for forking namespaces.
Operation ID: fork_namespace_from_snapshot_endpoint
Request Body
- Content type:
application/json - Schema:
NamespaceForkFromSnapshotRequest
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace forked from snapshot | NamespaceForkFromSnapshotResponse |
| 400 | Invalid request parameters | ProblemDetails |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 409 | Namespace already exists | ProblemDetails |
| 422 | Snapshot validation failed | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
GET /v1/write/namespaces/status
Summary: OpenAPI metadata for listing namespace status records.
Operation ID: namespace_status_list_endpoint
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Namespace status list | NamespaceStatusListResponse |
| 401 | Unauthorized request | ProblemDetails |
| 404 | Namespace not found | ProblemDetails |
| 429 | Quota exceeded | ProblemDetails |
| 500 | Internal daemon error | ProblemDetails |
GET /v1/write/readyz
Summary: OpenAPI metadata for write daemon readiness probe.
Operation ID: readyz_endpoint
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Write daemon readiness probe | ReadyzResponse |
| 503 | Write daemon is not ready | ReadyzResponse |
GET /v1/write/startupz
Summary: OpenAPI metadata for write daemon startup probe.
Operation ID: startupz_endpoint
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Write daemon startup probe | ProbeResponse |
| 503 | Write daemon has not started | ProblemDetails |