# Assets

> The assets your token can see. Assets with an active virtual segmentation are followed by their virtual assets.

API reference

The assets your token can see. Assets with an active virtual segmentation are followed by their virtual assets.

5 endpoints

· GET · /v1/assets

### List Assets

asset.read

List assets visible to the caller.

ebx admins get all assets across all organisations; other users are scoped to their own organisation(s). Assets with an active virtual segmentation are followed by their synthesized virtual assets.

This endpoint takes no parameters.

Example value

cURL:

```bash
curl ·   · "https://api.ebx.energy/v1/assets" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.get(
     · "https://api.ebx.energy/v1/assets" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/assets" · , ·   · { · 
   · method · : ·   · "GET" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "assets" · : ·   · [ · 
     · { · 
       · "asset_id" · : ·   · "<string>" · , · 
       · "asset_name" · : ·   · "<string>" · , · 
       · "asset_type" · : ·   · "standalone" · , · 
       · "description" · : ·   · "<string>" · , · 
       · "location" · : ·   · "<string>" · , · 
       · "organisation_id" · : ·   · "<string>" · , · 
       · "optimizer_org_id" · : ·   · "<string>" · , · 
       · "optimizer_org_name" · : ·   · "<string>" · , · 
       · "charge_efficiency" · : ·   · 0 · , · 
       · "discharge_efficiency" · : ·   · 0 · , · 
       · "country" · : ·   · "<string>" · , · 
       · "tso" · : ·   · "<string>" · , · 
       · "max_pos_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
       · "min_neg_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
       · "usable_energy_capacity_mwh" · : ·   · 0 · , · 
       · "usable_power_capacity_mw" · : ·   · 0 · , · 
       · "afrr_prequalified_capacity_pos_mw" · : ·   · 0 · , · 
       · "afrr_prequalified_capacity_neg_mw" · : ·   · 0 · , · 
       · "fcr_prequalified_capacity_mw" · : ·   · 0 · , · 
       · "tso_pool_id" · : ·   · 0 · , · 
       · "ioa_middle" · : ·   · 0 · , · 
       · "latitude" · : ·   · 0 · , · 
       · "longitude" · : ·   · 0 · , · 
       · "disable_pq_capacity_check" · : ·   · false · , · 
       · "strict_validation" · : ·   · false · , · 
       · "tso_connected" · : ·   · true · , · 
       · "fcr_enabled" · : ·   · false · , · 
       · "afrr_enabled" · : ·   · false · , · 
       · "wholesale_enabled" · : ·   · false · , · 
       · "control_enabled" · : ·   · false · , · 
       · "pv_active" · : ·   · false · , · 
       · "grid_connection_power_mw" · : ·   · 0 · , · 
       · "bess_priority" · : ·   · false · , · 
       · "poc_export_limit_mw" · : ·   · 0 · , · 
       · "grid_import_zero" · : ·   · false · , · 
       · "grid_import_allowed" · : ·   · true · , · 
       · "bess_control_enabled" · : ·   · false · , · 
       · "pv_control_enabled" · : ·   · false · , · 
       · "asset_operational_status" · : ·   · "onboarding" · , · 
       · "operational_status_reason" · : ·   · "<string>" · , · 
       · "maintenance_until" · : ·   · "2026-09-10T13:30:00Z" · , · 
       · "asset_integration_type" · : ·   · "full_control" · , · 
       · "production_critical" · : ·   · false · , · 
       · "is_virtual" · : ·   · false · , · 
       · "parent_asset_id" · : ·   · "<string>" · 
     · } · 
   · ] · 
 · }
```

Can raise

-   401 · no valid token
-   403 · scope missing
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

 · POST · /v1/assets

### Create Asset

asset.write

Create a new asset (organisation\_id required in request body).

Request body · required

asset\_id · REQUIRED

string · Unique identifier for the asset

asset\_name · REQUIRED

string · Name of the asset

asset\_type · REQUIRED

enum · `standalone` · `green_colocation` · `grey_colocation`

description

string · Description of the asset

location · REQUIRED

string · Location of the asset

organisation\_id

string · Organisation ID the asset belongs to

optimizer\_org\_id

string · Organization that optimizes/trades this asset; must be a registered organization

charge\_efficiency

number · Charge efficiency of the asset

discharge\_efficiency

number · Discharge efficiency of the asset

country

string · Country where the asset is located

tso

string · Transmission System Operator for the asset

max\_pos\_ramp\_rate\_mw\_per\_sec

number · Maximum positive ramp rate in MW/s

min\_neg\_ramp\_rate\_mw\_per\_sec

number · Minimum negative ramp rate in MW/s (positive value representing the magnitude)

usable\_energy\_capacity\_mwh

number · Usable energy capacity in MWh

usable\_power\_capacity\_mw

number · Usable power capacity in MW

afrr\_prequalified\_capacity\_pos\_mw

number · default 0 · Prequalified positive aFRR capacity magnitude in MW

afrr\_prequalified\_capacity\_neg\_mw

number · default 0 · Prequalified negative aFRR capacity magnitude in MW

fcr\_prequalified\_capacity\_mw

number · default 0 · Prequalified symmetric FCR capacity magnitude in MW

tso\_pool\_id

integer · Externally assigned TSO pool ID for the asset

ioa\_middle

integer · IEC-104 IOA middle octet identifying the asset within its TSO pool

latitude

number · Latitude of the asset location

longitude

number · Longitude of the asset location

disable\_pq\_capacity\_check

boolean · default false · When true, PTU capacity exceeded rejections are ignored for this asset

strict\_validation

boolean · default false · When true, plausibility violations are rejected with 409; when false they are returned in `warnings`

tso\_connected

boolean · default true · Whether the asset is connected to the TSO control link

fcr\_enabled

boolean · default false · Whether the asset is enabled for FCR market participation

afrr\_enabled

boolean · default false · Whether the asset is enabled for aFRR market participation

wholesale\_enabled

boolean · default false · Whether the asset is enabled for wholesale market participation

control\_enabled

boolean · default false · Whether the asset-adapter is allowed to send Modbus write commands

pv\_active

boolean · default false · Whether the asset has PV (solar) datapoints to read

grid\_connection\_power\_mw

number · Grid connection point power limit in MW

bess\_priority

boolean · Whether the BESS has priority over the co-located producer at the grid connection

poc\_export\_limit\_mw

number · Export limit at the point of connection in MW; when null, grid\_connection\_power\_mw applies. Not yet active — accepted but not persisted.

grid\_import\_zero

boolean · Deprecated: use grid\_import\_allowed (this is its inverse). Forbids grid import at the point of connection.

grid\_import\_allowed

boolean · Whether importing at the point of connection is permitted. False for green co-location. Null leaves it unset (treated as permitted).

bess\_control\_enabled

boolean · Whether EBX may command the battery. Null falls back to control\_enabled.

pv\_control\_enabled

boolean · Whether EBX may command the PV plane. Null is treated as not permitted.

asset\_integration\_type

enum · `full_control` · `monitoring_only`

asset\_operational\_status

enum · `onboarding` · `onboarding_testing` · `live` · `maintenance` · `offboarded`

operational\_status\_reason

string · Reason for the current operational lifecycle status

maintenance\_until

string<date-time> · Expected end timestamp for maintenance status

Example value

cURL:

```bash
curl ·   · -X ·  POST  · "https://api.ebx.energy/v1/assets" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN" ·  \
   · -H ·   · "Content-Type: application/json" ·  \
   · -d ·   · '{"asset_id":"<string>","asset_name":"<string>","asset_type":"standalone","description":"<string>","location":"<string>","organisation_id":"<string>","optimizer_org_id":"<string>","charge_efficiency":0,"discharge_efficiency":0,"country":"<string>","tso":"<string>","max_pos_ramp_rate_mw_per_sec":0,"min_neg_ramp_rate_mw_per_sec":0,"usable_energy_capacity_mwh":0,"usable_power_capacity_mw":0,"afrr_prequalified_capacity_pos_mw":0,"afrr_prequalified_capacity_neg_mw":0,"fcr_prequalified_capacity_mw":0,"tso_pool_id":0,"ioa_middle":0,"latitude":0,"longitude":0,"disable_pq_capacity_check":false,"strict_validation":false,"tso_connected":true,"fcr_enabled":false,"afrr_enabled":false,"wholesale_enabled":false,"control_enabled":false,"pv_active":false,"grid_connection_power_mw":0,"bess_priority":false,"poc_export_limit_mw":0,"grid_import_zero":false,"grid_import_allowed":false,"bess_control_enabled":false,"pv_control_enabled":false,"asset_integration_type":"full_control","asset_operational_status":"onboarding","operational_status_reason":"<string>","maintenance_until":"2026-09-10T13:30:00Z"}'
```

Python:

```python
import ·  httpx

r = httpx.post(
     · "https://api.ebx.energy/v1/assets" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
    json= · { · 
         · "asset_id" · : ·   · "<string>" · , · 
         · "asset_name" · : ·   · "<string>" · , · 
         · "asset_type" · : ·   · "standalone" · , · 
         · "description" · : ·   · "<string>" · , · 
         · "location" · : ·   · "<string>" · , · 
         · "organisation_id" · : ·   · "<string>" · , · 
         · "optimizer_org_id" · : ·   · "<string>" · , · 
         · "charge_efficiency" · : ·   · 0 · , · 
         · "discharge_efficiency" · : ·   · 0 · , · 
         · "country" · : ·   · "<string>" · , · 
         · "tso" · : ·   · "<string>" · , · 
         · "max_pos_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
         · "min_neg_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
         · "usable_energy_capacity_mwh" · : ·   · 0 · , · 
         · "usable_power_capacity_mw" · : ·   · 0 · , · 
         · "afrr_prequalified_capacity_pos_mw" · : ·   · 0 · , · 
         · "afrr_prequalified_capacity_neg_mw" · : ·   · 0 · , · 
         · "fcr_prequalified_capacity_mw" · : ·   · 0 · , · 
         · "tso_pool_id" · : ·   · 0 · , · 
         · "ioa_middle" · : ·   · 0 · , · 
         · "latitude" · : ·   · 0 · , · 
         · "longitude" · : ·   · 0 · , · 
         · "disable_pq_capacity_check" · : ·   · False · , · 
         · "strict_validation" · : ·   · False · , · 
         · "tso_connected" · : ·   · True · , · 
         · "fcr_enabled" · : ·   · False · , · 
         · "afrr_enabled" · : ·   · False · , · 
         · "wholesale_enabled" · : ·   · False · , · 
         · "control_enabled" · : ·   · False · , · 
         · "pv_active" · : ·   · False · , · 
         · "grid_connection_power_mw" · : ·   · 0 · , · 
         · "bess_priority" · : ·   · False · , · 
         · "poc_export_limit_mw" · : ·   · 0 · , · 
         · "grid_import_zero" · : ·   · False · , · 
         · "grid_import_allowed" · : ·   · False · , · 
         · "bess_control_enabled" · : ·   · False · , · 
         · "pv_control_enabled" · : ·   · False · , · 
         · "asset_integration_type" · : ·   · "full_control" · , · 
         · "asset_operational_status" · : ·   · "onboarding" · , · 
         · "operational_status_reason" · : ·   · "<string>" · , · 
         · "maintenance_until" · : ·   · "2026-09-10T13:30:00Z" · , · 
     · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/assets" · , ·   · { · 
   · method · : ·   · "POST" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
     · "Content-Type" · : ·   · "application/json" · , · 
   · }, · 
   · body · : ·  JSON.stringify( · { · "asset_id" · : · "<string>" · , · "asset_name" · : · "<string>" · , · "asset_type" · : · "standalone" · , · "description" · : · "<string>" · , · "location" · : · "<string>" · , · "organisation_id" · : · "<string>" · , · "optimizer_org_id" · : · "<string>" · , · "charge_efficiency" · : · 0 · , · "discharge_efficiency" · : · 0 · , · "country" · : · "<string>" · , · "tso" · : · "<string>" · , · "max_pos_ramp_rate_mw_per_sec" · : · 0 · , · "min_neg_ramp_rate_mw_per_sec" · : · 0 · , · "usable_energy_capacity_mwh" · : · 0 · , · "usable_power_capacity_mw" · : · 0 · , · "afrr_prequalified_capacity_pos_mw" · : · 0 · , · "afrr_prequalified_capacity_neg_mw" · : · 0 · , · "fcr_prequalified_capacity_mw" · : · 0 · , · "tso_pool_id" · : · 0 · , · "ioa_middle" · : · 0 · , · "latitude" · : · 0 · , · "longitude" · : · 0 · , · "disable_pq_capacity_check" · : · false · , · "strict_validation" · : · false · , · "tso_connected" · : · true · , · "fcr_enabled" · : · false · , · "afrr_enabled" · : · false · , · "wholesale_enabled" · : · false · , · "control_enabled" · : · false · , · "pv_active" · : · false · , · "grid_connection_power_mw" · : · 0 · , · "bess_priority" · : · false · , · "poc_export_limit_mw" · : · 0 · , · "grid_import_zero" · : · false · , · "grid_import_allowed" · : · false · , · "bess_control_enabled" · : · false · , · "pv_control_enabled" · : · false · , · "asset_integration_type" · : · "full_control" · , · "asset_operational_status" · : · "onboarding" · , · "operational_status_reason" · : · "<string>" · , · "maintenance_until" · : · "2026-09-10T13:30:00Z" · } · ) · , · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 201

```json
{ · 
   · "asset_id" · : ·   · "<string>" · , · 
   · "asset_name" · : ·   · "<string>" · , · 
   · "asset_type" · : ·   · "standalone" · , · 
   · "description" · : ·   · "<string>" · , · 
   · "location" · : ·   · "<string>" · , · 
   · "organisation_id" · : ·   · "<string>" · , · 
   · "optimizer_org_id" · : ·   · "<string>" · , · 
   · "optimizer_org_name" · : ·   · "<string>" · , · 
   · "charge_efficiency" · : ·   · 0 · , · 
   · "discharge_efficiency" · : ·   · 0 · , · 
   · "country" · : ·   · "<string>" · , · 
   · "tso" · : ·   · "<string>" · , · 
   · "max_pos_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
   · "min_neg_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
   · "usable_energy_capacity_mwh" · : ·   · 0 · , · 
   · "usable_power_capacity_mw" · : ·   · 0 · , · 
   · "afrr_prequalified_capacity_pos_mw" · : ·   · 0 · , · 
   · "afrr_prequalified_capacity_neg_mw" · : ·   · 0 · , · 
   · "fcr_prequalified_capacity_mw" · : ·   · 0 · , · 
   · "tso_pool_id" · : ·   · 0 · , · 
   · "ioa_middle" · : ·   · 0 · , · 
   · "latitude" · : ·   · 0 · , · 
   · "longitude" · : ·   · 0 · , · 
   · "disable_pq_capacity_check" · : ·   · false · , · 
   · "strict_validation" · : ·   · false · , · 
   · "tso_connected" · : ·   · true · , · 
   · "fcr_enabled" · : ·   · false · , · 
   · "afrr_enabled" · : ·   · false · , · 
   · "wholesale_enabled" · : ·   · false · , · 
   · "control_enabled" · : ·   · false · , · 
   · "pv_active" · : ·   · false · , · 
   · "grid_connection_power_mw" · : ·   · 0 · , · 
   · "bess_priority" · : ·   · false · , · 
   · "poc_export_limit_mw" · : ·   · 0 · , · 
   · "grid_import_zero" · : ·   · false · , · 
   · "grid_import_allowed" · : ·   · true · , · 
   · "bess_control_enabled" · : ·   · false · , · 
   · "pv_control_enabled" · : ·   · false · , · 
   · "asset_operational_status" · : ·   · "onboarding" · , · 
   · "operational_status_reason" · : ·   · "<string>" · , · 
   · "maintenance_until" · : ·   · "2026-09-10T13:30:00Z" · , · 
   · "asset_integration_type" · : ·   · "full_control" · , · 
   · "production_critical" · : ·   · false · , · 
   · "is_virtual" · : ·   · false · , · 
   · "parent_asset_id" · : ·   · "<string>" · 
 · }
```

Can raise

-   400 · malformed request
-   401 · no valid token
-   403 · scope missing
-   409 · state conflict
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)· GET · /v1/assets/{asset\_id}

### Get Asset

asset.read

Get a specific asset by ID, verifying org access.

Virtual asset ids resolve against their parent's active segmentation.

Path parameters

asset\_id · REQUIRED

string

Example value

cURL:

```bash
curl ·   · "https://api.ebx.energy/v1/assets/DE_BESS_01" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.get(
     · "https://api.ebx.energy/v1/assets/DE_BESS_01" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/assets/DE_BESS_01" · , ·   · { · 
   · method · : ·   · "GET" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "asset_id" · : ·   · "<string>" · , · 
   · "asset_name" · : ·   · "<string>" · , · 
   · "asset_type" · : ·   · "standalone" · , · 
   · "description" · : ·   · "<string>" · , · 
   · "location" · : ·   · "<string>" · , · 
   · "organisation_id" · : ·   · "<string>" · , · 
   · "optimizer_org_id" · : ·   · "<string>" · , · 
   · "optimizer_org_name" · : ·   · "<string>" · , · 
   · "charge_efficiency" · : ·   · 0 · , · 
   · "discharge_efficiency" · : ·   · 0 · , · 
   · "country" · : ·   · "<string>" · , · 
   · "tso" · : ·   · "<string>" · , · 
   · "max_pos_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
   · "min_neg_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
   · "usable_energy_capacity_mwh" · : ·   · 0 · , · 
   · "usable_power_capacity_mw" · : ·   · 0 · , · 
   · "afrr_prequalified_capacity_pos_mw" · : ·   · 0 · , · 
   · "afrr_prequalified_capacity_neg_mw" · : ·   · 0 · , · 
   · "fcr_prequalified_capacity_mw" · : ·   · 0 · , · 
   · "tso_pool_id" · : ·   · 0 · , · 
   · "ioa_middle" · : ·   · 0 · , · 
   · "latitude" · : ·   · 0 · , · 
   · "longitude" · : ·   · 0 · , · 
   · "disable_pq_capacity_check" · : ·   · false · , · 
   · "strict_validation" · : ·   · false · , · 
   · "tso_connected" · : ·   · true · , · 
   · "fcr_enabled" · : ·   · false · , · 
   · "afrr_enabled" · : ·   · false · , · 
   · "wholesale_enabled" · : ·   · false · , · 
   · "control_enabled" · : ·   · false · , · 
   · "pv_active" · : ·   · false · , · 
   · "grid_connection_power_mw" · : ·   · 0 · , · 
   · "bess_priority" · : ·   · false · , · 
   · "poc_export_limit_mw" · : ·   · 0 · , · 
   · "grid_import_zero" · : ·   · false · , · 
   · "grid_import_allowed" · : ·   · true · , · 
   · "bess_control_enabled" · : ·   · false · , · 
   · "pv_control_enabled" · : ·   · false · , · 
   · "asset_operational_status" · : ·   · "onboarding" · , · 
   · "operational_status_reason" · : ·   · "<string>" · , · 
   · "maintenance_until" · : ·   · "2026-09-10T13:30:00Z" · , · 
   · "asset_integration_type" · : ·   · "full_control" · , · 
   · "production_critical" · : ·   · false · , · 
   · "is_virtual" · : ·   · false · , · 
   · "parent_asset_id" · : ·   · "<string>" · 
 · }
```

Can raise

-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

· PUT · /v1/assets/{asset\_id}

### Update Asset

asset.write

Partially update an asset.

Only fields present in the request body are changed; omitted fields keep their current values. An explicit `null` clears nullable fields and is rejected (422) for non-nullable ones.

Path parameters

asset\_id · REQUIRED

string

Request body · required

asset\_name

string · Name of the asset

asset\_type

enum · `standalone` · `green_colocation` · `grey_colocation`

description

string · Description of the asset

location

string · Location of the asset

organisation\_id

string · Organisation ID the asset belongs to (must match the existing value; cannot be cleared)

optimizer\_org\_id

string · Organization that optimizes/trades this asset; explicit null clears it

charge\_efficiency

number · Charge efficiency of the asset

discharge\_efficiency

number · Discharge efficiency of the asset

country

string · Country where the asset is located

tso

string · Transmission System Operator for the asset

max\_pos\_ramp\_rate\_mw\_per\_sec

number · Maximum positive ramp rate in MW/s

min\_neg\_ramp\_rate\_mw\_per\_sec

number · Minimum negative ramp rate in MW/s (positive value representing the magnitude)

usable\_energy\_capacity\_mwh

number · Usable energy capacity in MWh

usable\_power\_capacity\_mw

number · Usable power capacity in MW

afrr\_prequalified\_capacity\_pos\_mw

number · Prequalified positive aFRR capacity magnitude in MW

afrr\_prequalified\_capacity\_neg\_mw

number · Prequalified negative aFRR capacity magnitude in MW

fcr\_prequalified\_capacity\_mw

number · Prequalified symmetric FCR capacity magnitude in MW

tso\_pool\_id

integer · Externally assigned TSO pool ID for the asset

ioa\_middle

integer · IEC-104 IOA middle octet identifying the asset within its TSO pool

latitude

number · Latitude of the asset location

longitude

number · Longitude of the asset location

disable\_pq\_capacity\_check

boolean · When true, PTU capacity exceeded rejections are ignored for this asset

strict\_validation

boolean · When true, plausibility violations are rejected with 409; when false they are returned in `warnings`

tso\_connected

boolean · Whether the asset is connected to the TSO control link

fcr\_enabled

boolean · Whether the asset is enabled for FCR market participation

afrr\_enabled

boolean · Whether the asset is enabled for aFRR market participation

wholesale\_enabled

boolean · Whether the asset is enabled for wholesale market participation

control\_enabled

boolean · Whether the asset-adapter is allowed to send Modbus write commands

pv\_active

boolean · Whether the asset has PV (solar) datapoints to read

grid\_connection\_power\_mw

number · Grid connection point power limit in MW

bess\_priority

boolean · Whether the BESS has priority over the co-located producer at the grid connection

poc\_export\_limit\_mw

number · Export limit at the point of connection in MW; when null, grid\_connection\_power\_mw applies. Not yet active — accepted but not persisted.

grid\_import\_zero

boolean · Deprecated: use grid\_import\_allowed (this is its inverse). Forbids grid import at the point of connection.

grid\_import\_allowed

boolean · Whether importing at the point of connection is permitted. False for green co-location.

bess\_control\_enabled

boolean · Whether EBX may command the battery. Null falls back to control\_enabled.

pv\_control\_enabled

boolean · Whether EBX may command the PV plane. Null is treated as not permitted.

asset\_integration\_type

enum · `full_control` · `monitoring_only`

asset\_operational\_status

enum · `onboarding` · `onboarding_testing` · `live` · `maintenance` · `offboarded`

operational\_status\_reason

string · Reason for the current operational lifecycle status

maintenance\_until

string<date-time> · Expected end timestamp for maintenance status

Example value

cURL:

```bash
curl ·   · -X ·  PUT  · "https://api.ebx.energy/v1/assets/DE_BESS_01" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN" ·  \
   · -H ·   · "Content-Type: application/json" ·  \
   · -d ·   · '{"asset_name":"<string>","asset_type":"standalone","description":"<string>","location":"<string>","organisation_id":"<string>","optimizer_org_id":"<string>","charge_efficiency":0,"discharge_efficiency":0,"country":"<string>","tso":"<string>","max_pos_ramp_rate_mw_per_sec":0,"min_neg_ramp_rate_mw_per_sec":0,"usable_energy_capacity_mwh":0,"usable_power_capacity_mw":0,"afrr_prequalified_capacity_pos_mw":0,"afrr_prequalified_capacity_neg_mw":0,"fcr_prequalified_capacity_mw":0,"tso_pool_id":0,"ioa_middle":0,"latitude":0,"longitude":0,"disable_pq_capacity_check":false,"strict_validation":false,"tso_connected":false,"fcr_enabled":false,"afrr_enabled":false,"wholesale_enabled":false,"control_enabled":false,"pv_active":false,"grid_connection_power_mw":0,"bess_priority":false,"poc_export_limit_mw":0,"grid_import_zero":false,"grid_import_allowed":false,"bess_control_enabled":false,"pv_control_enabled":false,"asset_integration_type":"full_control","asset_operational_status":"onboarding","operational_status_reason":"<string>","maintenance_until":"2026-09-10T13:30:00Z"}'
```

Python:

```python
import ·  httpx

r = httpx.put(
     · "https://api.ebx.energy/v1/assets/DE_BESS_01" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
    json= · { · 
         · "asset_name" · : ·   · "<string>" · , · 
         · "asset_type" · : ·   · "standalone" · , · 
         · "description" · : ·   · "<string>" · , · 
         · "location" · : ·   · "<string>" · , · 
         · "organisation_id" · : ·   · "<string>" · , · 
         · "optimizer_org_id" · : ·   · "<string>" · , · 
         · "charge_efficiency" · : ·   · 0 · , · 
         · "discharge_efficiency" · : ·   · 0 · , · 
         · "country" · : ·   · "<string>" · , · 
         · "tso" · : ·   · "<string>" · , · 
         · "max_pos_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
         · "min_neg_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
         · "usable_energy_capacity_mwh" · : ·   · 0 · , · 
         · "usable_power_capacity_mw" · : ·   · 0 · , · 
         · "afrr_prequalified_capacity_pos_mw" · : ·   · 0 · , · 
         · "afrr_prequalified_capacity_neg_mw" · : ·   · 0 · , · 
         · "fcr_prequalified_capacity_mw" · : ·   · 0 · , · 
         · "tso_pool_id" · : ·   · 0 · , · 
         · "ioa_middle" · : ·   · 0 · , · 
         · "latitude" · : ·   · 0 · , · 
         · "longitude" · : ·   · 0 · , · 
         · "disable_pq_capacity_check" · : ·   · False · , · 
         · "strict_validation" · : ·   · False · , · 
         · "tso_connected" · : ·   · False · , · 
         · "fcr_enabled" · : ·   · False · , · 
         · "afrr_enabled" · : ·   · False · , · 
         · "wholesale_enabled" · : ·   · False · , · 
         · "control_enabled" · : ·   · False · , · 
         · "pv_active" · : ·   · False · , · 
         · "grid_connection_power_mw" · : ·   · 0 · , · 
         · "bess_priority" · : ·   · False · , · 
         · "poc_export_limit_mw" · : ·   · 0 · , · 
         · "grid_import_zero" · : ·   · False · , · 
         · "grid_import_allowed" · : ·   · False · , · 
         · "bess_control_enabled" · : ·   · False · , · 
         · "pv_control_enabled" · : ·   · False · , · 
         · "asset_integration_type" · : ·   · "full_control" · , · 
         · "asset_operational_status" · : ·   · "onboarding" · , · 
         · "operational_status_reason" · : ·   · "<string>" · , · 
         · "maintenance_until" · : ·   · "2026-09-10T13:30:00Z" · , · 
     · }, · 
)
print(r.json())
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/assets/DE_BESS_01" · , ·   · { · 
   · method · : ·   · "PUT" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
     · "Content-Type" · : ·   · "application/json" · , · 
   · }, · 
   · body · : ·  JSON.stringify( · { · "asset_name" · : · "<string>" · , · "asset_type" · : · "standalone" · , · "description" · : · "<string>" · , · "location" · : · "<string>" · , · "organisation_id" · : · "<string>" · , · "optimizer_org_id" · : · "<string>" · , · "charge_efficiency" · : · 0 · , · "discharge_efficiency" · : · 0 · , · "country" · : · "<string>" · , · "tso" · : · "<string>" · , · "max_pos_ramp_rate_mw_per_sec" · : · 0 · , · "min_neg_ramp_rate_mw_per_sec" · : · 0 · , · "usable_energy_capacity_mwh" · : · 0 · , · "usable_power_capacity_mw" · : · 0 · , · "afrr_prequalified_capacity_pos_mw" · : · 0 · , · "afrr_prequalified_capacity_neg_mw" · : · 0 · , · "fcr_prequalified_capacity_mw" · : · 0 · , · "tso_pool_id" · : · 0 · , · "ioa_middle" · : · 0 · , · "latitude" · : · 0 · , · "longitude" · : · 0 · , · "disable_pq_capacity_check" · : · false · , · "strict_validation" · : · false · , · "tso_connected" · : · false · , · "fcr_enabled" · : · false · , · "afrr_enabled" · : · false · , · "wholesale_enabled" · : · false · , · "control_enabled" · : · false · , · "pv_active" · : · false · , · "grid_connection_power_mw" · : · 0 · , · "bess_priority" · : · false · , · "poc_export_limit_mw" · : · 0 · , · "grid_import_zero" · : · false · , · "grid_import_allowed" · : · false · , · "bess_control_enabled" · : · false · , · "pv_control_enabled" · : · false · , · "asset_integration_type" · : · "full_control" · , · "asset_operational_status" · : · "onboarding" · , · "operational_status_reason" · : · "<string>" · , · "maintenance_until" · : · "2026-09-10T13:30:00Z" · } · ) · , · 
 · } · );
 · const ·  data =  · await ·  res.json();
```

Example response · 200

```json
{ · 
   · "asset_id" · : ·   · "<string>" · , · 
   · "asset_name" · : ·   · "<string>" · , · 
   · "asset_type" · : ·   · "standalone" · , · 
   · "description" · : ·   · "<string>" · , · 
   · "location" · : ·   · "<string>" · , · 
   · "organisation_id" · : ·   · "<string>" · , · 
   · "optimizer_org_id" · : ·   · "<string>" · , · 
   · "optimizer_org_name" · : ·   · "<string>" · , · 
   · "charge_efficiency" · : ·   · 0 · , · 
   · "discharge_efficiency" · : ·   · 0 · , · 
   · "country" · : ·   · "<string>" · , · 
   · "tso" · : ·   · "<string>" · , · 
   · "max_pos_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
   · "min_neg_ramp_rate_mw_per_sec" · : ·   · 0 · , · 
   · "usable_energy_capacity_mwh" · : ·   · 0 · , · 
   · "usable_power_capacity_mw" · : ·   · 0 · , · 
   · "afrr_prequalified_capacity_pos_mw" · : ·   · 0 · , · 
   · "afrr_prequalified_capacity_neg_mw" · : ·   · 0 · , · 
   · "fcr_prequalified_capacity_mw" · : ·   · 0 · , · 
   · "tso_pool_id" · : ·   · 0 · , · 
   · "ioa_middle" · : ·   · 0 · , · 
   · "latitude" · : ·   · 0 · , · 
   · "longitude" · : ·   · 0 · , · 
   · "disable_pq_capacity_check" · : ·   · false · , · 
   · "strict_validation" · : ·   · false · , · 
   · "tso_connected" · : ·   · true · , · 
   · "fcr_enabled" · : ·   · false · , · 
   · "afrr_enabled" · : ·   · false · , · 
   · "wholesale_enabled" · : ·   · false · , · 
   · "control_enabled" · : ·   · false · , · 
   · "pv_active" · : ·   · false · , · 
   · "grid_connection_power_mw" · : ·   · 0 · , · 
   · "bess_priority" · : ·   · false · , · 
   · "poc_export_limit_mw" · : ·   · 0 · , · 
   · "grid_import_zero" · : ·   · false · , · 
   · "grid_import_allowed" · : ·   · true · , · 
   · "bess_control_enabled" · : ·   · false · , · 
   · "pv_control_enabled" · : ·   · false · , · 
   · "asset_operational_status" · : ·   · "onboarding" · , · 
   · "operational_status_reason" · : ·   · "<string>" · , · 
   · "maintenance_until" · : ·   · "2026-09-10T13:30:00Z" · , · 
   · "asset_integration_type" · : ·   · "full_control" · , · 
   · "production_critical" · : ·   · false · , · 
   · "is_virtual" · : ·   · false · , · 
   · "parent_asset_id" · : ·   · "<string>" · 
 · }
```

Can raise

-   400 · malformed request
-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   409 · state conflict
-   422 · validation failed
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)

· DELETE · /v1/assets/{asset\_id}

### Delete Asset

asset.write

Delete an asset.

Path parameters

asset\_id · REQUIRED

string

Example value

cURL:

```bash
curl ·   · -X ·  DELETE  · "https://api.ebx.energy/v1/assets/DE_BESS_01" ·  \
   · -H ·   · "Authorization: Bearer $EBX_TOKEN"
```

Python:

```python
import ·  httpx

r = httpx.delete(
     · "https://api.ebx.energy/v1/assets/DE_BESS_01" · , · 
    headers= · { · "Authorization" · : ·  f · "Bearer {token}" · }, · 
)
print(r.status_code)
```

TypeScript:

```typescript
const ·  res =  · await ·  fetch( · "https://api.ebx.energy/v1/assets/DE_BESS_01" · , ·   · { · 
   · method · : ·   · "DELETE" · , · 
   · headers · : ·   · { · 
    Authorization · : ·   · `Bearer ${token}` · , · 
   · }, · 
 · } · );
```

Returns 204 with no body.

Can raise

-   400 · malformed request
-   401 · no valid token
-   403 · scope missing
-   404 · unknown or not visible
-   409 · state conflict
-   429 · rate limited

[ALL CODES →](https://docs.ebx.energy/reference/errors.md)
