List locations
Lists your locations, newest first - each row is the full Location object: address + pin, geo notification, enabled cards with their per-location signup URLs, assigned team, and POS-bridge status. Organizations have few locations, so no slim row shape exists; one call gives you everything the dashboard’s location screen shows. Scope: locations:read.
Locations are created and deleted in the dashboard only - each location is a billing unit, so lifecycle changes go through the billing consent flow there. The API reads and edits.
See Pagination.
Authorizations
Your secret API key as a Bearer token: Authorization: Bearer vxn_sk_.... Keys are created and scoped in the dashboard - see Authentication.
Query Parameters
1-100. Default 25.
1 <= x <= 100Cursor - the loc_ id of the last item on the previous page (forward). Numeric offset or page parameters are not supported; cursors are the only supported paging mechanism.
^loc_[A-Za-z0-9]+$Reverse cursor - returns items before this loc_ id.
^loc_[A-Za-z0-9]+$Response
Paginated location list.
Standard cursor-pagination envelope - see Pagination.
Always "list".
list Array of the requested resource type.
True when more pages exist.
Cursor for the next page in the direction you are already paging, or null when this page ends the collection. has_more: true always comes with a non-null next_cursor.
Feed it back to the SAME parameter you used: starting_after when paging forward (the default), or ending_before when paging backward. Treat it as opaque and do not parse it.
You no longer need to take the last object's id yourself. That still works and is unchanged, but deriving the cursor from the page put the burden of knowing the sort direction on you, and it broke silently on any endpoint whose cursor is not the object id.
"cus_iofv5j4hn6bphinmmyat27tc5y"
Stable collection URL.