Sandbox Appointments onboarding unavailable; booking profile returns 401

Hello Square Developer Support,

We are preparing a buyer-level Bookings API integration and cannot complete Appointments onboarding for our US Default Test Account.

We followed the documented Sandbox onboarding path: Developer Console → Sandbox test accounts → open the Default Test Account’s Square Dashboard → Appointments → Get started.

The authenticated Sandbox Dashboard has no Appointments entry. Its Add more control produced no visible change, and search reports that it is unavailable in Sandbox mode. The guide’s direct link, https://squareupsandbox.com/appointments, redirects to the production marketing page even after opening the Sandbox Dashboard. We have not activated production as a workaround.

Read-only Sandbox API checks show:

  • GET /v2/locations returns HTTP 200 and an active location.
  • POST /oauth2/token/status returns HTTP 200, matches our Sandbox application, and includes the required booking permissions. This is the bootstrap token; we will use a separate buyer-scope OAuth token for acceptance testing.
  • GET /v2/bookings/business-booking-profile and the selected location’s booking-profile read return HTTP 401. The error indicates that the merchant is not onboarded to Appointments rather than missing token scopes (paraphrased).

Our integration intends to use buyer-level APPOINTMENTS_WRITE, not seller-level APPOINTMENTS_ALL_WRITE. We need automatic acceptance, a fixed location, an online-bookable service and assigned bookable staff, with no deposits or cancellation fees.

Could you provide the currently supported way to activate Appointments and configure bookable staff/services for this Sandbox seller? If this is an account provisioning issue, can Square restore the onboarding entry or provide a supported pre-onboarded Sandbox seller? We are looking for the buyer-level test path without paid seller-level booking functionality.

The previous missing-menu report appears to describe the same issue. We can provide application, test-account and location identifiers through a secure channel if needed.

Thank you.

Hi @emllet

The Sandbox Dashboard doesn’t have full parity with production, and some features documented for Sandbox aren’t available or don’t load there. When a feature isn’t usable in Sandbox, our recommendation is to test end-to-end in a separate production Square account. These accounts are free, and you can create as many as you need. Onboard that account to Appointments, set up the location, service and bookable staff, then authorize your app against it with production OAuth. To keep testing free of charges, leave deposits and cancellation fees off. While the Sandbox Dashboard might be a bit limited, the sandbox API is still works for testing API requests and responses.

Let me know if this helps and if you have any further questions