On this page
Social media client approval works best when the client can review the exact post, choose approve or request changes, and leave a decision against that item. In Uplonic, a review link provides that access without a client account. This guide demonstrates the API workflow with a draft post that has no publication time: approval clears its review requirement while leaving publication under the workspace's control.
For the broader workspace setup, read our guide to managing multiple clients' social media accounts. The workflow below addresses the approval handoff inside that setup.
What you need and what this test proves
You need a workspace with client approval enabled, an API key with write access, the API base URL and a draft post belonging to that workspace. The API checks the workspace's client-approval entitlement when creating a link. Keep the API key in a trusted client or on your server; give the client the review URL.
Our development check on 2026-10-18 used an isolated workspace in the development database and the real review-link and public-review HTTP routes. We tested link creation, opening the review, a missing change-request comment, approval without a schedule, a repeat decision, link listing and revocation. A separate database integration check covered scheduled items, requested changes, expired times and workspace isolation. Browser clicks, email delivery and publication to a social network were outside these checks.
Create a review link for the draft
Send POST /review-links with the workspace key in the x-api-key header. Replace POST_ID below with a draft post ID from that workspace. The following JSON is the request-body shape exercised in our HTTP test.
{
"postIds": ["POST_ID"],
"title": "Review demo",
"locale": "en",
"expiresInDays": 14
}
The 14-day setting is our tested example, checked against the implementation on 2026-10-18. Choose an expiry that covers your agreed feedback period. Our request omitted a recipient address, so it created a link without sending email. The response returned the link ID, URL, expiry and item count. A workspace without the required entitlement was rejected before creation.
Save the returned URL while you have it. The stored link record contains a token hash; listing links later does not recover the original URL. Use your normal private handoff channel to share the URL with the intended reviewer. Anyone holding it can access the assigned review items until it expires or is revoked.
Collect an item-level decision
The review page uses the token in the returned URL to load GET /public/review/TOKEN. The result contains the assigned items and their review item IDs. In our test, the response exposed only the draft assigned to that link. The client does not need the workspace API key.
The public page offers approval and requests for changes. A choice is submitted when the reviewer sends their decisions; merely selecting an option is not the completed handoff. For an API integration, send POST /public/review/TOKEN/decisions with the returned review item ID:
{
"decisions": [
{ "itemId": "REVIEW_ITEM_ID", "decision": "approved" }
]
}
This body shape was exercised over HTTP on 2026-10-18. The response includes a result for each submitted item. Check each result's ok and outcome. Our missing-comment change request was rejected with a validation error; the service integration separately verified a request for changes with a written explanation. The first recorded decision for an item is final on that link: a repeat submission returned REVIEW_ALREADY_DECIDED.
Verify approval and decide what happens next
Our unscheduled draft returned approved_only. It had an approved review status, remained a draft and had no publishing request. That is the successful endpoint for this guide. Inspect the post and the link's item outcomes before placing it in your social media content calendar.
Outcome | Meaning | Workspace action |
|---|---|---|
approved_only | The review requirement is cleared; no publication was initiated for our unscheduled post. | Choose a destination and publication time when ready. |
scheduled | The approval flow accepted the stored future schedule in our service test. | Inspect the publishing request and later its destination result. |
needs_new_time | The planned time passed before the client decided. | Choose a new time; the client link does not silently publish the overdue item. |
returned | The client requested changes and the item remains blocked from publication. | Read the feedback, revise the item and submit it for review again. |
A successful approval is evidence of a review decision. To establish that a post is live, inspect the platform result separately. For a publishing error after approval, follow the checks in our explanation of social media automation for small teams and inspect the failed destination before retrying.
If the handoff does not work
Symptom | Verified check | Next action |
|---|---|---|
Link creation is rejected for the plan. | The HTTP test rejected creation without the entitlement. | Confirm that client approval is enabled for the workspace. |
A change request cannot be submitted. | The HTTP route requires a nonempty comment. | Explain the required edit and resubmit. |
The reviewer cannot change an earlier decision. | A repeated item decision returned REVIEW_ALREADY_DECIDED. | Review the recorded outcome; use a fresh review cycle for revised content. |
The review link no longer opens. | Revoked and expired links were rejected in our checks. | Check the link state and issue a fresh link if review is still needed. |
To revoke a link, use POST /review-links/LINK_ID/revoke with the workspace key. We exercised this route and confirmed that the public URL then stopped resolving. Revocation removes link access; it does not itself approve, cancel or delete the underlying item.
Sources & methodology
Method: first-party implementation review and a development workflow check on 2026-10-18. Product behavior comes from the tested Uplonic implementation. No third-party approval article or market statistic was used.
- Uplonic reviewLinks and publicReview HTTP routes, clientReview and postReview services: link creation, entitlement, item decisions, expiry and approval outcomes; reviewed 2026-10-18.
- Uplonic development HTTP check: dedicated workspace, authenticated link management and public decisions; checked 2026-10-18. No email delivery, browser interaction or platform delivery claim.
- Uplonic client-review database integration: pending-item gates, future schedules, requested changes, expired times and workspace isolation; checked 2026-10-18.




