I’m integrating the Square Terminal API in production with my own seller account and I’m stuck on pairing the Terminal.
What I did:
- I created a device code with POST /v2/devices/codes using product type TERMINAL_API and a valid location id. It returns HTTP 200, status UNPAIRED, and a 6-character code (for example FFEJAR, HZVJWN).
- Terminal: Square Terminal 1st Gen v2, OS 5.67.0105. With the Terminal signed out, I chose Sign in, then Use a device code. That screen expects a 12-character code (three groups of four). A code created in the Seller Dashboard (Settings > Device management > Device codes > Point of Sale) works there. Every 6-character API code is rejected with “incorrect device code”, even when entered within a minute and in capital letters. I tried several codes.
- With the Terminal signed in (using the Dashboard code) and on the keypad, I created a fresh API device code. Nothing appeared on the Terminal, and no pairing prompt was shown. (An automated support answer told me a pairing prompt should appear, but it never did.)
- The Terminal’s Settings list only: Network connection, Square Terminal, Terminal printer, Connect new device. I see no option for pairing, device codes, or Terminal API.
Results from the API:
- GET /v2/devices/codes returns no codes with any status filter.
- GET /v2/devices returns zero devices.
- POST /v2/terminal/checkouts with the hardware Device ID shown in the Seller Dashboard returns 404 NOT_FOUND “Resource not found”.
Questions:
- Where on the Terminal do I enter or accept a Terminal API device code (the 6-character kind)?
- Is there a Terminal mode, profile, or account setting I need to enable first?
- How do I get the Terminal API device_id for a Terminal that is already signed in with a Dashboard device code?
Thank you.