I also tried with just “read” (after checking this in the Mastodon backend) and “write:statuses” (which would be enough) - both fail with the same error message.
Information on your n8n setup
n8n version: 1.101.2
Database (default: SQLite): SQLite
n8n EXECUTIONS_PROCESS setting (default: own, main): own
Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
The error usually happens because Mastodon expects specific scope names, and they must match exactly what the instance allows. Common valid scopes are:
read
write
follow
write:statuses
If you’re getting “invalid scope,” it often means:
The scope string is case-sensitive or formatted incorrectly (no extra spaces or commas).
The Mastodon instance you’re connecting to does not support that scope for third-party apps.
Some community nodes in n8n expect comma-separated multiple scopes, while Mastodon expects space-separated scopes in OAuth2.
Fix:
Use the exact scope string shown in Mastodon when registering the app.
For posting statuses, try write:statuses exactly as shown.
Make sure multiple scopes are space-separated, e.g., read write:statuses.
Can you try without the scopes and also try changing Authorization to Body, again with and without scopes? Make sure to list all scopes the app has, separated by space.