Developer API

The FloatMessage API gives you programmatic access to everything you can do in the dashboard: floating messages, landing pages, domains, the knowledge base, form & survey submissions, analytics, and live chat. It is a JSON REST API under /api/v1 and is also exposed as an MCP server so AI agents can call it as native tools.

Base URL

https://floatmessage.com/api/v1

1. Create an API key

Go to Account → API Keys, create a key, and copy it. The full token (fm_live_…) is shown only once. All plans, including Free, can use the API.

2. Make your first call

Send the key as a Bearer token. The /me endpoint is a cheap way to confirm the key works and see which domain your requests resolve to.

curl https://floatmessage.com/api/v1/me \
  -H "Authorization: Bearer fm_live_YOUR_KEY"

3. List and create

# List floating messages on your primary domain
curl https://floatmessage.com/api/v1/messages \
  -H "Authorization: Bearer fm_live_YOUR_KEY"

# Create a banner message
curl -X POST https://floatmessage.com/api/v1/messages \
  -H "Authorization: Bearer fm_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Summer sale","template":"banner","htmlContent":"<div>20% off</div>"}'

Choosing a domain

Most resources are scoped to a domain. By default requests use your primary domain. Target another with the ?domain= query parameter (a hostname or domain UUID) or the X-Domain header.

curl "https://floatmessage.com/api/v1/messages?domain=acme.com" \
  -H "Authorization: Bearer fm_live_YOUR_KEY"

Response shape

List endpoints return { "data": [...] }. Single-resource endpoints return the object directly. Errors use a consistent envelope:

{ "error": { "code": "not_found", "message": "Message not found." } }

Next steps