Terminal API device code (production) not accepted on Square Terminal, and no pairing prompt appears

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:

  1. 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).
  2. 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.
  3. 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.)
  4. 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:

  1. Where on the Terminal do I enter or accept a Terminal API device code (the 6-character kind)?
  2. Is there a Terminal mode, profile, or account setting I need to enable first?
  3. How do I get the Terminal API device_id for a Terminal that is already signed in with a Dashboard device code?

Thank you.

Will help in your other thread!