Skip to main content
PATCH
/
v1
/
customers
/
{customer_id}
Update customer
curl --request PATCH \
  --url https://api.otark.energy/v1/customers/{customer_id} \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "status": "pending",
  "metadata": {
    "customer_number": "KD-2026-0815",
    "cost_center": "CC-4200"
  }
}
'
{
  "id": "cust_r8s9t0u1",
  "name": "SolarDach GmbH",
  "status": "active",
  "balance_group": {
    "eic": "11YSOLARDACH--A",
    "tso": "DE_AMPRION"
  },
  "metadata": {
    "customer_number": "KD-2026-0815",
    "cost_center": "CC-4200",
    "region": "NRW"
  },
  "assigned_at": "2026-01-10T09:00:00Z",
  "created_at": "2026-01-10T09:00:00Z",
  "activated_at": "2026-01-10T11:30:00Z"
}

Authorizations

X-Api-Key
string
header
required

Path Parameters

customer_id
string
required

Customer identifier

Example:

"cust_r8s9t0u1"

Body

application/json

Partial update for a customer. Metadata is merged — only provided keys are added or overwritten. Set a key to null to remove it. Sending read-only fields (id, name, assigned_at, activated_at, created_at) returns a read_only_field error.

status
enum<string>

New customer status

Available options:
pending,
active,
deactivated
balance_group
object

A balance group assignment

metadata
object

Key-value pairs to merge into existing metadata

Example:
{
  "customer_number": "KD-2026-0815",
  "cost_center": "CC-4200"
}

Response

Updated customer

A customer assigned to the BRP

id
string
required

Unique customer identifier

Example:

"cust_r8s9t0u1"

name
string
required

Customer display name

Example:

"SolarDach GmbH"

status
enum<string>
required

Customer status

Available options:
pending,
active,
deactivated
Example:

"active"

balance_group
object
required

A balance group assignment

metadata
object
required

BRP-defined key-value pairs (free-form)

Example:
{
  "customer_number": "KD-2026-0815",
  "cost_center": "CC-4200",
  "region": "NRW"
}
assigned_at
string<date-time>
required

ISO 8601 timestamp when the customer was assigned

Example:

"2026-01-10T09:00:00Z"

created_at
string<date-time>
required

ISO 8601 creation timestamp

Example:

"2026-01-10T09:00:00Z"

activated_at
string<date-time> | null

ISO 8601 timestamp when the customer was activated

Example:

"2026-01-10T11:30:00Z"