roboto.domain.devices.operations#

Module Contents#

class roboto.domain.devices.operations.CreateDeviceRequest(/, **data)#

Bases: pydantic.BaseModel

Request payload to create a new device.

This request is used to register a new device with the Roboto platform. The device will be associated with the specified organization and can subsequently be used for authentication and data operations.

Parameters:

data (Any)

custom_fields: dict[str, Any] | None = None#

Initial values for Ready custom fields on this device.

Each key must be the name of a CustomField that is Ready for the caller’s org and the Device entity type; each value must satisfy the field’s declared type. Names that are undefined or not Ready, and values that don’t match the field’s type, are rejected with a structured error.

device_id: str#

A user-provided identifier for a device, which is unique within that device’s org.

metadata: dict[str, Any] = None#

Key-value metadata pairs to associate with the device for discovery and search.

org_id: str | None = None#

The org to which this device belongs. If None, the device will be registered under the caller’s organization (if they belong to only one org) or an error will be raised if the caller belongs to multiple organizations.

tags: list[str] = None#

List of tags for device discovery and organization.

class roboto.domain.devices.operations.UpdateDeviceRequest(/, **data)#

Bases: pydantic.BaseModel

Request payload for updating device properties.

Used to modify device metadata and tags. Supports granular updates through metadata changesets that can add, update, or remove specific fields and tags without affecting other properties.

Parameters:

data (Any)

custom_fields_changeset: roboto.updates.CustomFieldChangeset | None = None#

Changes to apply to Ready custom-field values on this device.

Each referenced field name must be a Ready custom field for this device’s org and the Device entity type; each set_fields value must satisfy the field’s declared type. Names that are undefined or not Ready are rejected with a structured error. Field names not mentioned by the changeset are left unchanged.

metadata_changeset: roboto.updates.MetadataChangeset | None = None#

Metadata changes to apply (add, update, or remove fields/tags).