Docs / Guides

Stable

Register your app

Give the picker a clear app identity, an owner account, and an exact return URI allow-list.

App registration is tied to the signed-in Atmosphere owner account.Production apps use HTTPS identity and exact allowed return URIs.Apps may recommend a currently claimed, joinable account host without preventing other choices.Review states control picker copy and trust warnings.

Metadata

Required registration fields

FieldPurposeProduction rule
App namePrimary picker identity users see.Use the public product name.
Client IDStable app identifier and selection-token audience.Use an HTTPS URL you control. Local dev can use the ATProto http://localhost/ shortcut.
Logo URLVisual identity in the picker.Use HTTPS and a reachable image.
HomepageHuman-readable app identity.Use HTTPS and align with the client ID domain.
Allowed return URIsCallbacks allowed to receive selection_token.Exact-match production URLs. Loopback IP callbacks are local development only.
Preferred account host (optional)Pins a host first in the Create Account chooser and labels it as recommended by the app.Must be a joinable grouped host currently claimed by the app owner. Atmosphere re-verifies the claim at picker time.
Client ID versus return URI

For local ATProto OAuth development, http://localhost/ is a special virtual client ID. Your local callback is still a return URI, usually http://127.0.0.1:<port>/... or http://[::1]:<port>/....

Registration review states

StatePicker labelBehavior
developmentDevelopment appLocal-only app. Good for loopback testing, not production trust.
unverifiedUnverified appSelf-registered app. Picker shows clear warning copy.
trustedTrustedReviewed app identity and return URI allow-list.
blockedUnavailablePicker cannot continue.

Allowed return URI rules

  • Production return URIs must be exact matches.
  • Fragments are stripped and are never used as delivery locations.
  • A registered origin is not a wildcard for every callback path.
  • Keep staging, preview, and production callbacks explicit.
  • Remove loopback URLs before requesting trusted review.
On this page

Next steps

Keep building