Members
List workspace members
get/v1/members
List the workspace's members with their role, team or client visibility, owner flag, name and email. Use userId with update_workspace_member and remove_workspace_member. Needs workspace:view.
Errors
- 401
- Unauthenticated
- 403
- Missing workspace:view
curl "https://api.posty.social/v1/members" \
-H "Authorization: Bearer $POSTY_API_KEY"{
"data": [
{
"id": "string",
"userId": "string",
"role": "admin",
"visibility": "team",
"isOwner": true,
"createdAt": "2026-01-15T09:30:00.000Z",
"name": "string",
"email": "string",
"image": "string"
}
]
}Update workspace member
patch/v1/members/{userId}
Change a member's workspace role. You cannot change your own role, and the last admin cannot be demoted. Demotion from admin revokes the member's API keys and hangs up their open realtime sessions. Needs workspace:manage_members.
Path parameters
userIdstringrequired
Request body
rolestringrequiredOne of
adminapprovercontributorviewer
Response 200
Member updated
idstringrequireduserIdstringrequiredrolestringrequiredOne of
adminapprovercontributorviewervisibilitystringrequiredOne of
teamclientisOwnerbooleanrequiredcreatedAtstring (date-time)required
Errors
- 400
- Invalid request
- 401
- Unauthenticated
- 403
- Missing workspace:manage_members, or acting on yourself
- 404
- Not found in this workspace
- 409
- Would leave the workspace without an admin
curl -X PATCH "https://api.posty.social/v1/members/$USER_ID" \
-H "Authorization: Bearer $POSTY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"role": "admin"
}'{
"id": "string",
"userId": "string",
"role": "admin",
"visibility": "team",
"isOwner": true,
"createdAt": "2026-01-15T09:30:00.000Z"
}Remove workspace member
del/v1/members/{userId}
Remove a member from the workspace, revoke their API keys for it and hang up their open realtime sessions. You cannot remove yourself or the last admin. Needs workspace:manage_members.
Path parameters
userIdstringrequired
Response 204
Removed
Errors
- 401
- Unauthenticated
- 403
- Missing workspace:manage_members, or acting on yourself
- 404
- Not found in this workspace
- 409
- Would leave the workspace without an admin
curl -X DELETE "https://api.posty.social/v1/members/$USER_ID" \
-H "Authorization: Bearer $POSTY_API_KEY"No contentList workspace invitations
get/v1/invitations
List the workspace's pending, unexpired invitations with the invited email, role, visibility, inviter and expiry. Each one holds a seat until it is accepted, cancelled or expires. Needs workspace:view.
Errors
- 401
- Unauthenticated
- 403
- Missing workspace:view
curl "https://api.posty.social/v1/invitations" \
-H "Authorization: Bearer $POSTY_API_KEY"{
"data": [
{
"id": "string",
"email": "string",
"role": "string",
"visibility": "team",
"inviterName": "string",
"createdAt": "2026-01-15T09:30:00.000Z",
"expiresAt": "2026-01-15T09:30:00.000Z"
}
]
}Cancel workspace invitation
del/v1/invitations/{id}
Cancel a pending invitation in this workspace, freeing its seat. Review requests still waiting on the invitee are cancelled too. Needs workspace:manage_members.
Path parameters
idstringrequired
Response 204
Cancelled
Errors
- 401
- Unauthenticated
- 403
- Missing workspace:manage_members
- 404
- Invitation not found in this workspace
- 409
- Invitation was already accepted or cancelled
curl -X DELETE "https://api.posty.social/v1/invitations/$ID" \
-H "Authorization: Bearer $POSTY_API_KEY"No contentModels
Objects referenced by the endpoints above.
WorkspaceInvitation
idstringrequiredemailstringrequiredrolestringrequiredOne of admin, contributor, approver or viewer.
visibilitystringrequiredOne of
teamclientinviterNamestringrequirednullablecreatedAtstring (date-time)requiredexpiresAtstring (date-time)required
WorkspaceMember
idstringrequireduserIdstringrequiredrolestringrequiredOne of
adminapprovercontributorviewervisibilitystringrequiredOne of
teamclientisOwnerbooleanrequiredcreatedAtstring (date-time)requirednamestringrequiredemailstringrequiredimagestringrequirednullable