Skip to content

Endpoint index ​

Every route on https://api.postlyra.com, generated from the router itself.

"Bearer token" means the endpoint needs an Authorization header. "Brand-scoped" means it also reads X-Postlyra-Brand.

Authentication ​

MethodPathAuthNotes
DELETE/auth/accountBearer token—
POST/auth/loginNone10 per 1 min
POST/auth/logoutBearer token—
GET/auth/meBearer token—
GET/auth/passkeysBearer token—
POST/auth/passkeysBearer token10 per 1 min
POST/auth/passkeys/loginNone10 per 1 min
POST/auth/passkeys/login/optionsNone10 per 1 min
POST/auth/passkeys/optionsBearer token10 per 1 min
DELETE/auth/passkeys/{passkeyId}Bearer token—
PATCH/auth/profileBearer token—
POST/auth/registerNone10 per 1 min
DELETE/auth/two-factorBearer token10 per 1 min
GET/auth/two-factorBearer token10 per 1 min
POST/auth/two-factor-challengeNone10 per 1 min
POST/auth/two-factor/confirmBearer token10 per 1 min
POST/auth/two-factor/recovery-codesBearer token10 per 1 min
POST/auth/two-factor/setupBearer token10 per 1 min

Brands ​

MethodPathAuthNotes
GET/teamsBearer token—
GET/teams/{id}Bearer token—
PATCH/teams/{id}Bearer token—

Current user ​

MethodPathAuthNotes
GET/me/entitlementsBearer tokenbrand-scoped
PATCH/me/teamBearer token—

Ideas ​

MethodPathAuthNotes
POST/ideas/importBearer tokenbrand-scoped
GET/ideas/mining-contextBearer tokenbrand-scoped

Media ​

MethodPathAuthNotes
GET/mediaBearer tokenbrand-scoped
POST/mediaBearer tokenbrand-scoped
GET/media/assetsBearer tokenbrand-scoped
POST/media/assetsBearer tokenbrand-scoped
POST/media/assets/from-urlBearer tokenbrand-scoped
DELETE/media/assets/{kind}/{id}Bearer tokenbrand-scoped
GET/media/assets/{kind}/{id}Bearer tokenbrand-scoped
PATCH/media/assets/{kind}/{id}Bearer tokenbrand-scoped
POST/media/assets/{kind}/{id}/new-postBearer tokenbrand-scoped
GET/media/usageBearer tokenbrand-scoped
DELETE/media/{id}Bearer tokenbrand-scoped

Members ​

MethodPathAuthNotes
GET/usersBearer tokenbrand-scoped
GET/users/rolesBearer tokenbrand-scoped

Notification preferences ​

MethodPathAuthNotes
GET/notification-preferencesBearer tokenbrand-scoped
PUT/notification-preferencesBearer tokenbrand-scoped

Device tokens ​

MethodPathAuthNotes
DELETE/device-tokensBearer tokenbrand-scoped
POST/device-tokensBearer tokenbrand-scoped

Subscription ​

MethodPathAuthNotes
POST/subscription/checkoutBearer tokenbrand-scoped
GET/subscription/plansBearer tokenbrand-scoped
GET/subscription/statusBearer tokenbrand-scoped
POST/subscription/switchBearer tokenbrand-scoped

Public ​

MethodPathAuthNotes
GET/public/plansNone—

Other ​

MethodPathAuthNotes
GET/None—
GET/calendarBearer tokenbrand-scoped
GET/cli/auth-metadataNone30 per 1 min
POST/cli/tokenNone10 per 1 min
GET/commentsBearer tokenbrand-scoped
PATCH/comments/skip-matchingBearer tokenbrand-scoped
POST/comments/{item}/draftBearer tokenbrand-scoped
PATCH/comments/{item}/mark-postedBearer tokenbrand-scoped
PATCH/comments/{item}/skipBearer tokenbrand-scoped
POST/composer/ai/generateBearer tokenbrand-scoped
POST/composer/ai/imageBearer tokenbrand-scoped
POST/composer/ai/image/promptBearer tokenbrand-scoped
GET/composer/ai/modelsBearer tokenbrand-scoped
POST/composer/ai/splitBearer tokenbrand-scoped
GET/composer/channelsBearer tokenbrand-scoped
POST/composer/design/aiBearer tokenbrand-scoped
POST/composer/design/renderBearer tokenbrand-scoped
GET/composer/design/render/{job}Bearer tokenbrand-scoped
GET/composer/design/templatesBearer tokenbrand-scoped
POST/composer/labelsBearer tokenbrand-scoped
DELETE/composer/labels/{label}Bearer tokenbrand-scoped
PUT/composer/labels/{label}Bearer tokenbrand-scoped
GET/composer/mediaBearer tokenbrand-scoped
POST/composer/mediaBearer tokenbrand-scoped
DELETE/composer/media/{item}Bearer tokenbrand-scoped
GET/composer/presetsBearer tokenbrand-scoped
POST/composer/presetsBearer tokenbrand-scoped
DELETE/composer/presets/{preset}Bearer tokenbrand-scoped
PUT/composer/presets/{preset}Bearer tokenbrand-scoped
GET/connectionsBearer tokenbrand-scoped
POST/connections/groupsBearer tokenbrand-scoped
DELETE/connections/groups/{group}Bearer tokenbrand-scoped
PUT/connections/groups/{group}Bearer tokenbrand-scoped
GET/connections/pick/{token}Bearer tokenbrand-scoped
DELETE/connections/{account}Bearer tokenbrand-scoped
GET/connections/{account}/pinterest/boardsBearer tokenbrand-scoped
GET/connections/{account}/threads/locationsBearer tokenbrand-scoped
GET/connections/{account}/tiktok/creator-infoBearer tokenbrand-scoped
POST/connections/{platform}/credentialsBearer tokenbrand-scoped
POST/connections/{platform}/finalizeBearer tokenbrand-scoped
POST/connections/{platform}/startBearer tokenbrand-scoped
POST/extension/tokenNone10 per 1 min
GET/home/summaryBearer tokenbrand-scoped
GET/inbox/conversationsBearer tokenbrand-scoped
GET/inbox/conversations/{contact}Bearer tokenbrand-scoped
POST/inbox/conversations/{contact}/ai/draftBearer tokenbrand-scoped
POST/inbox/conversations/{contact}/ai/polishBearer tokenbrand-scoped
GET/inbox/conversations/{contact}/messagesBearer tokenbrand-scoped
POST/inbox/conversations/{contact}/readBearer tokenbrand-scoped
POST/inbox/conversations/{contact}/replyBearer tokenbrand-scoped
GET/inspirationBearer tokenbrand-scoped
GET/inspiration/{video}Bearer tokenbrand-scoped
POST/inspiration/{video}/analyzeBearer tokenbrand-scoped
POST/inspiration/{video}/to-ideaBearer tokenbrand-scoped
POST/inspiration/{video}/transcriptBearer tokenbrand-scoped
GET/invitationsBearer tokenbrand-scoped
POST/invitationsBearer tokenbrand-scoped
DELETE/invitations/{id}Bearer tokenbrand-scoped
POST/invitations/{id}/resendBearer tokenbrand-scoped
POST/postsBearer tokenbrand-scoped
GET/posts/approvalsBearer tokenbrand-scoped
POST/posts/composeBearer tokenbrand-scoped
POST/posts/draftBearer tokenbrand-scoped
GET/posts/{post}Bearer tokenbrand-scoped
PATCH/posts/{post}Bearer tokenbrand-scoped
POST/posts/{post}/approveBearer tokenbrand-scoped
GET/posts/{post}/designBearer tokenbrand-scoped
POST/posts/{post}/duplicateBearer tokenbrand-scoped
POST/posts/{post}/publicationsBearer tokenbrand-scoped
POST/posts/{post}/rejectBearer tokenbrand-scoped
GET/publicationsBearer tokenbrand-scoped
POST/publications/{publication}/rescheduleBearer tokenbrand-scoped
POST/publications/{publication}/retryBearer tokenbrand-scoped
POST/publications/{publication}/retry-plugBearer tokenbrand-scoped
POST/publications/{publication}/retry-repostBearer tokenbrand-scoped
POST/publications/{publication}/skipBearer tokenbrand-scoped
POST/research/hooksBearer tokenbrand-scoped
POST/research/postsBearer tokenbrand-scoped
POST/research/videosBearer tokenbrand-scoped
POST/research/videos/statusBearer tokenbrand-scoped
GET/social-accountsBearer tokenbrand-scoped
GET/v1/channelsBearer tokenbrand-scoped
GET/v1/media/assetsBearer tokenbrand-scoped
POST/v1/media/assetsBearer tokenbrand-scoped
POST/v1/media/assets/from-urlBearer tokenbrand-scoped
DELETE/v1/media/assets/{kind}/{id}Bearer tokenbrand-scoped
GET/v1/media/assets/{kind}/{id}Bearer tokenbrand-scoped
PATCH/v1/media/assets/{kind}/{id}Bearer tokenbrand-scoped
POST/v1/media/assets/{kind}/{id}/new-postBearer tokenbrand-scoped
GET/v1/media/usageBearer tokenbrand-scoped
GET/v1/postsBearer tokenbrand-scoped
POST/v1/postsBearer tokenbrand-scoped
GET/v1/posts/{post}Bearer tokenbrand-scoped
DELETE/v1/posts/{post}/publications/{publication}Bearer tokenbrand-scoped
GET/v1/slots/nextBearer tokenbrand-scoped
POST/video-assetsBearer tokenbrand-scoped
DELETE/video-assets/{asset}Bearer tokenbrand-scoped
GET/video-assets/{asset}Bearer tokenbrand-scoped
POST/video-assets/{asset}/completeBearer tokenbrand-scoped
POST/video-assets/{asset}/partsBearer tokenbrand-scoped

Notes ​

POST /teams appears on the router but its handler is not implemented, so calling it errors. Create a brand in Studio instead.

GET /auth/two-factor is the one endpoint under /auth/two-factor/ that is not throttled, since clients poll it to render the security screen.

The /v1/* routes are the Posts API: creating and scheduling content from an outside tool, not just reading it.

Postlyra, by MAVA Design