Schema
A data schema tells Umnai how to read the columns in your source data.
Create a schema before ingestion. Ingestion applies the schema to validate and prepare the source data. Onboarding then uses the same schema context when creating a dataset for training.
Define schema fields
A schema is made up of fields. Each field represents one source column and defines how that column should be used.
At minimum, each field needs:
Most schemas also define:
If semantic_type, encoding_type, or vector is omitted, Umnai may infer it during processing. Define these values explicitly when you need predictable behaviour.
Features, targets, and ignored columns
Use designation to decide how each column participates in modelling.
A dataset used for training should have at least one feature and one target.
Use IGNORED for row identifiers, record IDs, transaction IDs, UUIDs, or other columns that identify a row but do not help the model generalise.
Data types and formats
Use data_type to describe the value stored in each source column.
Although ARRAY and STRING: JSON are exposed in the schema, complex nested values are not currently supported for processing. Avoid arrays and JSON objects as model features unless you have confirmed the workflow supports them.
Free-form natural language text is not currently supported for processing. Transform text before ingestion, or mark text columns as ignored if they must remain in the source data.
Encoding
Encoding controls how non-continuous values are represented during onboarding.
For most datasets, you only need to set the field’s semantic_type and let Umnai determine the encoding during processing. Define encoding_type explicitly when you need to control how a field is encoded.
Common mappings include:
For the full set of encoding options and when to use them, see Encoding.
Infer a schema from storage
After creating a storage connector, you can retrieve an inferred schema from a path inside the connected bucket.
Use this as a starting point, then review and adjust the generated fields before creating the schema.
Create a schema
Create a schema once you have reviewed the source columns and decided how each one should be used.
Save the returned schema id. You will use it when creating an ingestion configuration.
Retrieve schemas
Retrieve schemas when you need to reuse an existing schema or inspect its fields.
To inspect a specific schema, retrieve it by id.
Update a schema
You can update an existing schema, including schema fields.
Be careful when changing a schema that has already been used for ingestion. Existing datasources keep the schema that was applied when they were ingested. Schema changes apply to future ingestion runs.
Delete a schema
Delete a schema when it should no longer be used.
Advanced schema metadata
The API also exposes optional schema metadata.
Advanced schema metadata can be defined through the API, but it is not yet fully used by downstream platform workflows. Do not rely on dimensions, units, friendly names, category friendly names, stakeholders, data anchors, or data protections to affect ingestion, onboarding, training, or explanations until the functionality is complete.

