Skip to main content
POST
/
partner
/
v1
/
orders
Create a new order
curl --request POST \
  --url https://api.rabot-charge.de/partner/v1/orders \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "tariffKey": "RabotSmart",
  "offerDate": "2025-08-22",
  "userAccount": {
    "emailAddress": "[email protected]",
    "phoneNumber": "+491234567890",
    "password": "SomeExamplePassword987.",
    "firstName": "Max",
    "lastName": "Mustermann",
    "businessName": "<string>",
    "gender": "Male",
    "dateOfBirth": "2023-12-25"
  },
  "contract": {
    "externalId": "urn:acme:contract:ffa98ecb-f28c-442d-b52e-7ffdc97ba676",
    "type": "Personal",
    "deliveryAddress": {
      "title": "Dr.",
      "firstName": "Thomas",
      "lastName": "Mustermann",
      "businessName": null,
      "gender": "Male",
      "extension": null,
      "streetName": "Grüner Weg",
      "houseNumber": "42",
      "city": "Berlin",
      "postCode": "14109",
      "countryCode": "DE"
    },
    "billingAddress": null,
    "bankDetails": {
      "accountHolder": "Thomas Heinrich Mustermann",
      "iban": "DE89370400440532013000",
      "bic": "DEUTDEFF",
      "bankName": "Deutsche Bank",
      "hasAcceptedDirectDebit": true
    },
    "contractReason": "NewDeliveryLocation",
    "deliveryDetails": {
      "previousAnnualConsumptionKwh": 2600,
      "meterNumber": "123456789",
      "maLoIdentifier": "99987999749",
      "meLoIdentifier": "DE99911149565001246597500M01ID018",
      "desiredTransitionDate": "2024-05-01",
      "moveInDate": null,
      "previousSelfCancelledDate": "2024-04-22",
      "previousSupplierCode": "9979250000006",
      "capabilities": {
        "hasElectricVehicle": false,
        "hasSmartMeter": true,
        "hasHeatPump": true
      }
    },
    "agreements": {
      "termsAndConditions": true,
      "privacyPolicy": true,
      "revocationPolicy": true
    },
    "transactionDateTime": "2024-04-01 00:00:00"
  },
  "campaignCode": "<string>"
}
'
{
  "customerNumber": "234567890",
  "contractNumber": "345678901"
}
You can use this endpoint to create a new order. See the guide section Build your own Funnel for additional information.

Required input

The following information is mandatory to create an order:

General information

  • a valid tariffKey (see list tariffs)
  • customer information in useraccount:
    • firstName and lastName for private customers, businessName for business customers.
    • a validated email address of the customer
  • the deliveryAddress object with
    • firstName and lastName for private customers, businessName for business customers.
    • complete postal address of the delivery location
  • bankDetails need to be complete with accountHolder, iban, bic and bankName for SEPA. Set bankDetails: null for payment by invoice
  • deliveryDetails has to filled with
    • maLoIdentifier or meterNumber of the delivery point
    • the BDEW code of the previous supplier in previousSupplierCode
If the customer just moved into the location, i.e. has no previous supply contract for the delivery location:
  • contractReason has to be set to NewDeliveryLocation
  • deliveryDetails has to filled with
    • moveInDate set to the date the customer will move into the new location. This will be used as desired start date for the contract
    • previousAnnualConsumption has to be filled and set to the expected annual energy consumption.
If the customer already has a supply contract in the delivery location:
  • contractReason has to be set to ChangeOfSupplier
  • The name in deliveryAddress has to match with the contract holder of the previous supply contract
  • deliveryDetails has to filled with
    • previousAnnualConsumption has to be filled and set to the annual energy consumption as reported by the previous supplier
    • If the customer has already cancelled the contract with the previous supplier
      • previousSelfCancelledDate has to be filled. This will be used as desired start date for the new contract
    • If the customer wants Rabot to take care of cancelling the contract with the previous supplier:
      • desiredTransitionDatehas to be filled
Requires create:orders scope.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request data object

Information about a new order to be created

tariffKey
string

Tariff key of the tariff to be used

Example:

"RabotSmart"

offerDate
string<date> | null

Date, for which the offer was given. Uses today as default, if not provided.

Example:

"2025-08-22"

userAccount
object

Information about user account, that should be created and bound with the tariff. If an account for the same user (identified by the email address) already exists, the contract is linked to the existing user account instead.

contract
object

Information about the contract, that should be created for this order

campaignCode
string | null

Optional campaign code, if campaign is to be used

Response

200 - application/json

OK

customerNumber
string

Customer number of created customer

Example:

"234567890"

contractNumber
string

Number of newly created contract

Example:

"345678901"