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
- 201
- 400
- 401
- 403
- 409
The declaration
Bad Request — unknown resource_type, a missing or unusable selector, the reserved root, or a schema that is not valid JSON Schema
Unauthorized
Forbidden
Conflict — this selector is already declared for this type