Create Demand Override
Beta/v1/operations/demand-overridesIdempotent with Idempotency-Key header. Learn more
Creates a demand override, telling the planner about demand the sales history cannot see.
The scope reference is validated against the account's items and product lines, so an override can never silently match nothing. An account-scoped override takes no scope reference and must be a delta rather than an absolute value, since one number fanned out across every item would flatten the whole plan.
Schedules that have already been generated are unaffected; the override is picked up by the next one.
include[]optional arrayenumValues:scopeSub-objects to expand in the response. When omitted, sub-objects are returned as null.
scope_typestringenumValues:itemproduct_lineaccountWhat the override targets.
item: a single item.product_line: every item sold under one product line.account: every item in the plan, which is how a blanket assumption such as "plan for double demand" is expressed.
scope_ref_idstringID of the item or product line the override targets.
Omit it for an account-wide override, which targets every planned item rather than one thing. The ID is checked against the account's items and product lines, so an override cannot be created against something that does not exist.
period_starts_atstring (date-time)First day of the demand period the override applies to.
Overrides are applied month by month, so every calendar month the period touches is adjusted and any time of day is ignored.
period_ends_atstring (date-time)Last day of the demand period the override applies to.
Must fall on or after period_starts_at.
adjustmentstringenumValues:absolutedelta_unitsdelta_percentHow the value adjusts the forecast.
absolute: replaces the forecast for each month in the period.delta_units: adds the value to each month in the period.delta_percent: scales each month in the period by the value as a percentage.
When several overrides land on the same month they are applied in that order, so a percentage always acts on the already-adjusted number.
valuenumberThe amount of the adjustment, interpreted according to adjustment.
A delta_percent value is a number of percent, so -25 plans a quarter less than the forecast; it cannot go below -100. An absolute value cannot be negative, while a delta_units value can, so that a cancelled program removes demand.
unit_idoptional stringID of the unit the value is expressed in.
Recorded for context only: the value is applied to the planned demand without unit conversion, so a unit adjustment should be stated in the unit the item is planned in.
reasonoptional stringenumValues:new_customerlost_accountpromotionWhy the adjustment was made.
The reason is carried into each schedule the override changes, so a plan can explain why a month departs from history.
noteoptional stringFree-form notes about the adjustment.
This is the text the free-text search on the list endpoint matches against.
effective_atoptional string (date-time)When the override starts being applied to newly generated schedules.
When omitted, the override starts applying straight away.
expires_atoptional string (date-time)When the override stops being applied to newly generated schedules.
When omitted, the override keeps applying until it is deactivated or deleted.
activeoptional booleanWhether the override is taken into account when a schedule is generated.
Send false to stage an adjustment that should not affect schedules yet; an override is otherwise created ready to apply.
idstringDemand override ID.
objectstringenumValues:demand_overrideResource type identifier.
scope_typestringenumValues:itemproduct_lineaccountWhat the override targets.
item: a single item.product_line: every item sold under one product line.account: every item in the plan, which is how a blanket assumption such as "plan for double demand" is expressed.
scopeentityExpandablenullableThe item or product line the override targets.
An account-wide override has no scope resource, because it targets every planned item rather than one thing.
idstringUnique identifier for the entity.
objectstringenumValues:entityResource type identifier.
typestringenumValues:accountactorentityThe resource kind that this entity references, as an object-type value (e.g. user, account).
Unlike object — which is always entity — this names the underlying resource the id points to.
namestringnullableHuman-readable display name for the entity (e.g. a user's full name, a sales order number).
handlestringnullableSecondary human-readable identifier (e.g. email address, username, redacted API key value).
period_starts_atstring (date-time)First day of the demand period the override applies to.
Overrides are applied month by month, so every calendar month the period touches is adjusted and any time of day is ignored.
period_ends_atstring (date-time)Last day of the demand period the override applies to.
adjustmentstringenumValues:absolutedelta_unitsdelta_percentHow the value adjusts the forecast.
absolute: replaces the forecast for each month in the period.delta_units: adds the value to each month in the period.delta_percent: scales each month in the period by the value as a percentage.
When several overrides land on the same month they are applied in that order, so a percentage always acts on the already-adjusted number. An adjusted month is never taken below zero.
valuenumberThe amount of the adjustment, interpreted according to adjustment.
A delta_percent value is a number of percent, so -25 plans a quarter less than the forecast.
The unit the value is expressed in.
Recorded for context only: the value is applied to the planned demand without unit conversion, so a unit adjustment should be stated in the unit the item is planned in.
reasonstringnullableenumValues:new_customerlost_accountpromotionWhy the adjustment was made.
The reason is carried into each schedule the override changes, so a plan can explain why a month departs from history.
notestringnullableFree-form notes about the adjustment.
created_byactornullableThe actor that created the override.
May be a user, an API key, or an agent.
effective_atstring (date-time)When the override starts being applied to newly generated schedules.
expires_atstring (date-time)nullableWhen the override stops being applied to newly generated schedules.
An override with no expiry keeps applying until it is deactivated or deleted.
statusstringenumValues:activeinactiveWhether the override is taken into account when a schedule is generated.
An inactive override is skipped whatever its effective window says, which is how a prepared adjustment is parked without losing it.
created_atstring (date-time)Creation timestamp.
updated_atstring (date-time)Last updated timestamp.
Responses
Successful response for Create Demand Override