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/post messaging attachments upload intent
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
MessagingCreate attachment upload intent

Create attachment upload intent

Creates Attachment Upload Intent using the API key’s account.

POST
/api/v1/messaging/attachments/upload-intent
messaging: read_write1,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

No path or query parameters.

Request body

application/json · required

Unknown properties are rejected.

NameTypeRequiredDescription
channelIdstring (uuid)RequiredChannel Id.
fileNamestringRequiredFile Name. Minimum length: 1. Maximum length: 255.
contentTypestringRequiredContent Type. Minimum length: 1. Maximum length: 200.
byteSizeintegerRequiredByte Size. Greater than 0.
widthinteger | nullOptionalWidth. Greater than 0.
heightinteger | nullOptionalHeight. Greater than 0.
durationMsinteger | nullOptionalDuration Ms. Greater than 0.

Response schema

201

Created.

NameTypeRequiredDescription
stagingIdstringRequiredStaging Id.
putUrlstringRequiredPut Url.
storageRefstringRequiredStorage Ref.
expiresInSecondsnumberRequiredExpires In Seconds.

Errors

400 · JSON error

Invalid JSON body.

401 · JSON error

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

403 · JSON error

Requires messaging: read_write; 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 endpointComplete attachment uploadNext endpoint →Get messaging bootstrap

Request example

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

Shell
curl --request POST 'https://floralitys.com/api/v1/messaging/attachments/upload-intent' \
  --header "Authorization: Bearer $FLORALITY_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "channelId": "11111111-1111-4111-8111-111111111111",
  "fileName": "demo.png",
  "contentType": "image/png",
  "byteSize": 1
}'

Responses

Created.

JSON
{
  "stagingId": "11111111-1111-4111-8111-111111111111",
  "putUrl": "https://example.com/demo",
  "storageRef": "demo",
  "expiresInSeconds": 0
}

Example values are illustrative demo data.