POST /v1/terminal/locations with display_name and address (full postal address object) to create a named location representing the physical store or site
Register a reader by calling POST /v1/terminal/readers with registration_code (printed on or shown by the reader device), label (optional), and location=<location_id>
POST /v1/terminal/connection_tokens with optionally location=<location_id> to restrict the token to a specific location; return the secret field to your point-of-sale client
In the POS client, initialize the Stripe Terminal SDK with the connection_token fetcher that calls your server to obtain a fresh token; the SDK uses it to discover and connect to readers
The connection token is single-use and short-lived; implement a token fetcher function rather than caching the token
Known gotchas
A reader can only be assigned to one location; registering it to a new location unregisters it from the previous one
The registration_code printed on the device is case-sensitive and expires; if registration fails, generate a new code from the reader's settings menu
Connection tokens are location-scoped when a location is specified; a client using a location-scoped token will only discover readers at that location
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp