Edit message
Updates edit message for the authorised account.
PATCH
/api/v1/messaging/messages/{messageId}messaging: read_write1,000 requests/minute/key · all plansActive 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
| Name | Type | Required | Description |
|---|---|---|---|
messageId | string (uuid) | Required | Identifier of the message. |
Request body
application/json · required
Unknown properties are rejected.
| Name | Type | Required | Description |
|---|---|---|---|
content | string | Required | Text content. Maximum length: 4000. |
Response schema
200
Successful response.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Required | Unique identifier. |
userId | null | string | Required | Owning account identifier. |
updatedAt | number | Required | Most recent update time. |
createdAt | number | Required | Creation time. |
deletedAt | null | number | Required | Deletion time; null when active. |
version | number | Required | Version used for optimistic concurrency checks. |
spaceId | string | Required | Space Id. |
channelId | string | Required | Channel Id. |
authorUserId | string | Required | Author User Id. |
authorMemberId | null | string | Required | Author Member Id. |
authorMemberDisplayName | null | string | Required | Author Member Display Name. |
authorMemberAvatarRef | null | string | Required | Author Member Avatar Ref. |
messageType | string | Required | Message Type. |
replyToMessageId | null | string | Required | Reply To Message Id. |
encryptionVersion | number | Required | Encryption Version. |
encryptionKeyId | string | Required | Encryption Key Id. |
encryptionIv | string | Required | Encryption Iv. |
encryptionAuthTag | string | Required | Encryption Auth Tag. |
contentFormat | string | Required | Content Format. |
gifMetadata | JSON value | Required | Gif Metadata. |
editedAt | null | number | Required | Edited At. |
content | string | Required | Text content. |
attachments | array<object> | Required | Attachments. |
attachments[].id | string | Required | Unique identifier. |
attachments[].userId | null | string | Required | Owning account identifier. |
attachments[].createdAt | number | Required | Creation time. |
attachments[].sortOrder | number | Required | Sort Order. |
attachments[].spaceId | string | Required | Space Id. |
attachments[].messageId | string | Required | Message Id. |
attachments[].storageRef | string | Required | Storage Ref. |
attachments[].fileName | string | Required | File Name. |
attachments[].mimeType | string | Required | Mime Type. |
attachments[].byteSize | number | Required | Byte Size. |
attachments[].width | null | number | Required | Width. |
attachments[].height | null | number | Required | Height. |
attachments[].durationMs | null | number | Required | Duration Ms. |
attachments[].attachmentKind | string | Required | Attachment Kind. |
linkPreviews | array<object> | Required | Link Previews. |
linkPreviews[].id | string | Required | Unique identifier. |
linkPreviews[].spaceId | string | Required | Space Id. |
linkPreviews[].channelId | string | Required | Channel Id. |
linkPreviews[].messageId | string | Required | Message Id. |
linkPreviews[].url | string | Required | Url. |
linkPreviews[].canonicalUrl | null | string | Required | Canonical Url. |
linkPreviews[].finalUrl | null | string | Required | Final Url. |
linkPreviews[].domain | string | Required | Domain. |
linkPreviews[].siteName | null | string | Required | Site Name. |
linkPreviews[].title | null | string | Required | Display title. |
linkPreviews[].description | null | string | Required | Description of the resource. |
linkPreviews[].imageUrl | null | string | Required | Image Url. |
linkPreviews[].imageWidth | null | number | Required | Image Width. |
linkPreviews[].imageHeight | null | number | Required | Image Height. |
linkPreviews[].faviconUrl | null | string | Required | Favicon Url. |
linkPreviews[].providerName | null | string | Required | Provider Name. |
linkPreviews[].status | string | Required | Status. Allowed values: "pending", "blocked", "success", "failed", "dismissed". |
linkPreviews[].errorCode | null | string | Required | Error Code. |
linkPreviews[].contentType | null | string | Required | Content Type. |
linkPreviews[].httpStatus | null | number | Required | Http Status. |
linkPreviews[].previewOrder | number | Required | Preview Order. |
linkPreviews[].fetchedAt | null | number | Required | Fetched At. |
linkPreviews[].createdAt | number | Required | Creation time. |
linkPreviews[].updatedAt | number | Required | Most recent update time. |
authorMemberAvatarUrl | null | string | Required | Author Member Avatar Url. |
authorMemberProfileStyle | null | object | Required | Author Member Profile Style. |
authorMemberProfileStyle.avatarRing | object | Optional | Avatar Ring. |
authorMemberProfileStyle.avatarRing.show | boolean | Optional | Show. Allowed values: false, true. |
authorMemberProfileStyle.avatarRing.colorHex | null | string | Optional | Color Hex. |
authorMemberProfileStyle.avatarRing.shape | string | Optional | Shape. Allowed values: "moon", "circle", "square", "hexagon", "octagon", "star", "pentagon", "heart", "shield", "sakura", "neko", "butterfly", "sparkle", "crown". |
authorMemberProfileStyle.avatarRing.gradient | null | object | Optional | Gradient. |
authorMemberProfileStyle.avatarRing.animation | string | Optional | Animation. Allowed values: "none", "pulse", "rotate", "shimmer". |
authorMemberProfileStyle.avatarRing.animationSpeed | number | Optional | Animation Speed. |
authorMemberProfileStyle.avatarRing.strokeStyle | string | Optional | Stroke Style. Allowed values: "single", "double", "glow". |
authorMemberProfileStyle.avatarRing.customMaskStorageId | string | Optional | Custom Mask Storage Id. |
authorMemberProfileStyle.avatarRing.customMaskPathD | string | Optional | Custom Mask Path D. |
authorMemberProfileStyle.bannerFrame | object | Optional | Banner Frame. |
authorMemberProfileStyle.bannerFrame.colorHex | null | string | Optional | Color Hex. |
authorMemberProfileStyle.bannerFrame.showBorder | boolean | Optional | Show Border. Allowed values: false, true. |
authorMemberProfileStyle.bannerFrame.borderWidthPx | number | Optional | Border Width Px. |
authorMemberProfileStyle.bannerFrame.borderStyle | string | Optional | Border Style. Allowed values: "none", "double", "solid", "dashed". |
authorMemberProfileStyle.bannerFrame.cornerStyle | string | Optional | Corner Style. Allowed values: "default", "rounded", "sharp". |
authorMemberProfileStyle.memberName | object | Optional | Member Name. |
authorMemberProfileStyle.memberName.fontFamily | null | string | Optional | Font Family. |
authorMemberProfileStyle.memberName.customFontId | null | string | Optional | Custom Font Id. |
authorMemberProfileStyle.memberName.colorHex | null | string | Optional | Color Hex. |
authorMemberProfileStyle.memberName.gradient | null | object | Optional | Gradient. |
authorMemberProfileStyle.memberName.letterSpacing | string | Optional | Letter Spacing. Allowed values: "normal", "wide". |
authorMemberProfileStyle.memberName.smallCaps | boolean | Optional | Small Caps. Allowed values: false, true. |
authorMemberProfileStyle.memberName.textShadow | boolean | Optional | Text Shadow. Allowed values: false, true. |
authorMemberProfileStyle.memberName.nameEffect | string | Optional | Name Effect. Allowed values: "none", "shimmer", "soft-glow". |
authorMemberProfileStyle.bannerImage | object | Optional | Banner Image. |
authorMemberProfileStyle.bannerImage.brightness | number | Optional | Brightness. |
authorMemberProfileStyle.bannerImage.contrast | number | Optional | Contrast. |
authorMemberProfileStyle.bannerImage.tintHex | null | string | Optional | Tint Hex. |
authorMemberProfileStyle.bannerImage.tintOpacity | number | Optional | Tint Opacity. |
authorMemberProfileStyle.avatarImage | object | Optional | Avatar Image. |
authorMemberProfileStyle.avatarImage.brightness | number | Optional | Brightness. |
authorMemberProfileStyle.avatarImage.contrast | number | Optional | Contrast. |
authorMemberProfileStyle.avatarImage.tintHex | null | string | Optional | Tint Hex. |
authorMemberProfileStyle.avatarImage.tintOpacity | number | Optional | Tint Opacity. |
authorMemberProfileStyle.bannerOverlay | string | Optional | Banner Overlay. Allowed values: "none", "vignette", "soft-gradient", "film-grain", "glass-blur", "pattern-dots", "pattern-grid". |
authorMemberProfileStyle.profileBackgroundPattern | string | Optional | Profile Background Pattern. Allowed values: "grid", "none", "dots", "noise". |
authorMemberProfileStyle.heroLayout | string | Optional | Hero Layout. Allowed values: "shell-default", "avatar-centered", "avatar-left". |
authorMemberProfileStyle.accentColorHex | null | string | Optional | Accent Color Hex. |
authorMemberProfileStyle.profileBackgroundFill | object | Optional | Profile Background Fill. |
authorMemberProfileStyle.profileBackgroundFill.mode | string | Optional | Mode. Allowed values: "default", "gradient", "solid". |
authorMemberProfileStyle.profileBackgroundFill.gradient | null | object | Optional | Gradient. |
authorMemberProfileStyle.profileBackgroundFill.solidHex | null | string | Optional | Solid Hex. |
authorMemberProfileStyle.pageBackgroundFill | object | Optional | Page Background Fill. Friend-only: full Friends viewport backdrop (solid/gradient). |
authorMemberProfileStyle.pageBackgroundFill.mode | string | Optional | Mode. Allowed values: "default", "gradient", "solid". |
authorMemberProfileStyle.pageBackgroundFill.gradient | null | object | Optional | Gradient. |
authorMemberProfileStyle.pageBackgroundFill.solidHex | null | string | Optional | Solid Hex. |
authorMemberProfileStyle.panelBackgroundFill | object | Optional | Panel Background Fill. Friend-only: profile card panel fill (free: preset solids; Pro+: custom solid/gradient). |
authorMemberProfileStyle.panelBackgroundFill.mode | string | Optional | Mode. Allowed values: "default", "gradient", "solid". |
authorMemberProfileStyle.panelBackgroundFill.gradient | null | object | Optional | Gradient. |
authorMemberProfileStyle.panelBackgroundFill.solidHex | null | string | Optional | Solid Hex. |
authorMemberProfileStyle.panelFillAccentHex | null | string | Optional | Panel Fill Accent Hex. Friend-only: optional accent mixed into the profile panel backdrop (Pro+). |
authorMemberProfileStyle.panelCardAccentHex | null | string | Optional | Panel Card Accent Hex. Friend-only: optional accent mixed into section cards (Pro+). |
authorMemberSystemTag | null | object | Required | Author Member System Tag. |
authorMemberSystemTag.name | string | Required | Name of the resource. |
authorMemberSystemTag.code | string | Required | Code. |
authorMemberSystemTag.color | string | Required | Color. |
authorMemberSystemTag.icon | string | Optional | Icon. |
replyTo | null | object | Required | Reply To. |
replyTo.id | string | Required | Unique identifier. |
replyTo.authorMemberId | null | string | Required | Author Member Id. |
replyTo.authorMemberDisplayName | null | string | Required | Author Member Display Name. |
replyTo.authorMemberAvatarUrl | null | string | Required | Author Member Avatar Url. |
replyTo.authorMemberProfileStyle | null | object | Required | Author Member Profile Style. |
replyTo.authorMemberProfileStyle.avatarRing | object | Optional | Avatar Ring. |
replyTo.authorMemberProfileStyle.bannerFrame | object | Optional | Banner Frame. |
replyTo.authorMemberProfileStyle.memberName | object | Optional | Member Name. |
replyTo.authorMemberProfileStyle.bannerImage | object | Optional | Banner Image. |
replyTo.authorMemberProfileStyle.avatarImage | object | Optional | Avatar Image. |
replyTo.authorMemberProfileStyle.bannerOverlay | string | Optional | Banner Overlay. Allowed values: "none", "vignette", "soft-gradient", "film-grain", "glass-blur", "pattern-dots", "pattern-grid". |
replyTo.authorMemberProfileStyle.profileBackgroundPattern | string | Optional | Profile Background Pattern. Allowed values: "grid", "none", "dots", "noise". |
replyTo.authorMemberProfileStyle.heroLayout | string | Optional | Hero Layout. Allowed values: "shell-default", "avatar-centered", "avatar-left". |
replyTo.authorMemberProfileStyle.accentColorHex | null | string | Optional | Accent Color Hex. |
replyTo.authorMemberProfileStyle.profileBackgroundFill | object | Optional | Profile Background Fill. |
replyTo.authorMemberProfileStyle.pageBackgroundFill | object | Optional | Page Background Fill. Friend-only: full Friends viewport backdrop (solid/gradient). |
replyTo.authorMemberProfileStyle.panelBackgroundFill | object | Optional | Panel Background Fill. Friend-only: profile card panel fill (free: preset solids; Pro+: custom solid/gradient). |
replyTo.authorMemberProfileStyle.panelFillAccentHex | null | string | Optional | Panel Fill Accent Hex. Friend-only: optional accent mixed into the profile panel backdrop (Pro+). |
replyTo.authorMemberProfileStyle.panelCardAccentHex | null | string | Optional | Panel Card Accent Hex. Friend-only: optional accent mixed into section cards (Pro+). |
replyTo.authorMemberSystemTag | null | object | Required | Author Member System Tag. |
replyTo.authorMemberSystemTag.name | string | Required | Name of the resource. |
replyTo.authorMemberSystemTag.code | string | Required | Code. |
replyTo.authorMemberSystemTag.color | string | Required | Color. |
replyTo.authorMemberSystemTag.icon | string | Optional | Icon. |
replyTo.snippet | string | Required | Snippet. |
replyTo.deletedAt | null | number | Required | Deletion time; null when active. |
mentions | array<object> | Required | Mentions. |
mentions[].type | string | Required | Type. Allowed values: "dynamic", "member". |
mentions[].id | string | Required | Unique identifier. |
mentions[].label | string | Required | Label. |
mentions[].href | null | string | Required | Href. |
mentions[].isVisible | boolean | Required | Is Visible. |
mentions[].fallbackReason | string | Optional | Fallback Reason. Allowed values: "unknown", "hidden", "deleted". |
encryptedContent | string | Required | Encrypted Content. Encrypted stored content included by the current service response. |
Errors
400· JSON errorRequest failed (BAD_REQUEST).
401· JSON errorMissing or invalid API key. Use Authorization: Bearer <token>.
403· JSON errorRequires messaging: read_write; ownership or feature restrictions may also deny access.
404· JSON errorRequest failed (NOT_FOUND).
409· JSON errorconflict.
429· JSON errorAPI rate limit exceeded (1000 requests per minute). Retry shortly.
500· JSON errorinternal server error.
503· JSON errorObject storage is not configured. Set MinIO (or compatible S3) env vars to upload files.
Request example
Set FLORALITY_KEY in your environment. These examples use demo identifiers.
curl --request PATCH 'https://floralitys.com/api/v1/messaging/messages/11111111-1111-4111-8111-111111111111' \
--header "Authorization: Bearer $FLORALITY_KEY" \
--header "Content-Type: application/json" \
--data '{
"content": "A note from our demo system."
}'Responses
Successful response.
{
"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."
}Example values are illustrative demo data.
