Contract identifiers
saas_contract_id must be unique within your sales partner account. Choose an ID that maps directly to your own database primary key or CRM reference to simplify reconciliation.Registration status (reg_status)
Every contract moves through a series of registration statuses that reflect its position in the grid operator’s onboarding process. The primary flow for a new customer is:Delivery start
preferred_delivery_start is the date on which you want energy delivery to begin. The grid operator may adjust this date slightly during the registration process, so always check the confirmed delivery start returned by the API after registration is complete rather than relying solely on the value you submitted.
Market Location (MaLo)
Every contract must be associated with a Market Location, known in German as a Marktlokation (MaLo). This is an 11-digit numeric identifier that uniquely identifies a single supply point within the German energy grid — effectively a standardised address for electricity delivery.Meter ID
Themeter_id is the identifier printed on the physical electricity meter at the supply point. Unlike the MaLo (which identifies the location), the Meter ID identifies the specific device. Meters can be replaced, so a supply point may have a different Meter ID over time while keeping the same MaLo.
Subscription reasons
When creating a contract, you must provide a subscription reason (subscription_reason) that tells the grid operator why this supply point is being registered:
Termination vs. revocation
Contracts can be ended in two fundamentally different ways depending on how far through the lifecycle they are.Revocation (within the revocation window)
Revocation (within the revocation window)
Revocation cancels a contract before or shortly after delivery begins, and is available at two points in the lifecycle:
open_join: The customer has 14 days from contract creation to revoke without penalty. Contracts in the precedingin_revocation_periodstatus are also eligible — the 14-day window starts at creation.closed_join: Even after the registration is active, revocation is still possible up to 8 days before the confirmed delivery start date.
revoked status. If a registration message has already been sent to the grid operator, a cancellation is dispatched automatically.Termination (after delivery has started)
Termination (after delivery has started)
Termination applies to contracts in
closed_join (active delivery). A termination ends delivery on a specific future date and triggers a formal leave process with the grid operator. Once processed, the contract moves to closed_leave.Termination respects the contract notice period defined on the assigned product. Submit the termination request before the notice period deadline to ensure the desired end date is honoured.
