Developer platform

One API for every customer conversation

Start a chat and send on WhatsApp, Instagram, Messenger or email with the same three fields. Forty signed webhook events push every message, ticket, call and campaign into your systems. Your AI assistant connects through MCP with no code at all.

REST + JSON ✦ 40 webhook events, HMAC-signed ✦ MCP for Claude and ChatGPT

1. Token2. Chat3. Send
token.sh

            
Run200 OKPOST /api/wp-crm/token
Acme Hotels
Webhooksyourapp.com/hooks/lodgestory

The most guest-obsessed brands trust Lodgestory to power 50M+ conversations a year

Bombay Shaving Company ELIVAAS Lyskraft COYU BBingo Hotels Bloom Hotels
Messaging API

The same request on every channel

A chat belongs to a channel, and a message belongs to a chat. Create the chat once with a name and a phone number or email, then send text, media or an approved WhatsApp template to its id. Switch channels by switching the channelId; nothing else in the request changes.

  • Three fields to send: organisationId, channelId and chatId, plus the type and the message.
  • Templates on WhatsApp Official. Name, language and body parameters, exactly as Meta approved them.
  • Partner-safe by design. Contact CRUD, message and template send, broadcasts, tickets, reports. Internal endpoints stay internal.
Open the API reference
send-message.js

                
POST /api/wp-crm/messaging/send-message
WhatsApp Officialtext · media · template
Instagram Directtext · media
Messengertext · media
Emailfrom your own domain
Web chatyour site widget

How it works

Three calls from a fresh organisation to a message on a customer's phone.

1

Get a token

Enable Developer Access, then exchange your organisation's API key and secret at POST /api/wp-crm/token for a bearer token that lives about eight days.

2

Start a chat

POST /messaging/create-chat with a name and a phone number or email on a channel. It creates the contact if needed and returns the chatId.

3

Send, then listen

POST /messaging/send-message with the chatId. Subscribe an endpoint to message.received and the reply arrives at your server, signed.

Webhooks

Every event, signed, with the whole record inside

One envelope for all forty event types: a delivery id, the event name, when it happened and the full object, so you rarely need a follow-up call. Each delivery carries an HMAC-SHA256 signature over the timestamp and the raw body. Anything other than a 2xx within ten seconds is retried, up to six attempts over about three minutes, and every attempt sits in a thirty-day log you can redeliver from.

  • At least once, unordered. Deduplicate on the delivery id and sequence on occurred_at.
  • Per-endpoint filtering. Thirty endpoints, each with its own secret, events and custom headers.
  • Automatic pause. Fifteen consecutive failures pause an endpoint; fix it and re-enable.
Webhooks reference
POST yourapp.com/hooks/lodgestory

                
X-Webhook-Signature · sha256=…
Delivery logmessage.received · 30 days
Authentication

A key per organisation, a token per session

Developer Access is switched on from Settings by an Admin or Account Owner. It issues an API key and a secret for that organisation; the secret is shown once. Exchange them for a bearer token that lives about eight days and send it on every request. Service accounts cover automations that should never sign in interactively.

  • HTTPS only. No endpoint accepts plain HTTP in production.
  • Lost a secret? Regenerate it from the same page; the old one stops working.
  • Suspended organisations answer 423 Locked with a reason and a support link, so your integration can tell a lock from a bad token.
Developer AccessSettings · Acme Hotels
API keyls_live_8f2c…a91d
Secret••••••••••••••••Shown once · copy it now
Regenerate secret
token.sh

                
200 · expires in 8 days
For platforms and ISVs

Your customers' WhatsApp numbers, onboarded by API

Call the API with your tenant's reference and a return URL and you get a one-time hosted link. Your customer opens it on a neutral page that shows your name, signs in with Facebook, picks the number and enters the two-step PIN. Lodgestory registers it, connects it as a channel in your workspace and sends them back to your URL with the new channel id, ready to send.

  • Three completion signals: the redirect, a poll endpoint and the channel.connected webhook.
  • Links live 15 minutes to 30 days, seven by default.
  • The tenant owns the account and is billed by Meta directly. Lodgestory adds no markup.
See the white-label solution
create-link.sh

                
201 · onboardingUrl
Acme BookingsConnect your WhatsApp number
Continue with Facebook
Pick the number · +91 98765 43210
Two-step PIN · ••••••
Connected · returning to app.acme.com
Webhookapp.acme.com/hooks
MCP

No code at all: your assistant works the workspace

Paste one URL into Claude or ChatGPT, sign in with your Lodgestory account and pick an organisation. The assistant can then find contacts, build segments, preview and send campaigns, assign chats, set who is available, answer Kaylee's requests, run reports and, where Voice is on, place calls, limited to what your role allows and asking before anything sensitive.

  • Connection URL: api.lodgestory.com/mcp. No API key to copy.
  • One organisation per connection, your role's permissions, confirmation before sends and calls.
Everything your AI can do
ClaudeLodgestory connected

Last week: 1,284 calls, 92% answered within 20 seconds. The call-log CSV is ready: download link (expires in 1 hour).

From sign-up to production

Step 1

Create an organisation

Sign up, name the organisation and start on the free plan. The inbox shows sample conversations until a channel is connected.

Step 2

Enable Developer Access

An Admin requests it from Settings and gets the API key and secret for that organisation.

Step 3

Make the first call

Token, create-chat, send-message. Field names in the docs are verified against the live OpenAPI spec.

Step 4

Subscribe to events

Register an endpoint, pick events, copy the signing secret, send the test event and verify the signature.

Built for partners who answer to their own customers

Every token is scoped to one organisation and every webhook delivery is signed with a secret only you hold. Public tokens never reach internal endpoints, sessions are HTTPS-only, and a suspended organisation answers 423 Locked rather than failing silently.

Visit the trust center
SOC 2 Type II aligned GDPR compliant HMAC-SHA256 signed webhooks In-region data residency

Ready to send your first message from code?

Create an organisation, enable Developer Access and run the three-call quickstart against your own workspace.

Questions, answered

What engineering teams ask before they integrate.

Create contacts and chats, send text, media and approved WhatsApp templates, create broadcasts, raise and bulk-operate tickets, manage assignments, run reports, send push notifications to your own app, place and connect voice calls, and onboard your own customers' WhatsApp numbers through a hosted page. It is the partner-safe surface of the platform, reachable at /api/wp-crm/*, with an interactive Swagger reference at api.lodgestory.com/api/docs/public.

An Admin or Account Owner enables Developer Access in Settings and gets an API key and secret, issued per organisation. Exchange them at POST /api/wp-crm/token for a bearer token that lives about eight days, and send it as Authorization: Bearer on every request. Secrets are shown once; regenerate from the same page if you lose one.

Register up to 30 HTTPS endpoints per organisation, each with its own signing secret, event selection and up to 30 custom headers. Every delivery is a JSON envelope with the full record, signed with HMAC-SHA256 over the timestamp and the raw body, delivered at least once, retried up to six times over about three minutes, and kept in a 30-day log you can replay.

Forty event types: messages sent, received and status updates, templates, tickets, contacts, chat resolution, assignment, workflow and state changes, campaigns, WhatsApp Flow responses, push devices, channels, WhatsApp groups, Instagram comments, calls answered, completed, missed, recordings and transcripts, survey responses, goals, dispositions, leads and the AI agent's requests to your team.

The API is plain HTTPS and JSON, so any language works; the docs carry copy-pasteable cURL, Node.js and Python samples, and the push channel ships reference Swift and Kotlin files for the app side. AI assistants connect without code through the MCP server at api.lodgestory.com/mcp.

A new organisation starts on the free plan with sample conversations in the inbox, so you can mint a token and exercise the API against your own workspace before connecting a live number. Webhook endpoints have a built-in test event and a delivery log with replay.

Developer APIs and webhooks | Lodgestory