| ref | Yes | Offer reference from a compare-tariffs result (field `ref`). | |
| iban | Yes | IBAN as entered in the form; spaces allowed. | |
| email | Yes | Email address — receives the booking confirmation and provider documents. | |
| phone | No | Phone number (optional, some providers ask for it). | |
| street | Yes | Street of the supply address (Straße). | |
| language | No | Language of the conversation — used for the confirmation email. Default: "de". | |
| lastName | Yes | Last name (Nachname). | |
| birthDate | Yes | Date of birth, ISO format YYYY-MM-DD. Energy providers require it for the contract. | |
| firstName | Yes | First name (Vorname). | |
| moveInDate | No | Move-in date (Umzugsdatum), ISO YYYY-MM-DD. Required for switchType "relocation", ignored for a switch. | |
| salutation | Yes | Salutation (Anrede), required by the providers: "herr", "frau" or "divers". | |
| switchType | Yes | "switch": changing provider at the current address (Anbieterwechsel). "relocation": moving in / first contract at this address (Umzug/Neueinzug). | |
| houseNumber | Yes | House number (Hausnummer), e.g. "12a". | |
| meterNumber | No | Meter number (Zählernummer, optional — printed on the meter or the last bill). | |
| accountHolder | No | Account holder if different from the contract holder. | |
| authorization | Yes | The three consents the user gave in the form, with the wording versions shown to them. | |
| idempotencyKey | Yes | Random per form instance. A retry with the same key returns the first result instead of filing twice. | |
| desiredStartDate | No | Desired contract start, ISO YYYY-MM-DD. Omit for the next possible date. | |
| previousProvider | No | Current/previous energy provider. Required for switchType "switch". | |
| previousCustomerNumber | No | Customer number at the previous provider (Kundennummer, optional but speeds up the switch). | |