Skip to content
FloralityDocs
ChangelogGet an API key

Getting started

  • Quickstart
  • Authentication
  • Scopes
  • Privacy buckets
  • Rate limits
  • Errors
  • Versioning
  • Terminology
  • Webhooks PRO

Resources

  • Members
  • Groups
  • Entries
  • Front
  • Appearance
  • Custom fields
  • Trash
  • Search
  • Member statuses
  • Systems
  • Messaging
  • Privacy buckets
  • Terminology
  • Friends
  • Subscriptions
  • Billing
  • Import
  • Social
  • Guestbook & poll
  • Group layout
  • Activity
Docs/Resources/get messaging channels channelid messages around
Florality

Organise your system. One front at a time.

Get started

Product

  • Features
  • Pricing
  • Docs
  • Changelog
  • Security

Company

  • About
  • Our team
  • Blog
  • Contact

Resources

  • FAQ
  • Trust and Safety
  • Public REST API

Legal

  • Privacy Policy
  • Terms of Service
  • Refunds and cancellation

© 2026 Florality. All rights reserved.

Florality
MessagingList messages around anchor

List messages around anchor

Returns messages around anchor accessible to the API key’s account.

GET
/api/v1/messaging/channels/{channelId}/messages/around
messaging: read1,000 requests/minute/key · all plans

Active API keys: Free 1, Pro 5, Pro+ 5. The request rate is the same on every plan.

Message storage
Message text is encrypted at rest and decrypted for authorised requests. Channel access is restricted to spaces owned by the API key’s account; missing or inaccessible channels return 404. Editing or deleting a message additionally checks its author and can return 403.

Parameters

Path parameters

NameTypeRequiredDescription
channelIdstring (uuid)RequiredIdentifier of the channel.

Query parameters

NameTypeRequiredDescription
anchorMessageIdstring (uuid)RequiredFilter or option: anchor message id.
beforeLimitintegerOptionalFilter or option: before limit. Default: 50. Minimum: 1. Maximum: 100.
afterLimitintegerOptionalFilter or option: after limit. Default: 50. Minimum: 1. Maximum: 100.

Behaviour and pagination

anchorMessageId identifies the message around which to load context. beforeLimit and afterLimit control each side of the anchor.

Response schema

200

Successful response.

NameTypeRequiredDescription
itemsarray<object>RequiredItems returned by this request.
items[].idstringRequiredUnique identifier.
items[].userIdnull | stringRequiredOwning account identifier.
items[].updatedAtnumberRequiredMost recent update time.
items[].createdAtnumberRequiredCreation time.
items[].deletedAtnull | numberRequiredDeletion time; null when active.
items[].versionnumberRequiredVersion used for optimistic concurrency checks.
items[].spaceIdstringRequiredSpace Id.
items[].channelIdstringRequiredChannel Id.
items[].authorUserIdstringRequiredAuthor User Id.
items[].authorMemberIdnull | stringRequiredAuthor Member Id.
items[].authorMemberDisplayNamenull | stringRequiredAuthor Member Display Name.
items[].authorMemberAvatarRefnull | stringRequiredAuthor Member Avatar Ref.
items[].messageTypestringRequiredMessage Type.
items[].replyToMessageIdnull | stringRequiredReply To Message Id.
items[].encryptionVersionnumberRequiredEncryption Version.
items[].encryptionKeyIdstringRequiredEncryption Key Id.
items[].encryptionIvstringRequiredEncryption Iv.
items[].encryptionAuthTagstringRequiredEncryption Auth Tag.
items[].contentFormatstringRequiredContent Format.
items[].gifMetadataJSON valueRequiredGif Metadata.
items[].editedAtnull | numberRequiredEdited At.
items[].contentstringRequiredText content.
items[].attachmentsarray<object>RequiredAttachments.
items[].attachments[].idstringRequiredUnique identifier.
items[].attachments[].userIdnull | stringRequiredOwning account identifier.
items[].attachments[].createdAtnumberRequiredCreation time.
items[].attachments[].sortOrdernumberRequiredSort Order.
items[].attachments[].spaceIdstringRequiredSpace Id.
items[].attachments[].messageIdstringRequiredMessage Id.
items[].attachments[].storageRefstringRequiredStorage Ref.
items[].attachments[].fileNamestringRequiredFile Name.
items[].attachments[].mimeTypestringRequiredMime Type.
items[].attachments[].byteSizenumberRequiredByte Size.
items[].attachments[].widthnull | numberRequiredWidth.
items[].attachments[].heightnull | numberRequiredHeight.
items[].attachments[].durationMsnull | numberRequiredDuration Ms.
items[].attachments[].attachmentKindstringRequiredAttachment Kind.
items[].linkPreviewsarray<object>RequiredLink Previews.
items[].linkPreviews[].idstringRequiredUnique identifier.
items[].linkPreviews[].spaceIdstringRequiredSpace Id.
items[].linkPreviews[].channelIdstringRequiredChannel Id.
items[].linkPreviews[].messageIdstringRequiredMessage Id.
items[].linkPreviews[].urlstringRequiredUrl.
items[].linkPreviews[].canonicalUrlnull | stringRequiredCanonical Url.
items[].linkPreviews[].finalUrlnull | stringRequiredFinal Url.
items[].linkPreviews[].domainstringRequiredDomain.
items[].linkPreviews[].siteNamenull | stringRequiredSite Name.
items[].linkPreviews[].titlenull | stringRequiredDisplay title.
items[].linkPreviews[].descriptionnull | stringRequiredDescription of the resource.
items[].linkPreviews[].imageUrlnull | stringRequiredImage Url.
items[].linkPreviews[].imageWidthnull | numberRequiredImage Width.
items[].linkPreviews[].imageHeightnull | numberRequiredImage Height.
items[].linkPreviews[].faviconUrlnull | stringRequiredFavicon Url.
items[].linkPreviews[].providerNamenull | stringRequiredProvider Name.
items[].linkPreviews[].statusstringRequiredStatus. Allowed values: "pending", "blocked", "success", "failed", "dismissed".
items[].linkPreviews[].errorCodenull | stringRequiredError Code.
items[].linkPreviews[].contentTypenull | stringRequiredContent Type.
items[].linkPreviews[].httpStatusnull | numberRequiredHttp Status.
items[].linkPreviews[].previewOrdernumberRequiredPreview Order.
items[].linkPreviews[].fetchedAtnull | numberRequiredFetched At.
items[].linkPreviews[].createdAtnumberRequiredCreation time.
items[].linkPreviews[].updatedAtnumberRequiredMost recent update time.
items[].authorMemberAvatarUrlnull | stringRequiredAuthor Member Avatar Url.
items[].authorMemberProfileStylenull | objectRequiredAuthor Member Profile Style.
items[].authorMemberProfileStyle.avatarRingobjectOptionalAvatar Ring.
items[].authorMemberProfileStyle.bannerFrameobjectOptionalBanner Frame.
items[].authorMemberProfileStyle.memberNameobjectOptionalMember Name.
items[].authorMemberProfileStyle.bannerImageobjectOptionalBanner Image.
items[].authorMemberProfileStyle.avatarImageobjectOptionalAvatar Image.
items[].authorMemberProfileStyle.bannerOverlaystringOptionalBanner Overlay. Allowed values: "none", "vignette", "soft-gradient", "film-grain", "glass-blur", "pattern-dots", "pattern-grid".
items[].authorMemberProfileStyle.profileBackgroundPatternstringOptionalProfile Background Pattern. Allowed values: "grid", "none", "dots", "noise".
items[].authorMemberProfileStyle.heroLayoutstringOptionalHero Layout. Allowed values: "shell-default", "avatar-centered", "avatar-left".
items[].authorMemberProfileStyle.accentColorHexnull | stringOptionalAccent Color Hex.
items[].authorMemberProfileStyle.profileBackgroundFillobjectOptionalProfile Background Fill.
items[].authorMemberProfileStyle.pageBackgroundFillobjectOptionalPage Background Fill. Friend-only: full Friends viewport backdrop (solid/gradient).
items[].authorMemberProfileStyle.panelBackgroundFillobjectOptionalPanel Background Fill. Friend-only: profile card panel fill (free: preset solids; Pro+: custom solid/gradient).
items[].authorMemberProfileStyle.panelFillAccentHexnull | stringOptionalPanel Fill Accent Hex. Friend-only: optional accent mixed into the profile panel backdrop (Pro+).
items[].authorMemberProfileStyle.panelCardAccentHexnull | stringOptionalPanel Card Accent Hex. Friend-only: optional accent mixed into section cards (Pro+).
items[].authorMemberSystemTagnull | objectRequiredAuthor Member System Tag.
items[].authorMemberSystemTag.namestringRequiredName of the resource.
items[].authorMemberSystemTag.codestringRequiredCode.
items[].authorMemberSystemTag.colorstringRequiredColor.
items[].authorMemberSystemTag.iconstringOptionalIcon.
items[].replyTonull | objectRequiredReply To.
items[].replyTo.idstringRequiredUnique identifier.
items[].replyTo.authorMemberIdnull | stringRequiredAuthor Member Id.
items[].replyTo.authorMemberDisplayNamenull | stringRequiredAuthor Member Display Name.
items[].replyTo.authorMemberAvatarUrlnull | stringRequiredAuthor Member Avatar Url.
items[].replyTo.authorMemberProfileStylenull | objectRequiredAuthor Member Profile Style.
items[].replyTo.authorMemberSystemTagnull | objectRequiredAuthor Member System Tag.
items[].replyTo.snippetstringRequiredSnippet.
items[].replyTo.deletedAtnull | numberRequiredDeletion time; null when active.
items[].mentionsarray<object>RequiredMentions.
items[].mentions[].typestringRequiredType. Allowed values: "dynamic", "member".
items[].mentions[].idstringRequiredUnique identifier.
items[].mentions[].labelstringRequiredLabel.
items[].mentions[].hrefnull | stringRequiredHref.
items[].mentions[].isVisiblebooleanRequiredIs Visible.
items[].mentions[].fallbackReasonstringOptionalFallback Reason. Allowed values: "unknown", "hidden", "deleted".
items[].encryptedContentstringRequiredEncrypted Content. Encrypted stored content included by the current service response.
hasOlderbooleanRequiredHas Older.
hasNewerbooleanRequiredHas Newer.
anchorMessageIdstringRequiredAnchor Message Id.
nextCursornull | objectRequiredCursor for the next page; null when there are no further results.
nextCursor.beforeCreatedAtnumberRequiredCreation time in milliseconds of the last message from the previous page.
nextCursor.beforeIdstringRequiredIdentifier of the last message from the previous page.

Errors

400 · JSON error

Request failed (BAD_REQUEST).

401 · JSON error

Missing or invalid API key. Use Authorization: Bearer <token>.

403 · JSON error

Requires messaging: read; ownership or feature restrictions may also deny access.

404 · JSON error

Request failed (NOT_FOUND).

409 · JSON error

conflict.

429 · JSON error

API rate limit exceeded (1000 requests per minute). Retry shortly.

500 · JSON error

internal server error.

503 · JSON error

Object storage is not configured. Set MinIO (or compatible S3) env vars to upload files.

← Previous endpointDelete categoryNext endpoint →List messages newer

Request example

Set FLORALITY_KEY in your environment. These examples use demo identifiers.

Shell
curl --request GET 'https://floralitys.com/api/v1/messaging/channels/11111111-1111-4111-8111-111111111111/messages/around?anchorMessageId=11111111-1111-4111-8111-111111111111' \
  --header "Authorization: Bearer $FLORALITY_KEY"

Responses

Successful response.

JSON
{
  "items": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "userId": null,
      "updatedAt": 1767225600000,
      "createdAt": 1767225600000,
      "deletedAt": null,
      "version": 0,
      "spaceId": "11111111-1111-4111-8111-111111111111",
      "channelId": "11111111-1111-4111-8111-111111111111",
      "authorUserId": "11111111-1111-4111-8111-111111111111",
      "authorMemberId": null,
      "authorMemberDisplayName": null,
      "authorMemberAvatarRef": null,
      "messageType": "demo",
      "replyToMessageId": null,
      "encryptionVersion": 0,
      "encryptionKeyId": "11111111-1111-4111-8111-111111111111",
      "encryptionIv": "demo",
      "encryptionAuthTag": "demo",
      "contentFormat": "A note from our demo system.",
      "gifMetadata": {},
      "editedAt": null,
      "content": "A note from our demo system.",
      "attachments": [
        {
          "id": "11111111-1111-4111-8111-111111111111",
          "userId": null,
          "createdAt": 1767225600000,
          "sortOrder": 0,
          "spaceId": "11111111-1111-4111-8111-111111111111",
          "messageId": "11111111-1111-4111-8111-111111111111",
          "storageRef": "demo",
          "fileName": "demo.png",
          "mimeType": "image/png",
          "byteSize": 0,
          "width": null,
          "height": null,
          "durationMs": null,
          "attachmentKind": "demo"
        }
      ],
      "linkPreviews": [
        {
          "id": "11111111-1111-4111-8111-111111111111",
          "spaceId": "11111111-1111-4111-8111-111111111111",
          "channelId": "11111111-1111-4111-8111-111111111111",
          "messageId": "11111111-1111-4111-8111-111111111111",
          "url": "https://example.com/demo",
          "canonicalUrl": null,
          "finalUrl": null,
          "domain": "demo",
          "siteName": null,
          "title": null,
          "description": null,
          "imageUrl": null,
          "imageWidth": null,
          "imageHeight": null,
          "faviconUrl": null,
          "providerName": null,
          "status": "pending",
          "errorCode": null,
          "contentType": null,
          "httpStatus": null,
          "previewOrder": 0,
          "fetchedAt": null,
          "createdAt": 1767225600000,
          "updatedAt": 1767225600000
        }
      ],
      "authorMemberAvatarUrl": null,
      "authorMemberProfileStyle": null,
      "authorMemberSystemTag": null,
      "replyTo": null,
      "mentions": [
        {
          "type": "dynamic",
          "id": "11111111-1111-4111-8111-111111111111",
          "label": "demo",
          "href": null,
          "isVisible": false,
          "fallbackReason": "unknown"
        }
      ],
      "encryptedContent": "A note from our demo system."
    }
  ],
  "hasOlder": false,
  "hasNewer": false,
  "anchorMessageId": "11111111-1111-4111-8111-111111111111",
  "nextCursor": null
}

Example values are illustrative demo data.