Skip to main content
POST
Add an asset

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Unknown fields inside the type data object are rejected, and so is a type data object for another type. Unknown top-level fields are ignored. null on an optional field means the same as leaving it out.

household
string
required

The Nomos ID of the household the asset belongs to.

Example:

"dom_k3v9x2m7n1b4v8c2x6z0q5wd"

external_id
string
required

Your own ID for the device, unique among all assets of your organization and never reused. If an asset with this external_id exists, you get 409 with its ID, so a retry after a timeout is safe.

Minimum string length: 1
Example:

"partner-bat-1"

type
enum<string>
required

You add inverter, solar, battery, wallbox and heat_pump. Nomos creates household_net and household_residual with a household's first asset.

Available options:
household_net,
household_residual,
inverter,
solar,
battery,
wallbox,
heat_pump
Example:

"battery"

is_steerable
boolean
required

Nomos expects a schedule for this asset before each day of operation.

Example:

true

parent_inverter
string | null

The Nomos ID of the active inverter in the same household that the asset sits behind. Required on solar, optional on battery (a battery without it is AC-coupled), not allowed on other types.

Example:

"ha_i9k3l7w2e5r8t1y4u6o0p3as"

manufacturer
string | null
Example:

"Fronius"

model
string | null
Example:

"BYD Battery-Box Premium HVS 10.2"

installed_at
string<date-time> | null
Example:

"2025-04-02T00:00:00Z"

metadata
object | null

Your own free-form data, at most 10KB, for example the serial number.

Example:
inverter
object | null
solar
object | null
battery
object | null
wallbox
object | null
heat_pump
object | null

Response

The added asset

A device in a household, or one of the two assets Nomos creates per household. It carries the type data object named like its type, with every field present and null where unknown.

object
enum<string>
required
Available options:
asset
id
string
required
Example:

"ha_b7q2m1k8v4n0x3c9l5p2r7td"

household
string
required
Example:

"dom_k3v9x2m7n1b4v8c2x6z0q5wd"

parent_inverter
string | null
required

The Nomos ID of the inverter the asset sits behind. Set on solar and on a battery behind a hybrid inverter.

Example:

"ha_i9k3l7w2e5r8t1y4u6o0p3as"

external_id
string | null
required

Your own ID. Null on household_net and household_residual.

Example:

"partner-bat-1"

status
enum<string>
required

A decommissioned asset stays readable, by its ID and in the list.

Available options:
active,
decommissioned
Example:

"active"

is_steerable
boolean
required
Example:

true

manufacturer
string | null
required
Example:

"BYD"

model
string | null
required
Example:

"Battery-Box Premium HVS 10.2"

installed_at
required
Example:

null

metadata
object | null
required
Example:
decommissioned_at
required
Example:

null

created_at
required
Example:

"2026-10-06T09:12:44Z"

type
enum<string>
required
Available options:
battery
battery
object
required