Authorization header. Keys are prefixed by environment so a lmp_test_… key cannot accidentally write to production data.
Headers
Key shape
The hash, not the secret, is stored at rest. Your secret is unrecoverable after creation.
Scoping
A key carries two scopes:- Organization — every key is bound to a single organization. There is no cross-org key.
- Profile (optional) — a key may be pinned to a single profile within the org. Cross-profile access by a profile-scoped key returns
404 not_found, never403, so the key cannot probe for the existence of other profiles.
Read vs write
Read endpoints (GET /v1/posts, GET /v1/posts/:id, GET /v1/media, GET /v1/accounts) accept either a Bearer key or a dashboard session cookie. Writes accept Bearer keys only.
Rotation
There is no automatic key rotation. To rotate:- Mint a new key in the dashboard.
- Switch your application secret to the new key.
- Revoke the old key.
unauthenticated.
OAuth tokens are different
TheAuthorization: Bearer … header authenticates you to letmepost. The OAuth tokens we hold for upstream platforms (Bluesky session, LinkedIn access token, etc.) are managed entirely server-side, AES-256-GCM encrypted at rest, and refreshed on the platform’s schedule. You never see them.
See accounts for the connection lifecycle.

