createPerson
# createPerson
POST
/people
const url = 'http://localhost:8080/api/v1/people';const options = { method: 'POST', headers: {cookie: 'hs_session=<hs_session>', 'Content-Type': 'application/json'}, body: '{"displayName":"example","relationLabel":"example","kind":"family","closeness":1,"notes":"example","circleIds":["per_01j9x3k8m2q4r5s6t7v8w9y0z1"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8080/api/v1/people \ --header 'Content-Type: application/json' \ --cookie hs_session=<hs_session> \ --data '{ "displayName": "example", "relationLabel": "example", "kind": "family", "closeness": 1, "notes": "example", "circleIds": [ "per_01j9x3k8m2q4r5s6t7v8w9y0z1" ] }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
displayName
required
string
relationLabel
string
kind
string
closeness
1 = closest. Weights the feed and hearth picks.
integer
notes
string
circleIds
Array<string>
Responses
Section titled “Responses”Created.
Media typeapplication/json
object
id
required
string
displayName
required
string
relationLabel
string | null
kind
required
string
closeness
required
1 = closest. Weights the feed and hearth picks.
integer
avatar
accounts
required
Array
object
id
required
string
platform
required
string
handle
required
string
displayName
string | null
profileUrl
required
string format: uri
deepLinks
required
Client picks app link on mobile when installed, else web.
object
web
required
string format: uri
ios
string
android
string
copyValue
Value to copy when no link exists (e.g. WeChat ID).
string
hintKey
I18n key with instructions, e.g. “platformWechatOpenHint”.
string
personId
required
string
platformUserId
string | null
avatar
fetchTier
required
string
status
required
string
statusDetailKey
string | null
fetchIntervalS
integer | null
createdAt
required
string format: date-time
circleIds
required
Array<string>
notes
string | null
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
Examples
Exampleseed
Derived from fixtures/seed.json.
{ "accounts": [ { "avatar": null, "createdAt": "2026-09-17T09:00:00.000Z", "deepLinks": { "android": "https://x.com/nok_travels", "ios": "https://x.com/nok_travels", "web": "https://x.com/nok_travels" }, "displayName": null, "fetchIntervalS": 10800, "fetchTier": "agent", "handle": "nok_travels", "id": "acc_01j9a1b2c3d4e5f6g7h8j9k00b", "lastSuccessAt": null, "nextFetchAt": null, "personId": "per_01j9a1b2c3d4e5f6g7h8j9k00a", "platform": "x", "platformUserId": null, "profileUrl": "https://x.com/nok_travels", "status": "pending", "statusDetailKey": null }, { "avatar": null, "createdAt": "2026-09-17T09:00:00.000Z", "deepLinks": { "android": "https://bsky.app/profile/nok.bsky.social", "ios": "https://bsky.app/profile/nok.bsky.social", "web": "https://bsky.app/profile/nok.bsky.social" }, "displayName": null, "fetchIntervalS": 3600, "fetchTier": "server", "handle": "nok.bsky.social", "id": "acc_01j9a1b2c3d4e5f6g7h8j9k00c", "lastSuccessAt": null, "nextFetchAt": null, "personId": "per_01j9a1b2c3d4e5f6g7h8j9k00a", "platform": "bluesky", "platformUserId": null, "profileUrl": "https://bsky.app/profile/nok.bsky.social", "status": "pending", "statusDetailKey": null } ], "avatar": null, "circleIds": [ "cir_01j9ebw22bbvzap1dk44j2y9eh" ], "closeness": 2, "createdAt": "2026-10-17T09:00:00.000Z", "deletedAt": null, "displayName": "Nok", "id": "per_01j9a1b2c3d4e5f6g7h8j9k00a", "kind": "friend", "lastVisitedAt": null, "latestMomentAt": null, "notes": null, "relationLabel": null, "snoozedUntil": null, "updatedAt": "2026-10-17T09:00:00.000Z"}Invalid request.
Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
code
required
string
i18nKey
string
detail
string
fields
Array<object>
object
path
required
string
code
required
string
i18nKey
string
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "code": "example", "i18nKey": "example", "detail": "example", "fields": [ { "path": "example", "code": "example", "i18nKey": "example" } ]}