# View the profile schema
You can view and modify the profile schema from the **Admin console** or through the [Profile schema API](https://www.krenalis.com/docs/api/profile-schema.md). In the Admin console, select **Profile schema** from the left-hand navigation menu to access the schema for the current workspace.
- Expand/Collapse all: Expand or collapse all schema properties at once.
- Alter schema: Modify the profile schema. You can update names, types, descriptions, and the overall structure as needed.
- Name: The name of each property in the schema. This is the identifier used throughout Krenalis to reference that property.
- Type: The data type of the property — for example, string, int, date, object, or array. The type defines how the data is stored, validated, and interpreted.
- Primary source: The authoritative source for this property. Once it populates a value, that value will not be overwritten by other sources.
- Expandable property: An object property that can be expanded to reveal its nested sub-properties.
- Sub-properties: The nested properties inside an object property, where the actual user values are stored.
[Profile schema](/docs/profile\-unification/schema/images/profile\-schema\.png)!
# Data types
The table below provides an overview of all data types supported by Krenalis that can be used when defining properties in the profile schema.
| Krenalis type | Description |
|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `string` | String encoded in UTF-8. Can be limited by maximum length in bytes and characters. |
| `boolean` | Boolean value representing true or false. |
| `int(n)` | Integer. n is the number of bits used to store the value and determines the valid range. Allowed values: 8, 16, 24, 32, or 64. |
| `float(n)` | Floating-point number. n is the precision (32 or 64). Can be restricted to real numeric values only (excluding infinite and NaN). |
| `decimal(p,s)` | Decimal number with controlled precision. p is the total number of digits and s is the number of digits after the decimal point. Suitable for values requiring exact digits. p ranges from 1 to 38 and s from 0 to p. |
| `datetime` | Date and time with nanosecond precision in UTC. Valid year range: 1 to 9999. |
| `date` | Date only. Valid year range: 1 to 9999. |
| `time` | Time only with nanosecond precision and no timezone. |
| `year` | Year value from 1 to 9999. |
| `uuid` | Universally unique identifier (UUID). |
| `json` | JSON value. |
| `ip` | IPv4 or IPv6 address. |
| `array` | List of values of the same type. |
| `object` | Object with well-defined properties, each with a name and a declared type. |
| `map` | Set of key–value pairs, where the key is string and the values have the same type. |