Asset Service API (0.1.0)

Download OpenAPI specification:

Status

Latest operational status per asset (e.g. online/offline, mode).

Get Status List

Return asset status entries for one or more assets.

With latest=true, returns the most recent status per asset. With from/to, returns a paginated history of status changes. At least one of latest or from/to is required.

Parameters

params : StatusGetQueryParams Validated query parameters including asset_ids, latest, from/to, limit, offset, and optional status filter. service : StatusService Injected via FastAPI dependency.

Returns

StatusListResponse Paginated status entries for the requested assets.

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
asset_ids
required
Array of strings (Asset Ids) non-empty
latest
boolean (Latest)
Default: false
From (string) or From (null) (From)
To (string) or To (null) (To)
Array of Status (strings) or Status (null) (Status)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "statuses": [
    ]
}

Assets

Asset master records — create, list, fetch, update.

Create Asset

Create a new asset master record.

Parameters

body : CreateAssetRequest Asset creation payload. service : AssetService Injected via FastAPI dependency.

Returns

AssetResponse The created asset master record with a system-generated asset_id.

Request Body schema: application/json
required
code
required
string (Code)
name
required
string (Name)
type
required
string (AssetType)
Enum: "BESS" "VBAT" "PV" "DAA_SWAP" "DAA_SWAP_VBAT" "GREY_COLOCATION" "GREEN_COLOCATION"

Supported asset types.

region
required
string (Region)
Enum: "DE" "PL"

Enum of available regions.

delivery_area
required
string (DeliveryArea)
Enum: "50HZ" "AMPN" "TNBW" "TNNT" "PSE"

Enum of available delivery areas.

provider
required
string (Provider)
Enum: "ENERGIEKOPPLER" "ENTELIOS" "EBX" "TERRALAYR" "TRANSITION_TECHNOLOGIES" "ASSET_SIMULATOR" "NFT"

Energy market providers.

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "name": "string",
  • "type": "BESS",
  • "region": "DE",
  • "delivery_area": "50HZ",
  • "provider": "ENERGIEKOPPLER"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "name": "string",
  • "type": "BESS",
  • "region": "DE",
  • "delivery_area": "50HZ",
  • "lifecycle": "DRAFT",
  • "provider": "ENERGIEKOPPLER",
  • "go_live_date": "2019-08-24",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List Assets

Return all asset master records with optional filters.

Parameters

params : AssetListQueryParams Optional query parameters: type, region, lifecycle. service : AssetService Injected via FastAPI dependency.

Returns

AssetListResponse Matching asset master records.

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
AssetType (string) or Type (null) (Type)
Region (string) or Region (null) (Region)
AssetLifecycle (string) or Lifecycle (null) (Lifecycle)
DeliveryArea (string) or Delivery Area (null) (Delivery Area)
Provider (string) or Provider (null) (Provider)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "assets": [
    ]
}

Get Asset

Return a single asset master record by asset_id.

Parameters

asset_id : str System-generated unique asset identifier (e.g. DE_50HZ_WU_1). service : AssetService Injected via FastAPI dependency.

Returns

AssetResponse The matching asset master record.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "name": "string",
  • "type": "BESS",
  • "region": "DE",
  • "delivery_area": "50HZ",
  • "lifecycle": "DRAFT",
  • "provider": "ENERGIEKOPPLER",
  • "go_live_date": "2019-08-24",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Patch Asset

Apply a partial update to an asset master record.

Only provided fields are applied. Lifecycle transitions must use the dedicated asset-actions endpoints.

Parameters

asset_id : str System-generated unique asset identifier. body : PatchAssetRequest Fields to update; omitted fields are left untouched. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)
Request Body schema: application/json
required
Name (string) or Name (null) (Name)
AssetType (string) or null
Go Live Date (string) or Go Live Date (null) (Go Live Date)
Provider (string) or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "BESS",
  • "go_live_date": "2019-08-24",
  • "provider": "ENERGIEKOPPLER"
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Delete Asset

Delete an asset master record.

Deletion is only permitted for assets in the draft or decommissioned lifecycle state.

Parameters

asset_id : str System-generated unique asset identifier. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Asset Status

Return the latest operational status of an asset.

Parameters

asset_id : str Unique identifier of the asset (e.g. DE_50HZ_DK_1). service : StatusService Injected via FastAPI dependency.

Returns

AssetStatusEntry Latest status entry for the asset.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "asset_id": "string",
  • "status": "UNKNOWN",
  • "effective_at": "2019-08-24T14:15:22Z",
  • "reasons": [
    ],
  • "created_at": "2019-08-24T14:15:22Z"
}

Asset Actions

Lifecycle transitions (commission, decommission, etc.). Each endpoint covers exactly one transition between adjacent lifecycle states.

Commission Asset

Transition the asset from DRAFT to COMMISSIONING.

Parameters

asset_id : str System-generated unique asset identifier. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Go Live Asset

Transition the asset from COMMISSIONING to LIVE.

Sets go_live_date to today (UTC) if it is not already set.

Parameters

asset_id : str System-generated unique asset identifier. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Suspend Asset

Transition the asset from LIVE to SUSPENDED.

Parameters

asset_id : str System-generated unique asset identifier. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Resume Asset

Transition the asset from SUSPENDED back to LIVE.

Parameters

asset_id : str System-generated unique asset identifier. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Decommission Asset

Transition the asset from LIVE to DECOMMISSIONED.

Parameters

asset_id : str System-generated unique asset identifier. service : AssetService Injected via FastAPI dependency.

path Parameters
asset_id
required
string (Asset Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Dispatches

Historical dispatch commands. Read-only — writes happen via the event-driven ingestion worker, not over HTTP.

List Dispatches

Return a paginated history of dispatch commands.

Used by Operators and the Optimisation service for audit trails, monitoring, and debugging anomalies (e.g. slow-ramp investigation).

Parameters

params : DispatchListQueryParams Required filter asset_ids plus optional from, to, delivery_day, limit, and offset. service : DispatchService Injected via FastAPI dependency.

Returns

DispatchListResponse Matching dispatch records with pagination metadata.

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
asset_ids
required
Array of strings (Asset Ids) non-empty
from
required
string <date-time> (From)
to
required
string <date-time> (To)

Responses

Response samples

Content type
application/json
{
  • "dispatches": [
    ],
  • "limit": 0,
  • "offset": 0
}

State Snapshots

Stored-energy state-of-charge snapshots (read latest / time-range, plus upsert).

Create State Snapshots

Batch upsert state snapshots.

Inserts or overwrites state snapshots for one or more assets. The entire batch succeeds or none of it is written (single atomic statement).

On conflict on (asset_id, effective_at), the energy fields and updated_at are overwritten. created_at is never modified.

Returns 422 if any asset_id in the batch does not exist, identifying all offending IDs.

Request Body schema: application/json
required
required
Array of objects (State Snapshots) non-empty

Responses

Request samples

Content type
application/json
{
  • "state_snapshots": [
    ]
}

Response samples

Content type
application/json
{
  • "state_snapshots": [
    ]
}

Get State Snapshots

Retrieve state snapshots for one or more assets.

Latest mode (latest=true): returns the single most recent snapshot per asset. Cannot be combined with from or to.

Time-range mode (default): returns all snapshots with effective_at in [from, to), ordered effective_at ASC, paginated via limit/offset. to defaults to now() when omitted. Unknown asset_ids return an empty list silently.

query Parameters
asset_ids
required
Array of strings (Asset Ids) non-empty
latest
boolean (Latest)
Default: false
From (string) or From (null) (From)
To (string) or To (null) (To)
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0

Responses

Response samples

Content type
application/json
{
  • "state_snapshots": [
    ],
  • "limit": 0,
  • "offset": 0,
  • "total_charged_energy": {
    },
  • "total_discharged_energy": {
    }
}

Limits

Period limits per asset per 15-min slot — charge/discharge power, energy bands, trading lock. Multi-source with computed most-restrictive values.

Upsert Limits

Batch partial-update period limits for one or more assets.

Each entry specifies a UTC time-of-day window (start_time- end_time) and a date range (valid_from-valid_until). The server expands each entry into individual 15-minute delivery period rows for every day in [valid_from, valid_until]. delivery_day is derived server-side from each row's start_time — do not pass it in the request.

On conflict on (asset_id, start_time, source) the upsert is partial — every nullable field (power_charge, power_discharge, energy_low, energy_high, trading_locked) is overwritten only when the incoming value is non-null; null preserves the existing column. To clear trading_locked send an explicit false; to clear a constraint column issue DELETE on the (asset, period range, source). end_time, delivery_day and updated_at always overwrite; created_at is never modified.

Returns 404 if any referenced asset_id does not exist.

Request Body schema: application/json
required
required
Array of objects (Limits) non-empty

Responses

Request samples

Content type
application/json
{
  • "limits": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Limits

Return paginated period limits for one or more assets.

Retrieves all period limit rows within [from, to) for the given assets. Results are grouped by (asset_id, start_time) and include both per-source raw values and derived computed limits.

Computed limits represent the most-restrictive value across all sources: power_charge (max), power_discharge (min), energy_low (max), energy_high (min), trading_locked (any).

Optionally filter by sources (comma-separated or repeated).

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
asset_ids
required
Array of strings (Asset Ids) non-empty
from
required
string <date-time> (From)
to
required
string <date-time> (To)
Array of Sources (strings) or Sources (null) (Sources)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "limits": [
    ]
}

Delete Limits

Clear constraint contributions for a source within a time range.

For each row matching start_time in [start_time, end_time) for the given asset_id and source:

  • power_charge, power_discharge, energy_low and energy_high are set to NULL.
  • trading_locked is preserved — DELETE does not clear a lock. To clear trading_locked send a PATCH with an explicit trading_locked=false.
  • Rows that end up with no contribution at all (all four constraints NULL and trading_locked not TRUE) are removed from the table.

This lets customer-side limits and customer-side reservation locks share a source=CUSTOMER row without a DELETE on one wiping the other.

query Parameters
asset_id
required
string (Asset Id)
start_time
required
string <date-time> (Start Time)
end_time
required
string <date-time> (End Time)
source
required
string (LimitSource)
Enum: "REPORTED" "OPERATIONS" "CUSTOMER" "PV" "AVAILABILITY"

Controlled vocabulary for limit submission sources.

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Forecasts

Forecasted generation/consumption per asset per period.

Upsert Forecasts

Batch upsert forecast periods for one or more assets.

Each entry specifies a UTC [start_time, end_time) window and the forecasted generation and consumption for that period. The natural key is (asset_id, start_time) — re-submitting the same key overwrites the row's forecast values and updated_at; created_at is never modified. delivery_day is derived server-side and must not be supplied by the client.

Returns 404 if any referenced asset_id does not exist.

Request Body schema: application/json
required
required
Array of objects (Forecasts) non-empty

Responses

Request samples

Content type
application/json
{
  • "forecasts": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Forecasts

Return paginated forecast periods for one or more assets.

Retrieves forecast rows with start_time in [from, to) for the given assets, ordered by (asset_id, start_time).

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
asset_ids
required
Array of strings (Asset Ids) non-empty
from
required
string <date-time> (From)
to
required
string <date-time> (To)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "forecasts": [
    ]
}

Reservations

Net market positions per (asset, period, market, source) — from optimisation, external sources, or DAA swaps.

Upsert Reservations

Batch upsert reservation periods for one or more assets.

Each entry specifies a UTC [start_time, end_time) window, a market string, a source, and the four numeric fields (power in MW; energy_change, energy_buffer_low, energy_buffer_high in MWh). The natural key is (asset_id, start_time, market, source) — re-submitting the same key overwrites every value column and refreshes updated_at; created_at is never modified. delivery_day is derived server-side from start_time and must not be supplied by the client.

Mirrors the forecast endpoint's plain-upsert shape: rows not in the payload are left untouched (no implicit delete of omitted markets for a given (period, source)).

Returns 404 if any referenced asset_id does not exist.

Request Body schema: application/json
required
required
Array of objects (Reservations) [ 1 .. 1000 ] items

Responses

Request samples

Content type
application/json
{
  • "reservations": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Reservations

Return paginated reservation periods for one or more assets.

Retrieves reservation rows with start_time in [from, to) for the given assets, ordered by (asset_id, start_time, market, source). Optionally filter by markets and/or sources (comma-separated or repeated query parameters).

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
asset_ids
required
Array of strings (Asset Ids) non-empty
from
required
string <date-time> (From)
to
required
string <date-time> (To)
Array of Markets (strings) or Markets (null) (Markets)
Array of Sources (strings) or Sources (null) (Sources)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "reservations": [
    ]
}

Specs

Versioned technical specifications per asset.

Upsert Spec

Upsert a versioned technical spec for one asset.

The natural key is (asset_id, valid_from). Re-submitting the same key applies a partial update — fields omitted from the request preserve the existing column value. Otherwise a new row is inserted. For BESS specs (valid_to omitted/null) the currently-active row, if any, is closed by setting its valid_to to the new valid_from; the new valid_from must be strictly after the existing active spec.

For vBat specs (explicit valid_to) the database EXCLUDE constraint rejects any window that partially overlaps an existing spec; full overlap on the same valid_from is handled as the partial-update case above.

Returns 404 if the referenced asset_id does not exist, 422 if the BESS ordering rule or the vBat overlap rule is violated.

Request Body schema: application/json
required
asset_id
required
string (Asset Id)
valid_from
required
string <date-time> (Valid From)
Valid To (string) or Valid To (null) (Valid To)
Quantity (object) or null
Quantity (object) or null
Quantity (object) or null
Ramp Rate (number) or Ramp Rate (string) or Ramp Rate (null) (Ramp Rate)
Ramp Type (string) or Ramp Type (null) (Ramp Type)
Charge Efficiency (number) or Charge Efficiency (string) or Charge Efficiency (null) (Charge Efficiency)
Discharge Efficiency (number) or Discharge Efficiency (string) or Discharge Efficiency (null) (Discharge Efficiency)
Quantity (object) or null
Quantity (object) or null
Quantity (object) or null
Quantity (object) or null

Responses

Request samples

Content type
application/json
{
  • "asset_id": "string",
  • "valid_from": "2019-08-24T14:15:22Z",
  • "valid_to": "2019-08-24T14:15:22Z",
  • "rated_power": {
    },
  • "grid_connection_max_power": {
    },
  • "max_capacity": {
    },
  • "ramp_rate": 0,
  • "ramp_type": "string",
  • "charge_efficiency": 0,
  • "discharge_efficiency": 0,
  • "daily_cycle_energy_limit": {
    },
  • "prequalified_fcr": {
    },
  • "prequalified_afrr_charge": {
    },
  • "prequalified_afrr_discharge": {
    }
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Specs

Return paginated spec versions for one or more assets.

Rows are ordered by (asset_id, valid_from DESC). latest=true collapses to one row per asset. from and to bound valid_from inclusive on both ends; the combined span is capped at 31 days to bound query cost.

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
asset_ids
required
Array of strings (Asset Ids) non-empty
latest
boolean (Latest)
Default: false
From (string) or From (null) (From)
To (string) or To (null) (To)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "specs": [
    ]
}

Sites

Site master data and per-site inverter configuration.

Create Site

Create a new site record.

Parameters

body : CreateSiteRequest Site creation payload. service : SiteService Injected via FastAPI dependency.

Returns

SiteResponse The created site record with a system-generated id.

Request Body schema: application/json
required
name
required
string (Name)
code
required
string (Code)
region
required
string (Region)
Enum: "DE" "PL"

Enum of available regions.

delivery_area
required
string (DeliveryArea)
Enum: "50HZ" "AMPN" "TNBW" "TNNT" "PSE"

Enum of available delivery areas.

required
object (DispatchMode-Input)

Dispatch mode configuration for a site.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "code": "string",
  • "region": "DE",
  • "delivery_area": "50HZ",
  • "dispatch_mode": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "region": "DE",
  • "delivery_area": "50HZ",
  • "dispatch_mode": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "inverters": [
    ]
}

List Sites

Return all site records with optional filters.

Parameters

params : SiteListQueryParams Optional query parameters: region, delivery_area. service : SiteService Injected via FastAPI dependency.

Returns

SiteListResponse Matching site records.

query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
Region (string) or Region (null) (Region)
DeliveryArea (string) or Delivery Area (null) (Delivery Area)
Asset Id (string) or Asset Id (null) (Asset Id)
Expand (string) or Expand (null) (Expand)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "sites": [
    ]
}

Get Site

Return a single site record by site_id.

Parameters

site_id : str System-generated unique site identifier (e.g. DE_AMPN_IMMST_SITE_1). service : SiteService Injected via FastAPI dependency.

Returns

SiteResponse The matching site record.

path Parameters
site_id
required
string (Site Id)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "code": "string",
  • "region": "DE",
  • "delivery_area": "50HZ",
  • "dispatch_mode": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "inverters": [
    ]
}

Patch Site

Apply a partial update to a site record.

Only provided fields are applied. Fields that form the site id (code, region, delivery_area) are immutable.

Parameters

site_id : str System-generated unique site identifier. body : PatchSiteRequest Fields to update; omitted fields are left untouched. service : SiteService Injected via FastAPI dependency.

path Parameters
site_id
required
string (Site Id)
Request Body schema: application/json
required
Name (string) or Name (null) (Name)
DispatchModeName (string) or null
Quantity (object) or null
Quantity (object) or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "dispatch_mode_name": "PRICE_BASED",
  • "dispatch_mode_floor_price": {
    },
  • "dispatch_mode_strike_price": {
    }
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Delete Site

Delete a site record.

Parameters

site_id : str System-generated unique site identifier. service : SiteService Injected via FastAPI dependency.

path Parameters
site_id
required
string (Site Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Site Limits

Return paginated PoC limits for a site within a time window.

Parameters

site_id : str System-generated unique site identifier. params : SiteLimitsQueryParams Required query parameters: from, to (max 31-day window). Optional: limit, offset. service : SiteService Injected via FastAPI dependency.

Returns

SiteLimitsResponse Paginated limit periods for the site.

path Parameters
site_id
required
string (Site Id)
query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
from
required
string <date-time> (From)
to
required
string <date-time> (To)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "limits": [
    ]
}

Put Site Limits

Upsert PoC limits for a site.

Existing periods with a matching start_time are overwritten. Periods outside the submitted set are left untouched.

Parameters

site_id : str System-generated unique site identifier. body : PutSiteLimitsRequest List of limit periods to upsert. service : SiteService Injected via FastAPI dependency.

path Parameters
site_id
required
string (Site Id)
Request Body schema: application/json
required
required
Array of objects (Limits) non-empty

Responses

Request samples

Content type
application/json
{
  • "limits": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Add Site Inverter

Add a new inverter to a site.

Parameters

site_id : str System-generated unique site identifier. body : CreateSiteInverterRequest Inverter creation payload. service : SiteService Injected via FastAPI dependency.

Returns

SiteInverterResponse The created inverter record with a system-generated id.

path Parameters
site_id
required
string (Site Id)
Request Body schema: application/json
required
required
object (Quantity-Input)

A physical amount paired with its unit.

required
Charge Efficiency (number) or Charge Efficiency (string) (Charge Efficiency)
required
Discharge Efficiency (number) or Discharge Efficiency (string) (Discharge Efficiency)
asset_ids
required
Array of strings (Asset Ids) non-empty

Responses

Request samples

Content type
application/json
{
  • "rated_power": {
    },
  • "charge_efficiency": 0,
  • "discharge_efficiency": 0,
  • "asset_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "site_id": "string",
  • "rated_power": {
    },
  • "charge_efficiency": "string",
  • "discharge_efficiency": "string",
  • "asset_ids": [
    ]
}

Patch Site Inverter

Apply a partial update to a site inverter.

Parameters

site_id : str System-generated unique site identifier. inverter_id : str System-generated unique inverter identifier. body : PatchSiteInverterRequest Fields to update; omitted fields are left untouched. service : SiteService Injected via FastAPI dependency.

path Parameters
site_id
required
string (Site Id)
inverter_id
required
string (Inverter Id)
Request Body schema: application/json
required
Quantity (object) or null
Charge Efficiency (number) or Charge Efficiency (string) or Charge Efficiency (null) (Charge Efficiency)
Discharge Efficiency (number) or Discharge Efficiency (string) or Discharge Efficiency (null) (Discharge Efficiency)
Array of Asset Ids (strings) or Asset Ids (null) (Asset Ids)

Responses

Request samples

Content type
application/json
{
  • "rated_power": {
    },
  • "charge_efficiency": 0,
  • "discharge_efficiency": 0,
  • "asset_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Delete Site Inverter

Delete a site inverter.

Parameters

site_id : str System-generated unique site identifier. inverter_id : str System-generated unique inverter identifier. service : SiteService Injected via FastAPI dependency.

path Parameters
site_id
required
string (Site Id)
inverter_id
required
string (Inverter Id)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Site Inverter Limits

Return paginated limits for a site inverter within a time window.

Parameters

site_id : str System-generated unique site identifier. inverter_id : str System-generated unique inverter identifier. params : SiteInverterLimitsQueryParams Required query parameters: from, to (max 7-day window). Optional: limit, offset. service : SiteService Injected via FastAPI dependency.

Returns

SiteInverterLimitsResponse Paginated limit periods for the inverter.

path Parameters
site_id
required
string (Site Id)
inverter_id
required
string (Inverter Id)
query Parameters
limit
integer (Limit) [ 1 .. 1000 ]
Default: 50
offset
integer (Offset) >= 0
Default: 0
from
required
string <date-time> (From)
to
required
string <date-time> (To)

Responses

Response samples

Content type
application/json
{
  • "limit": 0,
  • "offset": 0,
  • "limits": [
    ]
}

Put Site Inverter Limits

Upsert limits for a site inverter.

Existing periods with a matching start_time are overwritten. Periods outside the submitted set are left untouched.

Parameters

site_id : str System-generated unique site identifier. inverter_id : str System-generated unique inverter identifier. body : PutSiteInverterLimitsRequest List of limit periods to upsert. service : SiteService Injected via FastAPI dependency.

path Parameters
site_id
required
string (Site Id)
inverter_id
required
string (Inverter Id)
Request Body schema: application/json
required
required
Array of objects (Limits) non-empty

Responses

Request samples

Content type
application/json
{
  • "limits": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Health

Return service health status.

Returns

dict[str, str] A mapping {"status": "ok"} when the service is running.

Responses

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}