Client shares
List client shares
get/v1/client-shares
List the workspace's client review links (workspace, post or campaign scoped) without their tokens. Revoked links are left out unless includeRevoked is true. Needs campaigns:update.
Query parameters
includeRevokedstringOne of
truefalse
Response 200
Client share links
dataarray of objectrequiredChild attributes
idstringrequiredworkspaceIdstringrequiredscopestringrequiredOne of
workspacepostcampaignsubjectIdsarray of stringrequirednullablelabelstringrequirednullableemailstringrequirednullableexpiresAtstring (date-time)requirednullablerevokedAtstring (date-time)requirednullablelastUsedAtstring (date-time)requirednullablecreatedBystringrequirednullablecreatedAtstring (date-time)requiredrevokedbooleanrequiredexpiredbooleanrequired
Errors
- 401
- Unauthenticated
- 403
- Missing scope
curl "https://api.posty.social/v1/client-shares" \
-H "Authorization: Bearer $POSTY_API_KEY"{
"data": [
{
"id": "string",
"workspaceId": "string",
"scope": "workspace",
"subjectIds": [
"string"
],
"label": "string",
"email": "string",
"expiresAt": "2026-01-15T09:30:00.000Z",
"revokedAt": "2026-01-15T09:30:00.000Z",
"lastUsedAt": "2026-01-15T09:30:00.000Z",
"createdBy": "string",
"createdAt": "2026-01-15T09:30:00.000Z",
"revoked": true,
"expired": true
}
]
}Create client share
post/v1/client-shares
Create a public review link that lets anyone holding it read client-visible posts: the whole workspace, the posts in subjectIds (scope post) or one campaign's deliverables and brief (scope campaign, agency organizations only). The url and token are returned only in this response. Needs campaigns:update; sends no email.
Request body
scopestringrequiredOne of
workspacepostcampaignsubjectIdsarray of stringMax items 100
labelstringMax length 200
emailstringMax length 320
expiresAtstring (date-time)nullable
Response 201
Link created; store the url now, it cannot be shown again
idstringrequiredworkspaceIdstringrequiredscopestringrequiredOne of
workspacepostcampaignsubjectIdsarray of stringrequirednullablelabelstringrequirednullableemailstringrequirednullableexpiresAtstring (date-time)requirednullablerevokedAtstring (date-time)requirednullablelastUsedAtstring (date-time)requirednullablecreatedBystringrequirednullablecreatedAtstring (date-time)requiredrevokedbooleanrequiredexpiredbooleanrequiredtokenstringrequiredurlstringrequired
Errors
- 400
- Invalid request
- 401
- Unauthenticated
- 403
- Missing scope
- 404
- Workspace not found
curl -X POST "https://api.posty.social/v1/client-shares" \
-H "Authorization: Bearer $POSTY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scope": "workspace",
"subjectIds": [
"string"
],
"label": "string",
"email": "string",
"expiresAt": "2026-01-15T09:30:00.000Z"
}'{
"id": "string",
"workspaceId": "string",
"scope": "workspace",
"subjectIds": [
"string"
],
"label": "string",
"email": "string",
"expiresAt": "2026-01-15T09:30:00.000Z",
"revokedAt": "2026-01-15T09:30:00.000Z",
"lastUsedAt": "2026-01-15T09:30:00.000Z",
"createdBy": "string",
"createdAt": "2026-01-15T09:30:00.000Z",
"revoked": true,
"expired": true,
"token": "string",
"url": "string"
}Revoke client share
del/v1/client-shares/{id}
Revoke a client review link so it stops working at once. Revoking cannot be undone; issue a new link instead. Needs campaigns:update.
Path parameters
idstringrequired
Response 204
Link revoked
Errors
- 401
- Unauthenticated
- 403
- Missing scope
- 404
- Link not found or already revoked
curl -X DELETE "https://api.posty.social/v1/client-shares/$ID" \
-H "Authorization: Bearer $POSTY_API_KEY"No content