Create override
https://app.iteras.dk/api/customers/createoverride/
The /api/customers/createoverride/ endpoint creates an override of an aspect on the customer or on a subscription for the customer, e.g. the delivery address, or a suspended delivery. See the available override types for what it can do.
If you need to change or delete an override, use the update customer override or delete customer override endpoint. Some fields are locked once an override is active, and only overrides that have not taken effect yet can be deleted.
Parameters
-
id string requiredID of the customer.
-
subscription_id stringID of the subscription. Required if the override concerns a subscription.
-
override_type string requiredThe type of override. See the available override types.
-
begin stringWhen the override takes effect, e.g.
2026-11-30T23:57:02. The default is now. -
end stringWhen the override ends. Required for
alternative-delivery,pause-delivery,pause-delivery-donateandpause-subscription, and not valid for the future change overrides. -
address objectThe new address, for the overrides that change the delivery or billing address, or send to another address, e.g.
{"name": "John Doe", "address": "Main Street 12\n8000 Aarhus", "country": "DK"}.address,countryandnameare required, orcompanyinstead ofnamefor the address types that allow a company. The country must be the customer's own where the subscription's policy does not allow sending to another country. -
new_values objectThe fields to change and their new values, for a
change-fieldsoverride. Reference built-in fields by name and custom fields by their field ID, e.g.{"name": "New Name", ":Membership level": "Gold"}. The field ID is the field name with a colon prepended or, if defined, the external identifier of the field. See the custom fields set up for your account below. -
pause_reason stringA reason for pausing, for a
pause-subscriptionoverride, e.g."Vacation". -
weekdays arrayThe weekdays the override applies to, for an address override, given as numbers with 1 being Monday and 7 being Sunday, e.g.
[1, 3, 5]. Only relevant for weekdays-based distribution. -
skip_processing boolSet to
trueto register the override without processing it, for importing older overrides. The effective date and overlapping checks are skipped in this mode. -
exclude_from_webhooks bool Defaults to
falseSet totrueto keep every event the request causes from being sent to webhooks, invoice and payment events included, e.g."exclude_from_webhooks": true. The events are still added to the history.
A change-fields override can change a built-in customer or subscription field, or a custom field.
You can set any custom customer field, using its field id (the field name with a colon prepended, or its external identifier).
Log in, or send your API key as a bearer token, to see the custom customer fields set up for your account.
A yes/no field (type bool) is true or false, and has no value when it isn't set. Set it with true or false, and clear it with null.
A date and time field (type datetime) can be set up to follow other fields, so it is set to the time one of them changes. If the same update changes the date and time field itself, that value is kept.
You can set any custom subscription field, using its field id (the field name with a colon prepended, or its external identifier).
Log in, or send your API key as a bearer token, to see the custom subscription fields set up for your account.
A yes/no field (type bool) is true or false, and has no value when it isn't set. Set it with true or false, and clear it with null.
Examples
While the temporary subscription overrides can be used for several things, a common need is vacations.
Vacation with pause
Pause the whole subscription for a period, e.g. because of a vacation. You
can give a reason with pause_reason:
POST /api/customers/createoverride/ HTTP/1.1
Content-Type: application/json{
"id": "12345",
"subscription_id": "34567",
"override_type": "pause-subscription",
"begin": "2026-10-31T23:57:02",
"end": "2026-11-14T23:57:02",
"pause_reason": "Vacation"
}Vacation with paused deliveries
Pause deliveries for a period, e.g. a vacation where there's still access to an online part, but no physical product:
POST /api/customers/createoverride/ HTTP/1.1
Content-Type: application/json{
"id": "12345",
"subscription_id": "34567",
"override_type": "pause-delivery",
"begin": "2026-11-29T23:57:02",
"end": "2026-12-06T23:57:02"
}Vacation with delivery to vacation destination
Send the subscription to another address for a period, e.g. a vacation destination. Optionally restrict it to certain weekdays:
POST /api/customers/createoverride/ HTTP/1.1
Content-Type: application/json{
"id": "12345",
"subscription_id": "34567",
"override_type": "alternative-delivery",
"begin": "2026-11-01T23:57:02",
"end": "2026-11-14T23:57:02",
"address": {
"name": "John Doe",
"address": "Holiday Road 1\n8000 Aarhus",
"country": "DK"
},
"weekdays": [1, 3, 5]
}Future changes
Change the delivery address at a future date:
POST /api/customers/createoverride/ HTTP/1.1
Content-Type: application/json{
"id": "12345",
"override_type": "change-delivery-address",
"begin": "2026-11-30T23:57:02",
"address": {
"name": "John Doe",
"address": "Main Street 12\n8000 Aarhus",
"country": "DK"
}
}Change field values at a future date:
POST /api/customers/createoverride/ HTTP/1.1
Content-Type: application/json{
"id": "12345",
"override_type": "change-fields",
"begin": "2026-11-13T23:57:02",
"new_values": {
"name": "New Name",
":Custom field": "Example text"
}
}Return value
The endpoint returns the ID of the new override:
{ "override_id": "77642" }
Errors
Invalid requests due to programming error, e.g. invalid JSON, returns 400.
This also covers giving neither id nor
subscription_id, a missing subscription_id for a
subscription-only override, an unknown override_type, a
field with the wrong type, a field that does not belong to the override
type, e.g. new_values for an address override or
end for a future change override, and a missing required
field, e.g. new_values for a change-fields override,
end for a vacation override or address for an
address override.
A well-formed operation where a supplied value is invalid is not executed
and returns an HTTP 422 error. This covers an end that isn't
later than begin, an invalid new_values or
address, an override type the subscription's policy does not
allow, an override that takes effect before the earliest
possible delivery date or on a date blocked for delivery changes, and an
override that overlaps an existing one. Errors that are not specific to a
field are returned with the empty string as key, e.g. an unknown
subscription:
{
"": ["Subscription does not exist."]
}
A subscription that belongs to a different customer is reported under
subscription_id:
{
"subscription_id": ["The subscription does not belong to the customer."]
}