Mastodon
Difficulty: Self-serveMastodon is self-serve: any app can register on any Mastodon server through a public API call, and there is no review, test-user list or user cap. The work is technical. Mastodon is decentralized, so you must register a separate OAuth client on each server your users come from, usually on the fly when a user enters their server domain.
- Your work
- 1–4 h
- Waiting on Mastodon
- None
- First user connects
- Today, in about 15 to 30 minutes
Plan
8 tasksSetupBefore you start
BuildYour account
work 15–60 min · wait noneYou, on any Mastodon server where you've registered your app
LaunchAny Mastodon server
work 1–3 h · wait noneAny user on any Mastodon server your app registers with
Why self-serve
- Tier
- POST /api/v1/apps is a public endpoint that returns client credentials immediately, and the docs mention no app review or approval.
- Using Composio?
- Mastodon isn't in Composio's managed-auth catalog, managed or bring-your-own. Plan to register OAuth clients yourself on each Mastodon server.
Scopes
2
Mastodon has no scope review. Every scope is self-serve, but admin scopes only work for accounts with moderator or admin roles on that server.
profile / read:* / write:* / pushbasicThe user's identity, plus reading and writing their data. Nothing. Available immediately.admin:read / admin:write (and granular admin:*)sensitiveModeration and admin APIs. No review, but only usable by staff accounts on that server
When you get stuck
4
422 Redirect URI must be an absolute URI
The redirect URI passed to /api/v1/apps is relative or malformed.
FixRegister a full absolute URL, or urn:ietf:wg:oauth:2.0:oob for testing.
invalid_grant at token exchange
The redirect_uri doesn't match the registered one, or the client_id belongs to a different server.
FixUse the exact registered redirect URI and the credentials stored for that server's domain.
Community7· medium confidenceDiscovery endpoint returns 404
The server runs a Mastodon version before 4.3.0, which has no discovery endpoint and no PKCE.
FixFall back to the plain authorization code flow without PKCE and register only scopes that server supports.
429 Too Many Requests
The default limit is 300 calls per 5 minutes per account and per IP. Media uploads are limited to 30 per 30 minutes.
FixRespect the X-RateLimit headers and back off.
Docs6
Not confirmed
3
Can individual server admins block or remove third-party apps, or restrict registration through /api/v1/apps?
The official docs don't cover admin controls over third-party apps.
ResolveCheck the server's rules or ask its admins. Test registration on the major servers your users are on.
Is POST /api/v1/apps rate-limited by IP?
The rate limits page doesn't list a separate limit for app registration.
ResolveWatch the X-RateLimit headers when registering, and cache credentials so you register once per server.
Do Mastodon-compatible servers (forks or other ActivityPub software) behave the same way?
This research covered upstream Mastodon only.
ResolveTest against each server type your users need.
Sources
8
- 1Obtaining client app accessMastodon docs · Official docs · checked 27 Oct 2026
- 2OAuth ScopesMastodon docs · Official docs · checked 27 Oct 2026
- 3apps API methodsMastodon docs · Official docs · checked 27 Oct 2026
- 4oauth API methodsMastodon docs · Official docs · checked 27 Oct 2026
- 5Logging in with an accountMastodon docs · Official docs · checked 27 Oct 2026
- 6Rate limitsMastodon docs · Official docs · checked 27 Oct 2026
- 7oauth_dropins.mastodon sourceoauth-dropins docs · Search results · not yet checked
- 8Managed auth toolkitsComposio docs · Composio docs · checked 27 Oct 2026
Feedback
On the version researched 27 Oct 2026- worked
- 0
- waiting on review
- 0
- stuck
- 0
- wrong
- 0