Skip to main content

Declare a metadata schema

POST 

/v1/projects/:project_id/metadata-schemas

Declares what metadata must satisfy for one resource type under one selector. A document is selected by path_prefix, matched on a path boundary: /reports covers /reports/q1.txt and never /reports-archive/q1.txt.

The schema is compiled here, so one JSON Schema cannot parse is refused rather than stored — a stored one would be a rule that silently governs nothing. One selector has one schema per resource type; a second declaration of the same one is 409 NAME_CONFLICT. The reserved root /.system cannot be governed: a platform-written document carries no caller metadata.

Request​

Responses​

The declaration