Upsert dynamic prices on a DYNAMIC tariff.

Bulk-upserts price-interval entries on a DYNAMIC tariff. All entries in one request share the same resolution and source. The conflict key is (timeStart, resolution) — re-submitted entries update their price, timeEnd, and source in place.

The operation is all-or-nothing: if any entry is misaligned to its resolution grid, has the wrong interval length, or duplicates a timeStart within the request body, the entire batch is rejected with 400 BAD_REQUEST and no rows are written. Maximum 5000 entries per request.

Returns 204 No Content on success.

Clients may send an Idempotency-Key header for safe retry semantics; the header is currently accepted and ignored (no enforcement yet).

Required scope: tariffs:write

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
int64
required
Body Params

Bulk-upsert dynamic price entries on a DYNAMIC tariff. All entries in one request share the same resolution and source. The operation is all-or-nothing: if any entry is misaligned, mis-sized, or duplicated, the entire batch is rejected with 400.

string
enum
required

Time granularity of a dynamic price entry.

Allowed:
string
enum
required

Origin of a dynamic price entry.

Allowed:
prices
array of objects
required
length between 1 and 5000

Price-interval entries to upsert. Each entry's (timeStart, resolution) is the conflict key — a re-submitted entry updates price, timeEnd, and source in place. Max 5000 entries per request.

prices*

A single price-interval entry to upsert on a DYNAMIC tariff.

date-time
required

Inclusive start of the price interval (UTC, RFC 3339). Must align to the batch resolution grid.

date-time
required

Exclusive end of the price interval (UTC, RFC 3339). timeEnd - timeStart must equal the batch resolution.

number
required
≥ 0

Non-negative price per kWh in the parent tariff's currency. Up to 4 decimal places.

Headers

Opaque client-supplied key used for safe retries. Accepted today; behavior not yet enforced.

Responses
204

Prices upserted

400

The tariff is not DYNAMIC, or an entry is misaligned, mis-sized, or duplicates a timeStart

404

Tariff not found or not visible to this consumer

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json