Skip to content

Attributes (🧪 Beta)

albert.resources.attributes

AttributeCategory

Bases: str, Enum

Category of an inventory reference attribute.

Property: inventory reference properties tied to a data column (e.g. viscosity, pH) for use in worksheets and inventory details.

Attributes:

Name Type Description
PROPERTY

PROPERTY

PROPERTY = 'Property'

AttributeScope

Bases: str, Enum

Scope for reading or deleting reference values on a parent entity.

Used with get_values, delete_values, and clear_values. Inventory-level values are the source of truth for worksheet lookups; lot-level values support lot-specific overrides where enabled.

SELF: only the given parent_id. LOT: lots under an inventory parent_id (inventory parents only). ALL: the parent and all of its child lots.

Attributes:

Name Type Description
SELF
LOT
ALL

SELF

SELF = 'SELF'

LOT

LOT = 'LOT'

ALL

ALL = 'ALL'

ValidationItem

Bases: BaseAlbertModel

Typed validation rule for an attribute definition.

Declares the allowed datatype (number, string, or enum) and optional constraints. Numeric attributes may include min/max and an operator; enum attributes list allowed options in value. Values assigned via add_values must conform to these rules.

Show JSON schema:
{
  "$defs": {
    "DataType": {
      "description": "The data type of a parameter value, driving how it is validated.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to declare what kind of value a parameter\naccepts.\n\nAttributes\n----------\nNUMBER : str\n    A numeric value.\nSTRING : str\n    A free-text string value.\nENUM : str\n    A value restricted to a fixed set of options (see\n    [`EnumValidationValue`][albert.resources.parameter_groups.EnumValidationValue]).\nIMAGE : str\n    An image value.\nCURVE : str\n    A curve (series) value.\nDATE : str\n    A calendar date value stored as ``YYYY-MM-DD``.\nTIMESTAMP : str\n    A date-and-time value in ISO 8601 format with a UTC offset\n    (e.g. ``2026-05-21T14:32:00+02:00``).",
      "enum": [
        "number",
        "string",
        "enum",
        "image",
        "curve",
        "date",
        "timestamp"
      ],
      "title": "DataType",
      "type": "string"
    },
    "EnumValidationValue": {
      "description": "Represents a value for an enum type validation.",
      "properties": {
        "text": {
          "description": "The text of the enum value.",
          "title": "Text",
          "type": "string"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the enum value. If not provided, the ID will be generated upon creation.",
          "title": "Id"
        },
        "originalText": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Originaltext"
        }
      },
      "required": [
        "text"
      ],
      "title": "EnumValidationValue",
      "type": "object"
    },
    "Operator": {
      "description": "A comparison operator constraining a numeric parameter value.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to bound acceptable values (e.g. ``gte`` with\na ``min`` requires the value to be at least ``min``).\n\nAttributes\n----------\nBETWEEN : str\n    Value must fall between ``min`` and ``max`` (inclusive).\nLESS_THAN : str\n    Value must be less than ``max``.\nLESS_THAN_OR_EQUAL : str\n    Value must be less than or equal to ``max``.\nGREATER_THAN_OR_EQUAL : str\n    Value must be greater than or equal to ``min``.\nGREATER_THAN : str\n    Value must be greater than ``min``.\nEQUALS : str\n    Value must equal the specified value.",
      "enum": [
        "between",
        "lt",
        "lte",
        "gte",
        "gt",
        "eq",
        "neq"
      ],
      "title": "Operator",
      "type": "string"
    }
  },
  "description": "Typed validation rule for an attribute definition.\n\nDeclares the allowed datatype (`number`, `string`, or `enum`) and optional\nconstraints. Numeric attributes may include min/max and an operator; enum\nattributes list allowed options in ``value``. Values assigned via\n[`add_values`][albert.collections.attributes.AttributeCollection.add_values]\nmust conform to these rules.",
  "properties": {
    "datatype": {
      "anyOf": [
        {
          "$ref": "#/$defs/DataType"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Allowed value type: ``number``, ``string``, or ``enum``."
    },
    "min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Minimum allowed numeric value (with ``between`` or range operators).",
      "title": "Min"
    },
    "max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Maximum allowed numeric value (with ``between`` or range operators).",
      "title": "Max"
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "items": {
            "$ref": "#/$defs/EnumValidationValue"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Enum allowed options, or a scalar constraint depending on ``datatype``.",
      "title": "Value"
    },
    "operator": {
      "anyOf": [
        {
          "$ref": "#/$defs/Operator"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Comparison operator for numeric validation (e.g. ``between``)."
    }
  },
  "title": "ValidationItem",
  "type": "object"
}

Fields:

Validators:

datatype

datatype: DataType | None = None

Allowed value type: number, string, or enum.

min

min: float | None = None

Minimum allowed numeric value (with between or range operators).

max

max: float | None = None

Maximum allowed numeric value (with between or range operators).

value

value: float | list[EnumValidationValue] | None = None

Enum allowed options, or a scalar constraint depending on datatype.

operator

operator: Operator | None = None

Comparison operator for numeric validation (e.g. between).

normalize_datatype

normalize_datatype(v: Any) -> Any
Source code in src/albert/resources/attributes.py
@field_validator("datatype", mode="before")
@classmethod
def normalize_datatype(cls, v: Any) -> Any:
    if isinstance(v, str):
        try:
            return DataType(v.lower())
        except ValueError:
            return None
    return v

AttributeParameterItem

Bases: BaseAlbertModel

A parameter setpoint embedded in an attribute definition.

Parameter setpoints distinguish otherwise similar properties (e.g. Temperature = 25°C for "Viscosity @ 25°C"). Together with the data column and unit, they form the uniqueness key for an attribute definition.

Show JSON schema:
{
  "$defs": {
    "EntityLinkWithName": {
      "description": "EntityLink that includes the name field in serialization.",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLinkWithName",
      "type": "object"
    }
  },
  "description": "A parameter setpoint embedded in an attribute definition.\n\nParameter setpoints distinguish otherwise similar properties (e.g.\nTemperature = 25\u00b0C for \"Viscosity @ 25\u00b0C\"). Together with the data column\nand unit, they form the uniqueness key for an attribute definition.",
  "properties": {
    "id": {
      "description": "Parameter ID.",
      "title": "Id",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parameter display name.",
      "title": "Name"
    },
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parameter category.",
      "title": "Category"
    },
    "value": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Setpoint value for this parameter.",
      "title": "Value"
    },
    "unit": {
      "anyOf": [
        {
          "$ref": "#/$defs/EntityLinkWithName"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit for the setpoint, when applicable."
    },
    "unitId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit ID for the setpoint.",
      "title": "Unitid"
    }
  },
  "required": [
    "id"
  ],
  "title": "AttributeParameterItem",
  "type": "object"
}

Fields:

id

Parameter ID.

name

name: str | None = None

Parameter display name.

category

category: str | None = None

Parameter category.

value

value: str | dict | None = None

Setpoint value for this parameter.

unit

unit: EntityLinkWithName | None = None

Unit for the setpoint, when applicable.

unit_id

unit_id: UnitId | None = None

Unit ID for the setpoint.

Attribute

Bases: BaseResource

An inventory reference attribute definition.

Defines a reusable property template (e.g. "Viscosity @ 25°C") that can be assigned to many inventory items and lots. Each definition links a DataColumn, optional parameter setpoints, an optional unit, and typed validation. This is separate from a reference value: the per-parent measurement stored with add_values.

Replaces inline property definitions from the deprecated Inventory Specs API. Attributes are identified by Attribute ID (format ATR...).

Show JSON schema:
{
  "$defs": {
    "AttributeCategory": {
      "description": "Category of an inventory reference attribute.\n\n``Property``: inventory reference properties tied to a data column (e.g.\nviscosity, pH) for use in worksheets and inventory details.",
      "enum": [
        "Property"
      ],
      "title": "AttributeCategory",
      "type": "string"
    },
    "AttributeParameterItem": {
      "description": "A parameter setpoint embedded in an attribute definition.\n\nParameter setpoints distinguish otherwise similar properties (e.g.\nTemperature = 25\u00b0C for \"Viscosity @ 25\u00b0C\"). Together with the data column\nand unit, they form the uniqueness key for an attribute definition.",
      "properties": {
        "id": {
          "description": "Parameter ID.",
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Parameter display name.",
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Parameter category.",
          "title": "Category"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Setpoint value for this parameter.",
          "title": "Value"
        },
        "unit": {
          "anyOf": [
            {
              "$ref": "#/$defs/EntityLinkWithName"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit for the setpoint, when applicable."
        },
        "unitId": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit ID for the setpoint.",
          "title": "Unitid"
        }
      },
      "required": [
        "id"
      ],
      "title": "AttributeParameterItem",
      "type": "object"
    },
    "AuditFields": {
      "description": "The audit fields for a resource",
      "properties": {
        "by": {
          "default": null,
          "title": "By",
          "type": "string"
        },
        "byName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Byname"
        },
        "at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "At"
        }
      },
      "title": "AuditFields",
      "type": "object"
    },
    "DataType": {
      "description": "The data type of a parameter value, driving how it is validated.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to declare what kind of value a parameter\naccepts.\n\nAttributes\n----------\nNUMBER : str\n    A numeric value.\nSTRING : str\n    A free-text string value.\nENUM : str\n    A value restricted to a fixed set of options (see\n    [`EnumValidationValue`][albert.resources.parameter_groups.EnumValidationValue]).\nIMAGE : str\n    An image value.\nCURVE : str\n    A curve (series) value.\nDATE : str\n    A calendar date value stored as ``YYYY-MM-DD``.\nTIMESTAMP : str\n    A date-and-time value in ISO 8601 format with a UTC offset\n    (e.g. ``2026-05-21T14:32:00+02:00``).",
      "enum": [
        "number",
        "string",
        "enum",
        "image",
        "curve",
        "date",
        "timestamp"
      ],
      "title": "DataType",
      "type": "string"
    },
    "EntityLink": {
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLink",
      "type": "object"
    },
    "EntityLinkWithName": {
      "description": "EntityLink that includes the name field in serialization.",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLinkWithName",
      "type": "object"
    },
    "EnumValidationValue": {
      "description": "Represents a value for an enum type validation.",
      "properties": {
        "text": {
          "description": "The text of the enum value.",
          "title": "Text",
          "type": "string"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the enum value. If not provided, the ID will be generated upon creation.",
          "title": "Id"
        },
        "originalText": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Originaltext"
        }
      },
      "required": [
        "text"
      ],
      "title": "EnumValidationValue",
      "type": "object"
    },
    "Operator": {
      "description": "A comparison operator constraining a numeric parameter value.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to bound acceptable values (e.g. ``gte`` with\na ``min`` requires the value to be at least ``min``).\n\nAttributes\n----------\nBETWEEN : str\n    Value must fall between ``min`` and ``max`` (inclusive).\nLESS_THAN : str\n    Value must be less than ``max``.\nLESS_THAN_OR_EQUAL : str\n    Value must be less than or equal to ``max``.\nGREATER_THAN_OR_EQUAL : str\n    Value must be greater than or equal to ``min``.\nGREATER_THAN : str\n    Value must be greater than ``min``.\nEQUALS : str\n    Value must equal the specified value.",
      "enum": [
        "between",
        "lt",
        "lte",
        "gte",
        "gt",
        "eq",
        "neq"
      ],
      "title": "Operator",
      "type": "string"
    },
    "Status": {
      "description": "The status of a resource.\n\nAttributes\n----------\nACTIVE : str\n    The resource is fully operational and visible in normal operations.\nINACTIVE : str\n    The resource is hidden from normal operations and disabled from use.",
      "enum": [
        "active",
        "inactive"
      ],
      "title": "Status",
      "type": "string"
    },
    "ValidationItem": {
      "description": "Typed validation rule for an attribute definition.\n\nDeclares the allowed datatype (`number`, `string`, or `enum`) and optional\nconstraints. Numeric attributes may include min/max and an operator; enum\nattributes list allowed options in ``value``. Values assigned via\n[`add_values`][albert.collections.attributes.AttributeCollection.add_values]\nmust conform to these rules.",
      "properties": {
        "datatype": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataType"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Allowed value type: ``number``, ``string``, or ``enum``."
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum allowed numeric value (with ``between`` or range operators).",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum allowed numeric value (with ``between`` or range operators).",
          "title": "Max"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "items": {
                "$ref": "#/$defs/EnumValidationValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Enum allowed options, or a scalar constraint depending on ``datatype``.",
          "title": "Value"
        },
        "operator": {
          "anyOf": [
            {
              "$ref": "#/$defs/Operator"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Comparison operator for numeric validation (e.g. ``between``)."
        }
      },
      "title": "ValidationItem",
      "type": "object"
    }
  },
  "description": "An inventory reference attribute definition.\n\nDefines a reusable property template (e.g. \"Viscosity @ 25\u00b0C\") that can be\nassigned to many inventory items and lots. Each definition links a\n[`DataColumn`][albert.resources.data_columns.DataColumn], optional parameter\nsetpoints, an optional unit, and typed validation. This is separate from a\n*reference value*: the per-parent measurement stored with\n[`add_values`][albert.collections.attributes.AttributeCollection.add_values].\n\nReplaces inline property definitions from the deprecated Inventory Specs API.\nAttributes are identified by Attribute ID (format ``ATR...``).",
  "properties": {
    "status": {
      "anyOf": [
        {
          "$ref": "#/$defs/Status"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The status of the resource, optional."
    },
    "Created": {
      "anyOf": [
        {
          "$ref": "#/$defs/AuditFields"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Audit fields for the creation of the resource, optional."
    },
    "Updated": {
      "anyOf": [
        {
          "$ref": "#/$defs/AuditFields"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Audit fields for the update of the resource, optional."
    },
    "albertId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Attribute ID (format ``ATR...``).",
      "title": "Albertid"
    },
    "referenceName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unique display name. Default pattern: ``{DataColumn} | {parameter setpoints}``.",
      "title": "Referencename"
    },
    "fullName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Localized full name for display.",
      "title": "Fullname"
    },
    "nameOverride": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Whether ``reference_name`` was manually set instead of the default pattern.",
      "title": "Nameoverride"
    },
    "datacolumn": {
      "anyOf": [
        {
          "$ref": "#/$defs/EntityLinkWithName"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Linked data column (the property being referenced, e.g. Viscosity)."
    },
    "datacolumnId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Data column ID when creating an attribute.",
      "title": "Datacolumnid"
    },
    "unit": {
      "anyOf": [
        {
          "$ref": "#/$defs/EntityLinkWithName"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit for numeric reference values (e.g. cP). Immutable after first assignment."
    },
    "unitId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit ID when creating an attribute.",
      "title": "Unitid"
    },
    "workflow": {
      "anyOf": [
        {
          "$ref": "#/$defs/EntityLink"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Workflow derived from parameter setpoints (order-agnostic)."
    },
    "validation": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ValidationItem"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Datatype and constraints for values assigned to this attribute.",
      "title": "Validation"
    },
    "category": {
      "anyOf": [
        {
          "$ref": "#/$defs/AttributeCategory"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Attribute category (currently ``Property`` for inventory references)."
    },
    "parameters": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/AttributeParameterItem"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Parameter setpoints that define measurement conditions for this attribute.",
      "title": "Parameters"
    }
  },
  "title": "Attribute",
  "type": "object"
}

Fields:

Validators:

id

id: AttributeId | None = None

Attribute ID (format ATR...).

reference_name

reference_name: str | None = None

Unique display name. Default pattern: {DataColumn} | {parameter setpoints}.

full_name

full_name: str | None = None

Localized full name for display.

name_override

name_override: bool | None = None

Whether reference_name was manually set instead of the default pattern.

datacolumn

datacolumn: EntityLinkWithName | None = None

Linked data column (the property being referenced, e.g. Viscosity).

datacolumn_id

datacolumn_id: DataColumnId | None = None

Data column ID when creating an attribute.

unit

unit: EntityLinkWithName | None = None

Unit for numeric reference values (e.g. cP). Immutable after first assignment.

unit_id

unit_id: UnitId | None = None

Unit ID when creating an attribute.

workflow

workflow: EntityLink | None = None

Workflow derived from parameter setpoints (order-agnostic).

validation

validation: list[ValidationItem] | None = None

Datatype and constraints for values assigned to this attribute.

category

category: AttributeCategory | None = None

Attribute category (currently Property for inventory references).

parameters

parameters: list[AttributeParameterItem] | None = None

Parameter setpoints that define measurement conditions for this attribute.

coerce_parameters

coerce_parameters(v: Any) -> Any
Source code in src/albert/resources/attributes.py
@field_validator("parameters", mode="before")
@classmethod
def coerce_parameters(cls, v: Any) -> Any:
    if isinstance(v, dict) and "values" in v:
        return v["values"]
    return v

AttributeSearchItem

Bases: BaseAlbertModel

A lightweight attribute hit from search.

Show JSON schema:
{
  "description": "A lightweight attribute hit from [`search`][albert.collections.attributes.AttributeCollection.search].",
  "properties": {
    "albertId": {
      "description": "Attribute ID (format ``ATR...``).",
      "title": "Albertid",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Display name of the attribute.",
      "title": "Name"
    },
    "datacolumnId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Linked data column ID.",
      "title": "Datacolumnid"
    },
    "datacolumnName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Linked data column name.",
      "title": "Datacolumnname"
    },
    "unitName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit name for numeric attributes.",
      "title": "Unitname"
    },
    "parameters": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Summary of linked parameter setpoints.",
      "title": "Parameters"
    }
  },
  "required": [
    "albertId"
  ],
  "title": "AttributeSearchItem",
  "type": "object"
}

Fields:

id

Attribute ID (format ATR...).

name

name: str | None = None

Display name of the attribute.

datacolumn_id

datacolumn_id: str | None = None

Linked data column ID.

datacolumn_name

datacolumn_name: str | None = None

Linked data column name.

unit_name

unit_name: str | None = None

Unit name for numeric attributes.

parameters

parameters: list[dict] | None = None

Summary of linked parameter setpoints.

AttributeValueRange

Bases: BaseAlbertModel

Numeric min/max bounds for a reference value.

Used when an attribute allows a target value plus an acceptable range (legacy Specs min/max semantics).

Show JSON schema:
{
  "description": "Numeric min/max bounds for a reference value.\n\nUsed when an attribute allows a target value plus an acceptable range\n(legacy Specs ``min``/``max`` semantics).",
  "properties": {
    "min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Minimum bound.",
      "title": "Min"
    },
    "max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Maximum bound.",
      "title": "Max"
    },
    "comparisonOperator": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "How ``min`` and ``max`` constrain the value.",
      "title": "Comparisonoperator"
    }
  },
  "title": "AttributeValueRange",
  "type": "object"
}

Fields:

min

min: float | None = None

Minimum bound.

max

max: float | None = None

Maximum bound.

comparison_operator

comparison_operator: str | None = None

How min and max constrain the value.

AttributeValue

Bases: BaseAlbertModel

A reference value to assign on a parent entity for one attribute.

Pass to add_values. The value must match the attribute datatype (numeric, enum option, or string). Values belong only to the given parent_id (one inventory item or lot).

Show JSON schema:
{
  "$defs": {
    "AttributeValueRange": {
      "description": "Numeric min/max bounds for a reference value.\n\nUsed when an attribute allows a target value plus an acceptable range\n(legacy Specs ``min``/``max`` semantics).",
      "properties": {
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum bound.",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum bound.",
          "title": "Max"
        },
        "comparisonOperator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How ``min`` and ``max`` constrain the value.",
          "title": "Comparisonoperator"
        }
      },
      "title": "AttributeValueRange",
      "type": "object"
    }
  },
  "description": "A reference value to assign on a parent entity for one attribute.\n\nPass to [`add_values`][albert.collections.attributes.AttributeCollection.add_values].\nThe value must match the attribute datatype (numeric, enum option, or string).\nValues belong only to the given ``parent_id`` (one inventory item or lot).",
  "properties": {
    "attributeId": {
      "description": "Attribute definition to set a value for.",
      "title": "Attributeid",
      "type": "string"
    },
    "referenceValue": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Assigned value (target for numeric types, selected option for enum).",
      "title": "Referencevalue"
    },
    "range": {
      "anyOf": [
        {
          "$ref": "#/$defs/AttributeValueRange"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional numeric min/max bounds alongside ``reference_value``."
    }
  },
  "required": [
    "attributeId"
  ],
  "title": "AttributeValue",
  "type": "object"
}

Fields:

attribute_id

attribute_id: AttributeId

Attribute definition to set a value for.

reference_value

reference_value: str | float | None = None

Assigned value (target for numeric types, selected option for enum).

range

range: AttributeValueRange | None = None

Optional numeric min/max bounds alongside reference_value.

AttributeDefinition

Bases: BaseAlbertModel

Read-only attribute metadata embedded in a values response.

Distinct from Attribute: uses name (not referenceName) and reports prmCount instead of the full parameters list.

Show JSON schema:
{
  "$defs": {
    "AttributeCategory": {
      "description": "Category of an inventory reference attribute.\n\n``Property``: inventory reference properties tied to a data column (e.g.\nviscosity, pH) for use in worksheets and inventory details.",
      "enum": [
        "Property"
      ],
      "title": "AttributeCategory",
      "type": "string"
    },
    "DataType": {
      "description": "The data type of a parameter value, driving how it is validated.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to declare what kind of value a parameter\naccepts.\n\nAttributes\n----------\nNUMBER : str\n    A numeric value.\nSTRING : str\n    A free-text string value.\nENUM : str\n    A value restricted to a fixed set of options (see\n    [`EnumValidationValue`][albert.resources.parameter_groups.EnumValidationValue]).\nIMAGE : str\n    An image value.\nCURVE : str\n    A curve (series) value.\nDATE : str\n    A calendar date value stored as ``YYYY-MM-DD``.\nTIMESTAMP : str\n    A date-and-time value in ISO 8601 format with a UTC offset\n    (e.g. ``2026-05-21T14:32:00+02:00``).",
      "enum": [
        "number",
        "string",
        "enum",
        "image",
        "curve",
        "date",
        "timestamp"
      ],
      "title": "DataType",
      "type": "string"
    },
    "EntityLink": {
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLink",
      "type": "object"
    },
    "EntityLinkWithName": {
      "description": "EntityLink that includes the name field in serialization.",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLinkWithName",
      "type": "object"
    },
    "EnumValidationValue": {
      "description": "Represents a value for an enum type validation.",
      "properties": {
        "text": {
          "description": "The text of the enum value.",
          "title": "Text",
          "type": "string"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the enum value. If not provided, the ID will be generated upon creation.",
          "title": "Id"
        },
        "originalText": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Originaltext"
        }
      },
      "required": [
        "text"
      ],
      "title": "EnumValidationValue",
      "type": "object"
    },
    "Operator": {
      "description": "A comparison operator constraining a numeric parameter value.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to bound acceptable values (e.g. ``gte`` with\na ``min`` requires the value to be at least ``min``).\n\nAttributes\n----------\nBETWEEN : str\n    Value must fall between ``min`` and ``max`` (inclusive).\nLESS_THAN : str\n    Value must be less than ``max``.\nLESS_THAN_OR_EQUAL : str\n    Value must be less than or equal to ``max``.\nGREATER_THAN_OR_EQUAL : str\n    Value must be greater than or equal to ``min``.\nGREATER_THAN : str\n    Value must be greater than ``min``.\nEQUALS : str\n    Value must equal the specified value.",
      "enum": [
        "between",
        "lt",
        "lte",
        "gte",
        "gt",
        "eq",
        "neq"
      ],
      "title": "Operator",
      "type": "string"
    },
    "ValidationItem": {
      "description": "Typed validation rule for an attribute definition.\n\nDeclares the allowed datatype (`number`, `string`, or `enum`) and optional\nconstraints. Numeric attributes may include min/max and an operator; enum\nattributes list allowed options in ``value``. Values assigned via\n[`add_values`][albert.collections.attributes.AttributeCollection.add_values]\nmust conform to these rules.",
      "properties": {
        "datatype": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataType"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Allowed value type: ``number``, ``string``, or ``enum``."
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum allowed numeric value (with ``between`` or range operators).",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum allowed numeric value (with ``between`` or range operators).",
          "title": "Max"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "items": {
                "$ref": "#/$defs/EnumValidationValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Enum allowed options, or a scalar constraint depending on ``datatype``.",
          "title": "Value"
        },
        "operator": {
          "anyOf": [
            {
              "$ref": "#/$defs/Operator"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Comparison operator for numeric validation (e.g. ``between``)."
        }
      },
      "title": "ValidationItem",
      "type": "object"
    }
  },
  "description": "Read-only attribute metadata embedded in a values response.\n\nDistinct from [`Attribute`][albert.resources.attributes.Attribute]: uses ``name``\n(not ``referenceName``) and reports ``prmCount`` instead of the full parameters list.",
  "properties": {
    "name": {
      "description": "Attribute display name.",
      "title": "Name",
      "type": "string"
    },
    "fullName": {
      "description": "Localized full name.",
      "title": "Fullname",
      "type": "string"
    },
    "datacolumn": {
      "$ref": "#/$defs/EntityLinkWithName",
      "description": "Data column this reference measures."
    },
    "category": {
      "$ref": "#/$defs/AttributeCategory",
      "description": "Attribute category."
    },
    "unit": {
      "anyOf": [
        {
          "$ref": "#/$defs/EntityLinkWithName"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Unit for numeric values."
    },
    "workflow": {
      "$ref": "#/$defs/EntityLink",
      "description": "Workflow for parameter setpoints."
    },
    "validation": {
      "description": "Validation rules for assigned values.",
      "items": {
        "$ref": "#/$defs/ValidationItem"
      },
      "title": "Validation",
      "type": "array"
    },
    "prmCount": {
      "description": "Number of parameter setpoints on the definition.",
      "title": "Prmcount",
      "type": "integer"
    }
  },
  "required": [
    "name",
    "fullName",
    "datacolumn",
    "category",
    "workflow",
    "validation",
    "prmCount"
  ],
  "title": "AttributeDefinition",
  "type": "object"
}

Fields:

name

name: str

Attribute display name.

full_name

full_name: str

Localized full name.

datacolumn

datacolumn: EntityLinkWithName

Data column this reference measures.

category

Attribute category.

unit

unit: EntityLinkWithName | None = None

Unit for numeric values.

workflow

workflow: EntityLink

Workflow for parameter setpoints.

validation

validation: list[ValidationItem]

Validation rules for assigned values.

prm_count

prm_count: int

Number of parameter setpoints on the definition.

AttributeValuesResponseItem

Bases: BaseAlbertModel

One attribute's reference value on a parent entity.

Show JSON schema:
{
  "$defs": {
    "AttributeCategory": {
      "description": "Category of an inventory reference attribute.\n\n``Property``: inventory reference properties tied to a data column (e.g.\nviscosity, pH) for use in worksheets and inventory details.",
      "enum": [
        "Property"
      ],
      "title": "AttributeCategory",
      "type": "string"
    },
    "AttributeDefinition": {
      "description": "Read-only attribute metadata embedded in a values response.\n\nDistinct from [`Attribute`][albert.resources.attributes.Attribute]: uses ``name``\n(not ``referenceName``) and reports ``prmCount`` instead of the full parameters list.",
      "properties": {
        "name": {
          "description": "Attribute display name.",
          "title": "Name",
          "type": "string"
        },
        "fullName": {
          "description": "Localized full name.",
          "title": "Fullname",
          "type": "string"
        },
        "datacolumn": {
          "$ref": "#/$defs/EntityLinkWithName",
          "description": "Data column this reference measures."
        },
        "category": {
          "$ref": "#/$defs/AttributeCategory",
          "description": "Attribute category."
        },
        "unit": {
          "anyOf": [
            {
              "$ref": "#/$defs/EntityLinkWithName"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit for numeric values."
        },
        "workflow": {
          "$ref": "#/$defs/EntityLink",
          "description": "Workflow for parameter setpoints."
        },
        "validation": {
          "description": "Validation rules for assigned values.",
          "items": {
            "$ref": "#/$defs/ValidationItem"
          },
          "title": "Validation",
          "type": "array"
        },
        "prmCount": {
          "description": "Number of parameter setpoints on the definition.",
          "title": "Prmcount",
          "type": "integer"
        }
      },
      "required": [
        "name",
        "fullName",
        "datacolumn",
        "category",
        "workflow",
        "validation",
        "prmCount"
      ],
      "title": "AttributeDefinition",
      "type": "object"
    },
    "AttributeValueRange": {
      "description": "Numeric min/max bounds for a reference value.\n\nUsed when an attribute allows a target value plus an acceptable range\n(legacy Specs ``min``/``max`` semantics).",
      "properties": {
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum bound.",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum bound.",
          "title": "Max"
        },
        "comparisonOperator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How ``min`` and ``max`` constrain the value.",
          "title": "Comparisonoperator"
        }
      },
      "title": "AttributeValueRange",
      "type": "object"
    },
    "DataType": {
      "description": "The data type of a parameter value, driving how it is validated.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to declare what kind of value a parameter\naccepts.\n\nAttributes\n----------\nNUMBER : str\n    A numeric value.\nSTRING : str\n    A free-text string value.\nENUM : str\n    A value restricted to a fixed set of options (see\n    [`EnumValidationValue`][albert.resources.parameter_groups.EnumValidationValue]).\nIMAGE : str\n    An image value.\nCURVE : str\n    A curve (series) value.\nDATE : str\n    A calendar date value stored as ``YYYY-MM-DD``.\nTIMESTAMP : str\n    A date-and-time value in ISO 8601 format with a UTC offset\n    (e.g. ``2026-05-21T14:32:00+02:00``).",
      "enum": [
        "number",
        "string",
        "enum",
        "image",
        "curve",
        "date",
        "timestamp"
      ],
      "title": "DataType",
      "type": "string"
    },
    "EntityLink": {
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLink",
      "type": "object"
    },
    "EntityLinkWithName": {
      "description": "EntityLink that includes the name field in serialization.",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLinkWithName",
      "type": "object"
    },
    "EnumValidationValue": {
      "description": "Represents a value for an enum type validation.",
      "properties": {
        "text": {
          "description": "The text of the enum value.",
          "title": "Text",
          "type": "string"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the enum value. If not provided, the ID will be generated upon creation.",
          "title": "Id"
        },
        "originalText": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Originaltext"
        }
      },
      "required": [
        "text"
      ],
      "title": "EnumValidationValue",
      "type": "object"
    },
    "Operator": {
      "description": "A comparison operator constraining a numeric parameter value.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to bound acceptable values (e.g. ``gte`` with\na ``min`` requires the value to be at least ``min``).\n\nAttributes\n----------\nBETWEEN : str\n    Value must fall between ``min`` and ``max`` (inclusive).\nLESS_THAN : str\n    Value must be less than ``max``.\nLESS_THAN_OR_EQUAL : str\n    Value must be less than or equal to ``max``.\nGREATER_THAN_OR_EQUAL : str\n    Value must be greater than or equal to ``min``.\nGREATER_THAN : str\n    Value must be greater than ``min``.\nEQUALS : str\n    Value must equal the specified value.",
      "enum": [
        "between",
        "lt",
        "lte",
        "gte",
        "gt",
        "eq",
        "neq"
      ],
      "title": "Operator",
      "type": "string"
    },
    "ValidationItem": {
      "description": "Typed validation rule for an attribute definition.\n\nDeclares the allowed datatype (`number`, `string`, or `enum`) and optional\nconstraints. Numeric attributes may include min/max and an operator; enum\nattributes list allowed options in ``value``. Values assigned via\n[`add_values`][albert.collections.attributes.AttributeCollection.add_values]\nmust conform to these rules.",
      "properties": {
        "datatype": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataType"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Allowed value type: ``number``, ``string``, or ``enum``."
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum allowed numeric value (with ``between`` or range operators).",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum allowed numeric value (with ``between`` or range operators).",
          "title": "Max"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "items": {
                "$ref": "#/$defs/EnumValidationValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Enum allowed options, or a scalar constraint depending on ``datatype``.",
          "title": "Value"
        },
        "operator": {
          "anyOf": [
            {
              "$ref": "#/$defs/Operator"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Comparison operator for numeric validation (e.g. ``between``)."
        }
      },
      "title": "ValidationItem",
      "type": "object"
    }
  },
  "description": "One attribute's reference value on a parent entity.",
  "properties": {
    "albertId": {
      "description": "Attribute ID.",
      "title": "Albertid",
      "type": "string"
    },
    "attributeDefinition": {
      "$ref": "#/$defs/AttributeDefinition",
      "description": "Metadata for the attribute definition."
    },
    "referenceValue": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Assigned reference value.",
      "title": "Referencevalue"
    },
    "range": {
      "anyOf": [
        {
          "$ref": "#/$defs/AttributeValueRange"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional numeric min/max bounds."
    }
  },
  "required": [
    "albertId",
    "attributeDefinition"
  ],
  "title": "AttributeValuesResponseItem",
  "type": "object"
}

Fields:

id

Attribute ID.

attribute_definition

attribute_definition: AttributeDefinition

Metadata for the attribute definition.

reference_value

reference_value: str | float | None = None

Assigned reference value.

range

range: AttributeValueRange | None = None

Optional numeric min/max bounds.

AttributeValuesResponse

Bases: BaseAlbertModel

Reference values for a single parent entity (inventory item, lot, etc.).

Show JSON schema:
{
  "$defs": {
    "AttributeCategory": {
      "description": "Category of an inventory reference attribute.\n\n``Property``: inventory reference properties tied to a data column (e.g.\nviscosity, pH) for use in worksheets and inventory details.",
      "enum": [
        "Property"
      ],
      "title": "AttributeCategory",
      "type": "string"
    },
    "AttributeDefinition": {
      "description": "Read-only attribute metadata embedded in a values response.\n\nDistinct from [`Attribute`][albert.resources.attributes.Attribute]: uses ``name``\n(not ``referenceName``) and reports ``prmCount`` instead of the full parameters list.",
      "properties": {
        "name": {
          "description": "Attribute display name.",
          "title": "Name",
          "type": "string"
        },
        "fullName": {
          "description": "Localized full name.",
          "title": "Fullname",
          "type": "string"
        },
        "datacolumn": {
          "$ref": "#/$defs/EntityLinkWithName",
          "description": "Data column this reference measures."
        },
        "category": {
          "$ref": "#/$defs/AttributeCategory",
          "description": "Attribute category."
        },
        "unit": {
          "anyOf": [
            {
              "$ref": "#/$defs/EntityLinkWithName"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Unit for numeric values."
        },
        "workflow": {
          "$ref": "#/$defs/EntityLink",
          "description": "Workflow for parameter setpoints."
        },
        "validation": {
          "description": "Validation rules for assigned values.",
          "items": {
            "$ref": "#/$defs/ValidationItem"
          },
          "title": "Validation",
          "type": "array"
        },
        "prmCount": {
          "description": "Number of parameter setpoints on the definition.",
          "title": "Prmcount",
          "type": "integer"
        }
      },
      "required": [
        "name",
        "fullName",
        "datacolumn",
        "category",
        "workflow",
        "validation",
        "prmCount"
      ],
      "title": "AttributeDefinition",
      "type": "object"
    },
    "AttributeValueRange": {
      "description": "Numeric min/max bounds for a reference value.\n\nUsed when an attribute allows a target value plus an acceptable range\n(legacy Specs ``min``/``max`` semantics).",
      "properties": {
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum bound.",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum bound.",
          "title": "Max"
        },
        "comparisonOperator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "How ``min`` and ``max`` constrain the value.",
          "title": "Comparisonoperator"
        }
      },
      "title": "AttributeValueRange",
      "type": "object"
    },
    "AttributeValuesResponseItem": {
      "description": "One attribute's reference value on a parent entity.",
      "properties": {
        "albertId": {
          "description": "Attribute ID.",
          "title": "Albertid",
          "type": "string"
        },
        "attributeDefinition": {
          "$ref": "#/$defs/AttributeDefinition",
          "description": "Metadata for the attribute definition."
        },
        "referenceValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Assigned reference value.",
          "title": "Referencevalue"
        },
        "range": {
          "anyOf": [
            {
              "$ref": "#/$defs/AttributeValueRange"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Optional numeric min/max bounds."
        }
      },
      "required": [
        "albertId",
        "attributeDefinition"
      ],
      "title": "AttributeValuesResponseItem",
      "type": "object"
    },
    "DataType": {
      "description": "The data type of a parameter value, driving how it is validated.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to declare what kind of value a parameter\naccepts.\n\nAttributes\n----------\nNUMBER : str\n    A numeric value.\nSTRING : str\n    A free-text string value.\nENUM : str\n    A value restricted to a fixed set of options (see\n    [`EnumValidationValue`][albert.resources.parameter_groups.EnumValidationValue]).\nIMAGE : str\n    An image value.\nCURVE : str\n    A curve (series) value.\nDATE : str\n    A calendar date value stored as ``YYYY-MM-DD``.\nTIMESTAMP : str\n    A date-and-time value in ISO 8601 format with a UTC offset\n    (e.g. ``2026-05-21T14:32:00+02:00``).",
      "enum": [
        "number",
        "string",
        "enum",
        "image",
        "curve",
        "date",
        "timestamp"
      ],
      "title": "DataType",
      "type": "string"
    },
    "EntityLink": {
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLink",
      "type": "object"
    },
    "EntityLinkWithName": {
      "description": "EntityLink that includes the name field in serialization.",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "category": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        }
      },
      "required": [
        "id"
      ],
      "title": "EntityLinkWithName",
      "type": "object"
    },
    "EnumValidationValue": {
      "description": "Represents a value for an enum type validation.",
      "properties": {
        "text": {
          "description": "The text of the enum value.",
          "title": "Text",
          "type": "string"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The ID of the enum value. If not provided, the ID will be generated upon creation.",
          "title": "Id"
        },
        "originalText": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Originaltext"
        }
      },
      "required": [
        "text"
      ],
      "title": "EnumValidationValue",
      "type": "object"
    },
    "Operator": {
      "description": "A comparison operator constraining a numeric parameter value.\n\nUsed by [`ValueValidation`][albert.resources.parameter_groups.ValueValidation] to bound acceptable values (e.g. ``gte`` with\na ``min`` requires the value to be at least ``min``).\n\nAttributes\n----------\nBETWEEN : str\n    Value must fall between ``min`` and ``max`` (inclusive).\nLESS_THAN : str\n    Value must be less than ``max``.\nLESS_THAN_OR_EQUAL : str\n    Value must be less than or equal to ``max``.\nGREATER_THAN_OR_EQUAL : str\n    Value must be greater than or equal to ``min``.\nGREATER_THAN : str\n    Value must be greater than ``min``.\nEQUALS : str\n    Value must equal the specified value.",
      "enum": [
        "between",
        "lt",
        "lte",
        "gte",
        "gt",
        "eq",
        "neq"
      ],
      "title": "Operator",
      "type": "string"
    },
    "ValidationItem": {
      "description": "Typed validation rule for an attribute definition.\n\nDeclares the allowed datatype (`number`, `string`, or `enum`) and optional\nconstraints. Numeric attributes may include min/max and an operator; enum\nattributes list allowed options in ``value``. Values assigned via\n[`add_values`][albert.collections.attributes.AttributeCollection.add_values]\nmust conform to these rules.",
      "properties": {
        "datatype": {
          "anyOf": [
            {
              "$ref": "#/$defs/DataType"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Allowed value type: ``number``, ``string``, or ``enum``."
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Minimum allowed numeric value (with ``between`` or range operators).",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Maximum allowed numeric value (with ``between`` or range operators).",
          "title": "Max"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "items": {
                "$ref": "#/$defs/EnumValidationValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Enum allowed options, or a scalar constraint depending on ``datatype``.",
          "title": "Value"
        },
        "operator": {
          "anyOf": [
            {
              "$ref": "#/$defs/Operator"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Comparison operator for numeric validation (e.g. ``between``)."
        }
      },
      "title": "ValidationItem",
      "type": "object"
    }
  },
  "description": "Reference values for a single parent entity (inventory item, lot, etc.).",
  "properties": {
    "parentId": {
      "description": "Parent entity ID (e.g. ``INVA123`` or ``LOT456``).",
      "title": "Parentid",
      "type": "string"
    },
    "attributes": {
      "description": "Reference values assigned on this parent.",
      "items": {
        "$ref": "#/$defs/AttributeValuesResponseItem"
      },
      "title": "Attributes",
      "type": "array"
    }
  },
  "required": [
    "parentId",
    "attributes"
  ],
  "title": "AttributeValuesResponse",
  "type": "object"
}

Fields:

parent_id

parent_id: str

Parent entity ID (e.g. INVA123 or LOT456).

attributes

Reference values assigned on this parent.