Skip to main content

Metadata Schemas Commands

See Metadata Schemas module docs for permissions and data model.

soat list-metadata-schemas​

List metadata schemas

  • Method: GET
  • Path: /api/v1/metadata-schemas

Usage​

soat list-metadata-schemas

Options​

--project-id​

Project public ID (proj_ prefix)

  • Source: query
  • Required: no
  • Type: string
  • Example: proj_V1StGXR8Z5jdHi6B
--resource-type​

Return only the declarations governing this resource.

  • Source: query
  • Required: no
  • Type: enum("document")

soat create-metadata-schema​

Declare a metadata schema

  • Method: POST
  • Path: /api/v1/metadata-schemas

Usage​

soat create-metadata-schema --resource-type <enum("document")> --schema <object>

Options​

--project-id​

Project the declaration governs. Optional for a project-scoped API key, which supplies it.

  • Source: body
  • Required: no
  • Type: string
  • Example: proj_V1StGXR8Z5jdHi6B
--resource-type​

The resource whose metadata this declaration governs. A type appears here once its write path reads the registry, so a declaration always has a door that enforces it.

  • Source: body
  • Required: yes
  • Type: enum("document")
  • Example: document
--path-prefix​

The selector a document declaration must carry: the directory it governs.

  • Source: body
  • Required: no
  • Type: string
  • Example: /reports
--schema​

A JSON Schema. Its keywords are its own vocabulary and are stored as written.

  • Source: body
  • Required: yes
  • Type: object
  • Example: \{"type":"object","required":["quarter"],"properties":\{"quarter":\{"type":"string"\}\}\}

soat validate-metadata​

Check metadata against what is declared

  • Method: POST
  • Path: /api/v1/metadata-schemas/validate

Usage​

soat validate-metadata --path <string>

Options​

--project-id​

—

  • Source: body
  • Required: no
  • Type: string
  • Example: proj_V1StGXR8Z5jdHi6B
--path​

The path the document would be filed at, which decides which declaration governs it.

  • Source: body
  • Required: yes
  • Type: string
  • Example: /reports/q1.txt
--metadata​

The bag to judge. Absent or null is judged as an empty bag.

  • Source: body
  • Required: no
  • Type: unknown
  • Example: \{"quarter":"Q1"\}

soat get-metadata-schema​

Get a metadata schema

  • Method: GET
  • Path: /api/v1/metadata-schemas/{metadata_schema_id}

Usage​

soat get-metadata-schema --metadata-schema-id <string>

Options​

--metadata-schema-id​

—

  • Source: path
  • Required: yes
  • Type: string
  • Example: mdschema_V1StGXR8Z5jdHi6B

soat update-metadata-schema​

Update a metadata schema

  • Method: PATCH
  • Path: /api/v1/metadata-schemas/{metadata_schema_id}

Usage​

soat update-metadata-schema --metadata-schema-id <string>

Options​

--metadata-schema-id​

—

  • Source: path
  • Required: yes
  • Type: string
  • Example: mdschema_V1StGXR8Z5jdHi6B
--path-prefix​

The declaration's new selector.

  • Source: body
  • Required: no
  • Type: string
  • Example: /reports/quarterly
--schema​

Replaces the declared JSON Schema.

  • Source: body
  • Required: no
  • Type: object
  • Example: \{"type":"object","required":["quarter","owner"],"properties":\{"quarter":\{"type":"string"\},"owner":\{"type":"string"\}\}\}

soat delete-metadata-schema​

Delete a metadata schema

  • Method: DELETE
  • Path: /api/v1/metadata-schemas/{metadata_schema_id}

Usage​

soat delete-metadata-schema --metadata-schema-id <string>

Options​

--metadata-schema-id​

—

  • Source: path
  • Required: yes
  • Type: string
  • Example: mdschema_V1StGXR8Z5jdHi6B