Skip to main content
A provisioning request (tprov_…) is the workflow that delivers a physical Terminal to a Location. Your server creates it with a Location and a label. Ionic manages hardware selection, delivery, activation, and supported capabilities. Physical hardware is created only through this request. Poll the request until it becomes ready, then keep its terminal_id and use it to process payments. Test accounts already have simulated Terminals, so they do not need a request. See The Terminal object and Accept in-person terminal payments. Platforms follow In-person payments for connected accounts.

Attributes

string
Unique identifier for the provisioning request (tprov_…).
string
ID of the location where the terminal will be used (loc_…).
string
Name for the terminal, shown in your records.
string
ready means terminal_id is assigned and the Terminal resource can be retrieved.
array of strings
Additive action identifiers. Empty unless Merchant action is required.
string | null
ID of the terminal created by this request (tmr_…). Null until the request is ready.
object
Up to 50 string keys; keys are at most 40 characters and values are at most 500 characters.
See every field in the response of Retrieve a Terminal provisioning request.

Endpoints

Statuses

Rules

  • The provisioning catalog is the same for every account and mode. It requires an account secret key; Platform keys and Ionic-Account are not accepted.
  • The location_id must belong to the same Merchant and mode as the key.
  • required_actions is empty unless the Merchant must act, and action identifiers are additive.
  • Do not use a Terminal’s status to infer the state of an unfinished request. The request exposes a terminal_id only when it is ready.