List guestbook messages
Returns guestbook messages accessible to the API key’s account.
/api/v1/social/widgets/{widgetId}/guestbookguestbook: read1,000 requests/minute/key · all plansActive API keys: Free 1, Pro 5, Pro+ 5. The request rate is the same on every plan.
Parameters
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
widgetId | string (uuid) | Required | Identifier of the widget. |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
cursor | integer | null | Optional | Filter or option: cursor. Greater than 0. |
limit | integer | Optional | Filter or option: limit. Default: 25. Minimum: 1. Maximum: 100. |
Behaviour and pagination
Omit cursor for the first page. Pass the nextCursor value from the response into the next request; if nextCursor is an object, use its index property. A null nextCursor indicates the end.
Response schema
200
Successful response.
| Name | Type | Required | Description |
|---|---|---|---|
threads | array<object> | Required | Threads. |
threads[].id | string | Required | Unique identifier. |
threads[].createdAt | number | Required | Creation time. |
threads[].ownerUserId | string | Required | Owner User Id. |
threads[].parentMessageId | null | string | Required | Parent Message Id. |
threads[].authorDisplayName | string | Required | Author Display Name. |
threads[].postedAnonymously | boolean | Required | Posted Anonymously. |
threads[].body | string | Required | Body. |
threads[].hiddenByOwner | boolean | Required | Hidden By Owner. |
threads[].authorUserId | null | string | Required | Author User Id. Owner can see the real author even when posted anonymously; visitors cannot. |
threads[].displayName | string | Required | Display name. Display name a visitor should see (anonymised when applicable). |
threads[].authorAvatarUrl | null | string | Required | Author Avatar Url. Author profile picture (null for anonymous viewers and missing avatars). |
threads[].authorStatus | null | object | Required | Author Status. Account-status flags rendered as badges next to the name (omitted for anonymous). |
threads[].authorStatus.isAdmin | boolean | Required | Is Admin. |
threads[].authorStatus.planKey | null | string | Required | Plan Key. |
threads[].authorStatus.donorSupporterUnlocked | boolean | Required | Donor Supporter Unlocked. |
threads[].authorStatus.closedBetaParticipantAt | null | number | Required | Closed Beta Participant At. |
threads[].authorStatus.bugBountyUnlockedAt | null | number | Required | Bug Bounty Unlocked At. |
threads[].authorProfileStyle | null | object | Required | Author Profile Style. Friend-account appearance (`app_profiles.friend_profile_style`) for name fonts + avatar ring chrome. Null when anonymised to the viewer or missing. |
threads[].authorProfileStyle.avatarRing | object | Optional | Avatar Ring. |
threads[].authorProfileStyle.bannerFrame | object | Optional | Banner Frame. |
threads[].authorProfileStyle.memberName | object | Optional | Member Name. |
threads[].authorProfileStyle.bannerImage | object | Optional | Banner Image. |
threads[].authorProfileStyle.avatarImage | object | Optional | Avatar Image. |
threads[].authorProfileStyle.bannerOverlay | string | Optional | Banner Overlay. Allowed values: "none", "vignette", "soft-gradient", "film-grain", "glass-blur", "pattern-dots", "pattern-grid". |
threads[].authorProfileStyle.profileBackgroundPattern | string | Optional | Profile Background Pattern. Allowed values: "grid", "none", "dots", "noise". |
threads[].authorProfileStyle.heroLayout | string | Optional | Hero Layout. Allowed values: "shell-default", "avatar-centered", "avatar-left". |
threads[].authorProfileStyle.accentColorHex | null | string | Optional | Accent Color Hex. |
threads[].authorProfileStyle.profileBackgroundFill | object | Optional | Profile Background Fill. |
threads[].authorProfileStyle.pageBackgroundFill | object | Optional | Page Background Fill. Friend-only: full Friends viewport backdrop (solid/gradient). |
threads[].authorProfileStyle.panelBackgroundFill | object | Optional | Panel Background Fill. Friend-only: profile card panel fill (free: preset solids; Pro+: custom solid/gradient). |
threads[].authorProfileStyle.panelFillAccentHex | null | string | Optional | Panel Fill Accent Hex. Friend-only: optional accent mixed into the profile panel backdrop (Pro+). |
threads[].authorProfileStyle.panelCardAccentHex | null | string | Optional | Panel Card Accent Hex. Friend-only: optional accent mixed into section cards (Pro+). |
threads[].replies | array<object> | Required | Replies. |
threads[].replies[].id | string | Required | Unique identifier. |
threads[].replies[].createdAt | number | Required | Creation time. |
threads[].replies[].ownerUserId | string | Required | Owner User Id. |
threads[].replies[].parentMessageId | null | string | Required | Parent Message Id. |
threads[].replies[].authorDisplayName | string | Required | Author Display Name. |
threads[].replies[].postedAnonymously | boolean | Required | Posted Anonymously. |
threads[].replies[].body | string | Required | Body. |
threads[].replies[].hiddenByOwner | boolean | Required | Hidden By Owner. |
threads[].replies[].authorUserId | null | string | Required | Author User Id. Owner can see the real author even when posted anonymously; visitors cannot. |
threads[].replies[].displayName | string | Required | Display name. Display name a visitor should see (anonymised when applicable). |
threads[].replies[].authorAvatarUrl | null | string | Required | Author Avatar Url. Author profile picture (null for anonymous viewers and missing avatars). |
threads[].replies[].authorStatus | null | object | Required | Author Status. Account-status flags rendered as badges next to the name (omitted for anonymous). |
threads[].replies[].authorProfileStyle | null | object | Required | Author Profile Style. Friend-account appearance (`app_profiles.friend_profile_style`) for name fonts + avatar ring chrome. Null when anonymised to the viewer or missing. |
nextCursor | null | number | Required | Cursor for the next page; null when there are no further results. |
total | number | Required | Total. |
Errors
400· JSON errorRequest failed (BAD_REQUEST).
401· JSON errorMissing or invalid API key. Use Authorization: Bearer <token>.
403· JSON errorRequires guestbook: read; ownership or feature restrictions may also deny access.
404· JSON errorRequest failed (NOT_FOUND).
409· JSON errorRequest failed (CONFLICT).
429· JSON errorAPI rate limit exceeded (1000 requests per minute). Retry shortly.
503· JSON errorPostgreSQL is not configured (DATABASE_URL).
Request example
Set FLORALITY_KEY in your environment. These examples use demo identifiers.
curl --request GET 'https://floralitys.com/api/v1/social/widgets/11111111-1111-4111-8111-111111111111/guestbook' \
--header "Authorization: Bearer $FLORALITY_KEY"Responses
Successful response.
{
"threads": [
{
"id": "11111111-1111-4111-8111-111111111111",
"createdAt": 1767225600000,
"ownerUserId": "11111111-1111-4111-8111-111111111111",
"parentMessageId": null,
"authorDisplayName": "River",
"postedAnonymously": false,
"body": "demo",
"hiddenByOwner": false,
"authorUserId": null,
"displayName": "River",
"authorAvatarUrl": null,
"authorStatus": null,
"authorProfileStyle": null,
"replies": [
{
"id": "11111111-1111-4111-8111-111111111111",
"createdAt": 1767225600000,
"ownerUserId": "11111111-1111-4111-8111-111111111111",
"parentMessageId": null,
"authorDisplayName": "River",
"postedAnonymously": false,
"body": "demo",
"hiddenByOwner": false,
"authorUserId": null,
"displayName": "River",
"authorAvatarUrl": null,
"authorStatus": null,
"authorProfileStyle": null
}
]
}
],
"nextCursor": null,
"total": 0
}Example values are illustrative demo data.
