Update a subscription
Changed onUpdate the editable fields of a subscription. Only the allow-listed properties may be changed; any other field is ignored. billing_address replaces the subscription's billing address (all of street, house number, zip, city are required); the address row is mutated in place, so a row shared across a customer's subscriptions changes everywhere it is referenced. payment_method attaches a new SEPA direct-debit mandate to the subscription, replacing the current mandate. metadata is merged key-by-key onto the stored metadata (a key set to null is removed; metadata: null clears every key). Returns the updated subscription. From API version 2026-09-08.gauss, the body must be JSON without repeated keys.
Request
- Base URLhttps://api.nomos.energy
- URLhttps://api.nomos.energy/subscriptions/{id}
- AuthHTTP bearer
Path parameters
Request body
Example request
{
"billing_address": {
"street": "Torstraße",
"house_number": "119",
"zip": "10115",
"city": "Berlin"
},
"payment_method": {
"type": "sepa_debit",
"sepa_debit": {
"iban": "DE68500105178297336485",
"account_holder": "John Doe"
}
},
"metadata": {
"user_id": "1234567890"
}
}Response
The updated subscription
Example response
{
"id": "sub_rocbrf1u5e48mm0reeqoag90",
"plan": "pln_ctj3tjzc7dywznuw1dy80lb3",
"customer": {
"id": "cus_mi4f0oda6x9m7gcsvjk0ole1",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"vat_id": "DE123456789"
},
"household": "dom_k2m9x4qpz7w1c8v3n6b5t0ry",
"address": {
"id": "adr_mi4f0oda6x9m7gcsvjk0ole1",
"street": "Torstraße",
"house_number": "119",
"zip": "10115",
"city": "Berlin"
},
"meter": {
"id": "mtr_tihqsqnxx3xs1gonbnk0ccou",
"melo": "DE0000001234567890",
"number": "1APA0195124010",
"type": "smart",
"malo": "41373559241"
},
"payment_method": {
"id": "pm_adc9utqqpcp7tx054l7vg56s2",
"type": "sepa_debit",
"sepa_debit": {
"iban": "DE************6485",
"account_holder": "John Doe"
}
},
"supplier": {
"id": "mp_a0x6jm5h92wde6s5dnuvha4c",
"name": "Sample Energy GmbH",
"country": "DE"
},
"number": "4X44EMKX",
"status": "active",
"estimated_usage": 2500,
"metadata": {
"utm_source": "google",
"utm_campaign": "campaign_name",
"user_id": "1234567890"
},
"type": "consumption",
"billing_address": {
"id": "adr_mi4f0oda6x9m7gcsvjk0ole1",
"street": "Torstraße",
"house_number": "119",
"zip": "10115",
"city": "Berlin"
}
}Changes
- breaking
the
//response property's maxLength was unset from100for the response status - breaking
the
//response property's maxLength was unset from100for the response status - breaking
the
//response property's maxLength was unset from100for the response status - breaking
the
//response property's maxLength was unset from100for the response status - breaking
the
//response property's maxLength was unset from100for the response status - breaking
the
//response property's minLength was decreased from1to0for the response status - breaking
the
//response property's minLength was decreased from1to0for the response status - breaking
the
//response property's minLength was decreased from1to0for the response status - breaking
the
//response property's minLength was decreased from1to0for the response status - breaking
the
//response property's minLength was decreased from1to0for the response status - breaking
the
//response property's minLength was decreased from1to0for the response status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - warning
removed the optional property
from the response with the status - info
removed the non-success response with the status
- info
removed the non-success response with the status
- info
removed the non-success response with the status
- info
removed the non-success response with the status
- info
removed the non-success response with the status
- info
removed the
customenum value from the//response property for the response status - info
removed the
customenum value from the//response property for the response status - info
removed the
duplicate_customer_emailenum value from the//response property for the response status - info
removed the
duplicate_customer_emailenum value from the//response property for the response status - info
removed the
duplicate_grid_reductionenum value from the//response property for the response status - info
removed the
duplicate_grid_reductionenum value from the//response property for the response status - info
removed the
duplicate_meter_orderenum value from the//response property for the response status - info
removed the
duplicate_meter_orderenum value from the//response property for the response status - info
removed the
duplicate_meter_readingenum value from the//response property for the response status - info
removed the
duplicate_meter_readingenum value from the//response property for the response status - info
removed the
ended_subscriptionenum value from the//response property for the response status - info
removed the
ended_subscriptionenum value from the//response property for the response status - info
removed the
implausible_meter_readingenum value from the//response property for the response status - info
removed the
implausible_meter_readingenum value from the//response property for the response status - info
removed the
invalid_elementenum value from the//response property for the response status - info
removed the
invalid_elementenum value from the//response property for the response status - info
removed the
invalid_formatenum value from the//response property for the response status - info
removed the
invalid_formatenum value from the//response property for the response status - info
removed the
invalid_ibanenum value from the//response property for the response status - info
removed the
invalid_ibanenum value from the//response property for the response status - info
removed the
invalid_keyenum value from the//response property for the response status - info
removed the
invalid_keyenum value from the//response property for the response status - info
removed the
invalid_termination_dateenum value from the//response property for the response status - info
removed the
invalid_termination_dateenum value from the//response property for the response status - info
removed the
invalid_typeenum value from the//response property for the response status - info
removed the
invalid_typeenum value from the//response property for the response status - info
removed the
invalid_unionenum value from the//response property for the response status - info
removed the
invalid_unionenum value from the//response property for the response status - info
removed the
invalid_valueenum value from the//response property for the response status - info
removed the
invalid_valueenum value from the//response property for the response status - info
removed the
missing_module_1enum value from the//response property for the response status - info
removed the
missing_module_1enum value from the//response property for the response status - info
removed the
missing_smart_meterenum value from the//response property for the response status - info
removed the
missing_smart_meterenum value from the//response property for the response status - info
removed the
not_multiple_ofenum value from the//response property for the response status - info
removed the
not_multiple_ofenum value from the//response property for the response status - info
removed the
out_of_period_meter_readingenum value from the//response property for the response status - info
removed the
out_of_period_meter_readingenum value from the//response property for the response status - info
removed the
subscription_not_startedenum value from the//response property for the response status - info
removed the
subscription_not_startedenum value from the//response property for the response status - info
removed the
too_bigenum value from the//response property for the response status - info
removed the
too_bigenum value from the//response property for the response status - info
removed the
too_smallenum value from the//response property for the response status - info
removed the
too_smallenum value from the//response property for the response status - info
removed the
unrecognized_keysenum value from the//response property for the response status - info
removed the
unrecognized_keysenum value from the//response property for the response status - info
removed the
unserviceable_zipenum value from the//response property for the response status - info
removed the
unserviceable_zipenum value from the//response property for the response status - info
removed the
unsupported_meterenum value from the//response property for the response status - info
removed the
unsupported_meterenum value from the//response property for the response status - info
removed the
unsupported_meter_orderenum value from the//response property for the response status - info
removed the
unsupported_meter_orderenum value from the//response property for the response status - info
removed the
unsupported_meter_readingenum value from the//response property for the response status - info
removed the
unsupported_meter_readingenum value from the//response property for the response status - info
removed the
unsupported_productenum value from the//response property for the response status - info
removed the
unsupported_productenum value from the//response property for the response status - info
removed the
upgrade_api_versionenum value from the//response property for the response status - info
removed the
upgrade_api_versionenum value from the//response property for the response status - info
removed the
withdrawal_not_allowedenum value from the//response property for the response status - info
removed the
withdrawal_not_allowedenum value from the//response property for the response status - info
added the required property
to the response with the status
- breaking