Skip to main content
A Location (loc_…) is the Merchant-owned business location where Terminals operate. It holds a display name, address, timezone, and merchant category code, and it can carry your own external_reference and metadata. Your server creates it. A Location does not represent a hardware serial number or device credential. Every Terminal belongs to a Location. You pass a Location’s ID when you request physical hardware. Test and live Locations are isolated by the mode of the secret key. Every test account already has two Ionic fixture Locations; create more to model your own store topology. See The Terminal object and Accept in-person terminal payments. Platforms follow In-person payments for connected accounts.

Attributes

string
Unique identifier for the location (loc_…).
string
Name for the location.
object
Street address of a location.
string
IANA timezone name for the location, such as America/Chicago.
string
Four-digit Merchant Category Code for the location.
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 Location.

Endpoints

Rules

  • There is no delete operation. Update the Location when its business profile changes.
  • external_reference is optional. When present, it must be unique for the Merchant within the key mode. It is an empty string when none is assigned, and sending an empty value on update clears it.
  • On update, omitted fields remain unchanged. A supplied address must be a complete address, not a partial patch. A supplied metadata replaces the whole map; send an empty object to clear it.
  • livemode comes from the secret key and cannot be set in the request body. Test keys never return live Locations, and live keys never return test Locations.
  • timezone is an IANA timezone name such as America/Chicago. merchant_category_code is four digits.
  • Pagination: a page returns up to 100 Locations and defaults to 20.