v1

latestOpenAPI 3.0.12026-07-243686491.1 MB
Tariff

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.<br/><br/>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.<br/><br/>Returns 204 No Content on success.<br/><br/>Clients may send an Idempotency-Key header for safe retry semantics; the header is currently accepted and ignored (no enforcement yet).<br/><br/>Required scope: tariffs:write

patch/api/v1/tariffs/{tariffId}/dynamic-prices

Path parameters

tariffIdinteger required

Headers

string
OR
string
Example:01HX5Z6Q1ABC1234FZ7K9PQRDE

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

Request body

resolution'quarter-hour' | 'half-hour' | 'hour' required

Time granularity of a dynamic price entry.

source'dagster' | 'manual' | 'dso-import' required

Origin of a dynamic price entry.

Example request

{
  "resolution": "hour",
  "source": "dagster",
  "prices": [
    {
      "timeStart": "2026-01-01T00:00:00Z",
      "timeEnd": "2026-01-01T01:00:00Z",
      "price": 0.4567
    }
  ]
}

Response

Prices upserted