🔗 Share Links

Create a shareable link

Changed on

Create a public link to a set of posts or a calendar window. scope defaults to selection (an explicit post list), which needs at least one plans or notes id. future and all share a calendar window instead: they require view: calendar plus a calendar_date range, and only that pairing takes no post ids — the window is resolved on every fetch, so any plans/notes sent with it are stored but never read. Approval invitations are not part of create — use the send-invitations endpoint afterwards.

post/api/v1/workspaces/{workspace_id}/share-links

Request

  • Base URL
    https://api.contentstudio.io
  • URL
    https://api.contentstudio.io/api/v1/workspaces/{workspace_id}/share-links
  • Auth
    API key in header X-API-Key

Path parameters

workspace_idstring required
Example:610a1e660cb41530ca40d372

Request body

namestring required

Letters, digits and spaces only — it is slugified into the public URL.

scope'selection' | 'future' | 'all'

selection shares the listed posts. future/all share a calendar window and require view: calendar.

view'list' | 'calendar' | 'compact_list'

Presentation hint for the viewer.

calendar_datestring

Range anchor, required for future/all and rejected otherwise.

plansstring[]

Post IDs, each in this workspace. Required unless notes is given, except on a future/all calendar window, where the ids are ignored.

notesstring[]

Note IDs, each in this workspace. Stands in for plans; ignored on a future/all calendar window.

show_notesboolean
is_password_protectedboolean
passwordstring

Write-only — never returned.

is_single_postboolean

When true, plans must hold exactly one id and scope must be selection.

allow_external_commentsboolean
allow_external_approval_actionsboolean

Must be false when scope is future/all.

social_selectionsobject[]

Example request

{
  "name": "Q1 Client Recap",
  "scope": "selection",
  "view": "list",
  "calendar_date": "2026-01-01 - 2026-03-31",
  "plans": [
    "66a1f2e4c8b9a1234567890c"
  ],
  "password": "hunter2"
}

Response

Share link created

statusboolean
messagestring

Example response

{
  "status": true,
  "message": "Shareable link created successfully. Share the returned `url` with recipients, or use `id` to update or delete this link.",
  "data": {
    "id": "66a1f2e4c8b9a1234567890b",
    "_id": "66a1f2e4c8b9a1234567890b",
    "name": "Q1 Client Recap",
    "link_id": "q1-client-recap-a1b2c3",
    "url": "https://app.contentstudio.io/share/planner/q1-client-recap-a1b2c3",
    "scope": "selection",
    "view": "list",
    "allow_external_comments": true,
    "approval_emails": [],
    "created_at": "2026-09-02T10:00:00+00:00",
    "updated_at": "2026-09-02T10:00:00+00:00"
  }
}

Changes