1
Choose a provider
Use
bluesky, x, youtube, facebook, instagram, threads, mastodon, linkedin, or tiktok. This enum is part of the connection-session request. OpenPMM does not provide a separate provider-catalog endpoint.During the beta, some providers are not connectable yet in every deployment. A connection session for a provider that is not available fails with a destination_unavailable error rather than returning a pending session.For Mastodon, also send the instance origin. For Bluesky, also send the account handle or DID.2
Connect Bluesky
Bluesky OAuth requires the hosted OpenPMM service with its HTTPS public URL. A local HTTP development origin cannot act as this confidential OAuth client.
Set
account_identifier to the handle or DID that must authorize OpenPMM. The DID becomes the stable destination identity. A handle change does not create a new destination.3
Create a connection session
Send the provider to the connection-session endpoint.
4
Open the authorization URL
Open the returned
authorization_url in a browser. A person must complete this step. Do not open the URL in an unattended worker.5
Check the connection status
Save the returned session
id. Get the session until its status is completed, failed, or expired.6
Get the destination ID
After the session is complete, list the connected publishing targets. Store the new destination ID.The response is
{"data":[]} when the Workspace has no connected publishing targets. This endpoint does not use pagination.OpenPMM does not return provider credentials to your application. It stores OAuth tokens and Bluesky DPoP session keys in encrypted form.
