The merchant must authorize your application for the following scopes: TIMECARDS_READ, TIMECARDS_WRITE

I am trying to access the endpoint for Shifts using the Labaor API (PUT /v2/labor/shifts/{id} - Square API Reference ( It says on the API that TIMECARDS_READ and TIMECARDS_WRITE permissions are required as an external scope, which I have provided in the App, but still I am getting this exception for providing these scopes from the server.

:wave: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Labor API Overview
Labor API: How It Works
Get Completed Shifts

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

The error you’re encountering might be due to the OAuth token not having the necessary permissions. Make sure that the OAuth token you’re using in your API calls has the required TIMECARDS_READ and TIMECARDS_WRITE permissions.

When you’re obtaining the OAuth token, ensure that these scopes are included in the authorization request. If the token was obtained before these scopes were added, you might need to reauthorize your application with the correct scopes.

Remember, the scopes are case-sensitive and should be included in the scope parameter of your OAuth request exactly as they appear in the documentation.

This answer was reviewed by @Bryan-Square.