A valid request URL is required to generate request examples{
"id": "<string>",
"object": "terminal",
"merchant_id": "<string>",
"location_id": "<string>",
"livemode": true,
"label": "<string>",
"device": {
"model": "<string>",
"serial_number_last4": "<string>"
},
"status": "provisioning",
"connection_status": "online",
"connection_status_stale": true,
"connection_observed_at": 123,
"capabilities": {},
"last_seen_at": 123,
"metadata": {},
"created_at": 123,
"updated_at": 123,
"test_profile": "approved"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Check a Terminal's connection
Performs one read-only connection check against the Terminal’s active integration, stores the normalized observation, and returns the refreshed Terminal. This operation never initiates a payment. A failed check does not replace the last known connection state.
Platforms can select an authorized connected Account with
Ionic-Account. This operation intentionally has no idempotency key
because every request asks for a new observation.
A valid request URL is required to generate request examples{
"id": "<string>",
"object": "terminal",
"merchant_id": "<string>",
"location_id": "<string>",
"livemode": true,
"label": "<string>",
"device": {
"model": "<string>",
"serial_number_last4": "<string>"
},
"status": "provisioning",
"connection_status": "online",
"connection_status_stale": true,
"connection_observed_at": 123,
"capabilities": {},
"last_seen_at": 123,
"metadata": {},
"created_at": 123,
"updated_at": 123,
"test_profile": "approved"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Merchant secret key, or an authorized Platform secret key with delegation where documented.
Headers
Merchant ID when an authorized Platform acts for a connected Merchant.
^mer_[0-9A-Za-z]{14}$Path Parameters
Ionic Terminal ID.
^tmr_[0-9A-Za-z]{14}$Response
The Terminal with the newly persisted connection observation.
Unique identifier for the terminal (tmr_…).
^tmr_[0-9A-Za-z]{14}$terminal ID of the account that owns the terminal (mer_…).
^mer_[0-9A-Za-z]{14}$ID of the location where the terminal is used (loc_…).
^loc_[0-9A-Za-z]{14}$Name for the terminal, shown in your records.
Hardware details of a terminal.
Show child attributes
Show child attributes
Setup and availability state of the terminal. Only ready terminals can take payments.
provisioning, requires_action, ready, disabled, replacing, failed Freshness-aware connection status; stale observations are returned as unknown.
online, offline, unknown Whether the last connection observation is too old to trust, in which case connection_status is unknown.
Unix epoch seconds of the last connection observation.
Capability names are additive; inspect each entry's status before use.
Show child attributes
Show child attributes
Unix epoch seconds when the terminal was last seen. Null if it has not been seen.
Up to 50 string keys; keys are at most 40 characters and values are at most 500 characters.
Show child attributes
Show child attributes
Unix epoch seconds when the terminal was created.
Unix epoch seconds when the terminal was last updated.
Built-in deterministic outcome for this Account-owned test Terminal. Omitted for physical and non-fixture Terminals. An exact test-helper override for a PaymentIntent takes precedence.
approved, declined, delayed 
