previewImport
# previewImport
POST
/imports/preview
const url = 'http://localhost:8080/api/v1/imports/preview';const options = { method: 'POST', headers: {cookie: 'hs_session=<hs_session>', 'Content-Type': 'application/json'}, body: '{"url":"https://example.com","pack":{"format":"homestead.circle-pack","version":1,"circle":{"name":"example","icon":"example","color":"terracotta"},"sharedBy":{"householdName":"example","memberName":"example"},"people":[{"ref":"example","displayName":"example","relationLabel":"example","kind":"family","notes":"example","avatarUrl":"https://example.com","accounts":[{"platform":"instagram","handle":"example","platformUserId":"example","profileUrl":"https://example.com"}]}],"createdAt":"2026-04-15T12:00:00Z","expiresAt":"2026-04-15T12:00:00Z"}}'};
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/imports/preview \ --header 'Content-Type: application/json' \ --cookie hs_session=<hs_session> \ --data '{ "url": "https://example.com", "pack": { "format": "homestead.circle-pack", "version": 1, "circle": { "name": "example", "icon": "example", "color": "terracotta" }, "sharedBy": { "householdName": "example", "memberName": "example" }, "people": [ { "ref": "example", "displayName": "example", "relationLabel": "example", "kind": "family", "notes": "example", "avatarUrl": "https://example.com", "accounts": [ { "platform": "instagram", "handle": "example", "platformUserId": "example", "profileUrl": "https://example.com" } ] } ], "createdAt": "2026-04-15T12:00:00Z", "expiresAt": "2026-04-15T12:00:00Z" } }'Fetches a share URL (any Homestead instance; allow-listed path shape only) or takes an inline pack, and matches people and accounts against this household.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
One of:
object
url
required
string format: uri
pack
Portable circle format. Also saved as .homestead.json files.
object
format
required
string
version
required
integer
circle
required
object
name
required
string
icon
required
string
color
required
string
sharedBy
object
householdName
string
memberName
string
people
required
Array<object>
object
ref
required
Opaque per-pack reference.
string
displayName
required
string
relationLabel
string
kind
required
string
notes
string
avatarUrl
string format: uri
accounts
required
Array<object>
object
platform
required
string
handle
required
string
platformUserId
string
profileUrl
required
string format: uri
createdAt
required
string format: date-time
object
url
string format: uri
pack
required
Portable circle format. Also saved as .homestead.json files.
object
format
required
string
version
required
integer
circle
required
object
name
required
string
icon
required
string
color
required
string
sharedBy
object
householdName
string
memberName
string
people
required
Array<object>
object
ref
required
Opaque per-pack reference.
string
displayName
required
string
relationLabel
string
kind
required
string
notes
string
avatarUrl
string format: uri
accounts
required
Array<object>
object
platform
required
string
handle
required
string
platformUserId
string
profileUrl
required
string format: uri
createdAt
required
string format: date-time
Responses
Section titled “Responses”Preview with suggested actions.
Media typeapplication/json
object
pack
required
Portable circle format. Also saved as .homestead.json files.
object
format
required
string
version
required
integer
circle
required
object
name
required
string
icon
required
string
color
required
string
sharedBy
object
householdName
string
memberName
string
people
required
Array<object>
object
ref
required
Opaque per-pack reference.
string
displayName
required
string
relationLabel
string
kind
required
string
notes
string
avatarUrl
string format: uri
accounts
required
Array<object>
object
platform
required
string
handle
required
string
platformUserId
string
profileUrl
required
string format: uri
createdAt
required
string format: date-time
Examples
Exampleseed
Derived from fixtures/seed.json.
{ "matches": [ { "existingAccountIds": [ "acc_01j93283xpmc4y04hy7rmmt7y7" ], "existingPersonId": "per_01j9wst6a8vjc69r66y6fj70t5", "ref": "p1", "suggestedAction": "merge" }, { "existingAccountIds": [ "acc_01j9te0skfktnnmw6zvew46azb" ], "existingPersonId": "per_01j9f8r1agkh6g3jp30xcwnytc", "ref": "p2", "suggestedAction": "merge" }, { "existingAccountIds": [], "existingPersonId": null, "ref": "p3", "suggestedAction": "create" }, { "existingAccountIds": [ "acc_01j9e8wtqqwvx5c5qxjqyd78he", "acc_01j936xmqyft8qfbq7srt9h04r" ], "existingPersonId": "per_01j9yjkch7a0ayzz8784jtf08t", "ref": "p4", "suggestedAction": "skip" } ], "pack": { "circle": { "color": "terracotta", "icon": "home", "name": "Family" }, "createdAt": "2026-10-15T09:00:00.000Z", "expiresAt": "2026-11-16T09:00:00.000Z", "format": "homestead.circle-pack", "people": [ { "accounts": [ { "handle": "mom.wong.bkk", "platform": "instagram", "profileUrl": "https://www.instagram.com/mom.wong.bkk/" }, { "handle": "pranee.wong", "platform": "facebook", "profileUrl": "https://www.facebook.com/pranee.wong" } ], "displayName": "Mom", "kind": "family", "ref": "p1", "relationLabel": "แม่" }, { "accounts": [ { "handle": "lin.cooks", "platform": "instagram", "profileUrl": "https://www.instagram.com/lin.cooks/" } ], "displayName": "Lin", "kind": "family", "ref": "p2", "relationLabel": "Cousin" }, { "accounts": [ { "handle": "~grandma_noi", "platform": "line", "profileUrl": "https://line.me/R/ti/p/~grandma_noi" } ], "displayName": "Grandma Noi", "kind": "family", "ref": "p3", "relationLabel": "ยาย" }, { "accounts": [ { "handle": "wei_chengdu88", "platform": "wechat", "profileUrl": "https://weixin.qq.com/" }, { "handle": "MS4wLjABAAAAweichengdu0000000000000000000000", "platform": "douyin", "platformUserId": "98765432101", "profileUrl": "https://www.douyin.com/user/MS4wLjABAAAAweichengdu0000000000000000000000" } ], "displayName": "Uncle Wei", "kind": "family", "ref": "p4", "relationLabel": "舅舅" } ], "sharedBy": { "householdName": "The Wongs' Homestead", "memberName": "Mali" }, "version": 1 }}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" } ]}Expired or revoked.
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" } ]}A remote server did not answer.
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" } ]}