Skip to main content

ATM template fields

A Tradovate ATM template stores a scale-out bracket so a webhook can use it by name. The config values use the same syntax as the webhook fields described in Tradovate ATM.

FieldTypeAccessConstraintsDescription
idstringRTemplate id, assigned when it is created
namestringW1 to 64 characters: letters, digits, spaces, _, . and -, starting with a letter or digit and not ending with a space. Unique, not case-sensitive (409 template_name_conflict)The name webhooks use
descriptionstring or nullWAt most 500 characters. null removes itYour note
activebooleanWNew templates are off unless you send trueOnly active templates can be used by webhooks
configobjectWChecked as a whole with the webhook parserThe bracket definition
config.targetsstring or nullWRequired. Same as atm_targetsProfit-target offsets, one per tier
config.stopsstring or nullWRequired. Same as atm_stopsStop offsets, one per tier
config.quantitiesstring or nullWSame as atm_qtysQuantity per tier
config.trailstring or nullWSame as atm_trailWhich tiers trail
config.trailTriggerstring or nullWSame as atm_trail_triggerProfit distance that arms a trailing tier
config.trailOffsetstring or nullWSame as atm_trail_offsetHow far the trailing stop follows the best price
config.breakevenstring or nullWSame as atm_breakevenTarget tier whose fill moves stops to breakeven
config.breakevenOffsetstring or nullWSame as atm_breakeven_offsetOffset past entry for the breakeven stop
createdstring (timestamp) or nullRWhen the template was created
updatedstring (timestamp) or nullRWhen the template last changed

In a PATCH, a config field set to null removes it, and the whole configuration is checked again after the change.

When the configuration is not valid, the error is 422 invalid_atm_config. fields lists the config.* fields involved, and detail names the problem using the same field names, for example config.targets=abc is not a valid number or config.quantities must have exactly 2 value(s) to match config.targets; got 1 (with fields holding config.quantities and config.targets). When the problem does not name a field, fields points at config.

A create refuses id, created and updated (422 field_read_only). A PATCH may echo them back from a GET: they are ignored when they equal the saved values (updated always is) and refused when they differ.

Changes apply to the next webhook signal that names the template.