04-29-2026 07:46
04-29-2026 07:46
I am reporting a breaking issue with the legacy Fitbit Web API that seems to be affecting accounts recently migrated to Google Identity.
Endpoint: GET https://api.fitbit.com/1/user/-/devices.json
Error: 403 Forbidden / "The caller does not have permission"
App Type: Personal
Account Status: Migrated to Google Login (@gmail.com)
Hardware: Sense 2
Handshake Status: OAuth2 authorization is successful. The scope settings is requested and appears on the consent screen.
Permissions: All boxes are checked during the OAuth flow.
The Issue:
Other endpoints (like /activities/) work perfectly with the same access token. Only the devices.json endpoint is returning a 403. This suggests that the legacy settings scope is being stripped or ignored by the new Google-managed resource servers for "Personal" application types, despite being explicitly granted by the user.
Steps Taken:
Revoked all application access via Fitbit Settings.
Reset Client Secret in the Dev Portal.
Deleted and recreated OAuth2 credentials in my integration (n8n).
Verified "Personal" application type in settings.
Confirmed that the "Settings" checkbox appears and is selected on the Google-Fitbit authorization page.
Since the documentation states the legacy API is supported until September 2026, why is hardware/device access being blocked for Personal apps now?
Answered! Go to the Best Answer.
04-29-2026 12:21
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
04-29-2026 12:21
Thanks for reporting the issue.
We just performed the testing - we noticed that the endpoint that worked was using the HTTP verb POST. When switch it to GET, we get the 403 error.
If you can, see if POST https://api.fitbit.com/1/user/-/devices.json works for you and can be a temporary workaround while we get the engineering team to investigate.
04-29-2026 08:36 - edited 04-29-2026 08:38
04-29-2026 08:36 - edited 04-29-2026 08:38
I am experiencing the same since 13:00 UTC, 04/29/26.
Device Charge5/6.
04-29-2026 12:21
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
04-29-2026 12:21
Thanks for reporting the issue.
We just performed the testing - we noticed that the endpoint that worked was using the HTTP verb POST. When switch it to GET, we get the 403 error.
If you can, see if POST https://api.fitbit.com/1/user/-/devices.json works for you and can be a temporary workaround while we get the engineering team to investigate.
04-29-2026 12:53 - edited 04-29-2026 12:56
04-29-2026 12:53 - edited 04-29-2026 12:56
I tried POST at 2:56pm CST, and works.
04-29-2026 13:47
04-29-2026 13:47
That worked for me too, thank you for the quick response & temporary fix. Glad to know its being looked into!
05-04-2026 18:41
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
05-04-2026 18:41
We recently rolled back the change that caused the Get Devices endpoint to return the 403. It should be working now. If you are still getting a 403 error, please report it.
Best Answer