Skip to content

createShare

POST
/circles/{circleId}/shares
curl --request POST \
--url http://localhost:8080/api/v1/circles/per_01j9x3k8m2q4r5s6t7v8w9y0z1/shares \
--header 'Content-Type: application/json' \
--cookie hs_session=<hs_session> \
--data '{ "expiresInDays": 1, "includeNotes": false, "includeRelationLabels": false }'
circleId
required
string
/^[a-z]{2,3}_[0-9a-hjkmnp-tv-z]{26}$/
Media typeapplication/json
object
expiresInDays

Null = never. Default 7 when the circle contains family, else 30.

integer | null
Allowed values: 1 7 30 365
includeNotes
boolean
includeRelationLabels
boolean

Share link created. url contains the token and is shown once.

Media typeapplication/json
object
id
required
string
/^[a-z]{2,3}_[0-9a-hjkmnp-tv-z]{26}$/
circleId
required
string
/^[a-z]{2,3}_[0-9a-hjkmnp-tv-z]{26}$/
tokenPrefix
required
string
url

Only on create.

string format: uri
qrPayload

Only on create. Same as url.

string
includeNotes
required
boolean
includeRelationLabels
required
boolean
expiresAt
One of:
string format: date-time
revokedAt
One of:
string format: date-time
viewCount
required
integer
importCount
required
integer
createdAt
required
string format: date-time

Examples

Exampleseed

Derived from fixtures/seed.json.

{
"circleId": "cir_01j9kaptqa5dcqne4nmnrbp86d",
"createdAt": "2026-10-15T09:00:00.000Z",
"expiresAt": "2026-11-16T09:00:00.000Z",
"id": "shr_01j9a1b2c3d4e5f6g7h8j9k00p",
"importCount": 1,
"includeNotes": false,
"includeRelationLabels": true,
"qrPayload": "http://localhost:5173/s/demoShareToken0123456789abcd",
"revokedAt": null,
"tokenPrefix": "demoShar",
"url": "http://localhost:5173/s/demoShareToken0123456789abcd",
"viewCount": 3
}