Skip to main content

Try the API,
right here.

Real calls, real answers, with your own client id.

“Pick a call, press send. I’ll show you exactly what comes back.”

01

Quick start

About five minutes
  1. Register an app

    Settings → Integrations & APIs → API Keys → Register New App. Choose public (website) or confidential (server), then tick its actions and engagement types.

  2. Install and store the key

    npm install @murmurly/sdk
    npx @murmurly/sdk init

    init checks the key and writes it to .env.local, out of git.

  3. Make your first call

    const murmurly = createMurmurlyClient({
      apiKey: process.env.MURMURLY_SECRET_KEY,
      baseUrl: process.env.MURMURLY_BASE_URL
    })
    await murmurly.eventTypes.list()
02

Playground

In Murmurly: Settings → Integrations & APIs → API Keys → Register New App. Choose public and add murmurly.io to its domains. Show me

Engagement types
Requests
For agents
No parameters
curl https://api.murmurly.io/api/v1/event-types \
  -H "x-api-key: murmur_id_…"
Example response
{
  "eventTypes": [
    {
      "id": "…",
      "name": "Executive Briefing",
      "shortcode": "EBC",
      "slug": "executive-briefing"
    }
  ]
}
03

Your keys

Settings · Integrations & APIs · API Keys

Register an app and it gets an App ID. A website app needs nothing else. A server app also gets a secret, shown once.

The API Keys screen in Murmurly: registered apps on the left, and the selected app’s App ID, secret key, allowed actions and engagement types on the right.
  • murmur_id_…

    Website or form

    Public. Accepted only from the domains on the app. Safe in page source.

  • murmur_secret_…

    Server or agent

    Secret. Lives in your server’s environment, never in a browser, code or a prompt.

04

Endpoints

https://api.murmurly.io/api/v1
  • GET /event-types List engagement types Public and server
  • GET /event-types/schema Read its request form Public and server
  • GET /event-types/availability Check open days Public and server
  • POST /engagements/request Send a request Public and server
  • GET /engagements/requests Your requests Server only
  • GET /agent-guide Guide for your agent Public and server
  • GET /types.d.ts TypeScript types Public and server
  • GET /llms.txt The API, for models No key needed
05

Limits and errors

Per app · 429 comes with Retry-After
60 / hour Requests from a public app, with a burst of 20.
600 / hour Requests from a server app, with a burst of 100.
3,000 / hour Reads from a public app. 6,000 for a server app.
Idempotency-Key Send one with each request. A replay answers 200, not a second 201.
401 · 403 Unknown or revoked key, or an endpoint your app type can’t call.
Reviewed Every request lands as requested, for an organizer to accept.

Ready to build? The SDK does keys, retries and types for you.