Skip to main content
This guide covers the full onboarding flow for a renewable energy producer — including plant data preparation, registration, document uploads, data verification, and delivery status monitoring. Base URL: https://api.lumenaza.de/ (use https://api.test.lumenaza.de/ for sandbox testing) All requests require an Authorization header:

1

Prepare Plant Information

Before registering, gather the following plant details. Having them ready will make registration straightforward and reduce the chance of rejected submissions.

Production Type

Set production_type to one of the following values:

Plant Specifics Object

The plant_specifics object contains technical details about the installation. Required fields vary by production type, but typically include:Example plant_specifics for a solar installation:

Market Location or Tranche

You must provide exactly one of:
  • market_location_identifier — an 11-digit market location ID (Marktlokations-ID / MaLo-ID)
  • tranche — a tranche reference for plants without a dedicated market location

VAT and Business Settings

Set is_reverse_charge to true if the producer is a business customer subject to reverse charge VAT (§13b UStG). This affects invoice generation for the feed-in tariff.

Redispatch Resources (Optional)

If the plant participates in grid redispatch, you may supply:
  • control_resource — object describing the controllability setup (e.g. remote shutdown capability)
  • technical_resources — array of technical resource objects representing individual generation units
These fields are required only when the plant is registered for redispatch management. Consult your grid operator or Lumenaza account manager for the exact schema.
The preferred_delivery_start date for producers must be the first day of the month, at least the month after next — that is, the current month and the immediately following month are both excluded. For example, if today is 15 January, the earliest valid preferred_delivery_start is 1 March. Plan registrations accordingly to avoid rejections.
2

Register the Producer

Submit the producer’s personal details and plant data to create a new producer contract.

Key Parameters

string
required
Producer’s first name.
string
required
Producer’s last name.
string
required
Producer’s email address. Used for contract and remittance communications.
string
required
Producer’s salutation. One of: Frau, Herr, Eheleute, Divers.
boolean
required
true for business/commercial producers, false for private individuals.
boolean
required
true if the producer is subject to reverse charge VAT (§13b UStG). Typically true for business customers with a valid VAT ID.
string
required
Street name of the producer’s registered address.
string
required
House number of the producer’s registered address.
string
required
Five-digit postal code of the producer’s registered address.
string
required
City of the producer’s registered address.
string
required
Reason code for the registration. One of: E01 (new), E02 (new connection), E03 (provider switch).
string
required
Type of energy production. One of: solar, wind, gas, water, battery.
object
required
Technical details of the plant. Must include capacity (Wp for solar, W for other plant types) and, where applicable, longitude and latitude.
string
Your internal customer identifier. Maximum 32 characters. Must be unique within your Lumenaza account.
string
Your internal contract identifier. Maximum 64 characters.
string
The product or tariff name to associate with this producer contract.
string
The saas_contract_id of an existing consumer contract. Use this to link a producer to a consumer on the same account (prosumer setup). See the tip below.
string
11-digit market location identifier (MaLo-ID). Required unless tranche is provided.
string
Tranche reference. Required unless market_location_identifier is provided.
object
Describes the plant’s remote controllability configuration for redispatch.
array
Array of technical resource objects representing individual generation units within the plant.
To register a prosumer — a customer who both consumes and produces electricity — pass the saas_contract_id of their existing consumer contract as consumer_saas_contract_id. Lumenaza will link the two contracts, enabling combined billing and reporting. The consumer contract must already exist before the producer registration is submitted.

Example Request Body

Success Response

HTTP 201 Created
The response echoes back your saas_customer_id and saas_contract_id. Use these identifiers — along with the Lumenaza-assigned userID and contractID returned in the Location response header — for all subsequent operations.
3

Upload Plant Documents

After registration, upload the required regulatory and technical documents for the plant. Documents must first be uploaded as raw files, then referenced by their file IDs in the plant documents endpoint.

Step 3a — Upload the File

Form fields:Example response:
Repeat this step for each document you need to attach.

Step 3b — Attach Documents to the Contract

Supported document types:Example request body:
Example response:
Documents can be uploaded incrementally — you do not need to submit all documents in a single request.
4

Verify Plant Data

Once the registration is submitted and documents are uploaded, verify that Lumenaza has recorded the plant data correctly.
Example response:
If any field looks incorrect, update the plant data using PATCH /v3/producers/{userID}/contracts/{contractID}/plant_data/ before the contract moves to closed_join.
5

Monitor Delivery Status

Track the registration lifecycle by polling the producer contract endpoint.
Example response:
Watch the reg_status field progress through the following stages:The transition from open_join to closed_join typically takes several business days. Once closed_join is reached, the delivery_start field will be populated with the actual feed-in start date.

Next Steps

  • Retrieve feed-in statements: Use GET /v3/producers/{userID}/statements/ to access monthly remittance reports.
  • Update plant data: Use PATCH /v3/producers/{userID}/contracts/{contractID}/plant_data/ to correct or update technical details while the contract is in open_join.
  • Register a consumer: If you also need to onboard an electricity consumer, see Register an Electricity Consumer.