Skip to main content

Overview

In Bluesky, mutual resolution of handles, DIDs, and related identities is often required.

Handle to DID

Using the API

Using DNS or well-known

Check a DNS TXT record or /.well-known/atproto-did.
These two methods are similar but differ in how they resolve the handle. The API method queries the Bluesky service over the network, while the DNS/well-known method is suited for custom-domain handles.

DID to DID Document

resolveDID returns the DID Document. https://plc.directory/did:plc:ewvi7nxzyoun6zhxrhs64oiz

DID Document to Handle

The alsoKnownAs field in the DID Document contains the handle.

resolveIdentity

resolveIdentity combines resolveHandle and resolveDID. You can resolve from either a DID or a handle, and it returns the DID Document.

Public profile

You can look up a public profile from either a DID or a handle. The response includes both the DID and handle.

PDS URL / serviceEndpoint

The serviceEndpoint in the DID Document is the PDS URL. You are unlikely to need this directly, but it is available.

Authorization Server URL

Resolve the Authorization Server URL via the PDS. For accounts registered on Bluesky, this is typically https://bsky.social.
Last modified on April 24, 2026