Developer Portal
Create channels that Katie speakers can subscribe to. Publish messages via our REST API or SDKs and they'll be read aloud to your subscribers.
API Reference
Complete REST API documentation for the publish endpoint. Request/response schemas, authentication, and examples.
View docs →Quick Start
Publish your first message to Katie speakers in under 5 minutes. Step-by-step guide with curl, Python, and JavaScript examples.
Get started →SDKs
Official client libraries for publishing messages.
- Python SDK →
pip install katie-publisher-sdk - JavaScript SDK →
npm install katie-publisher-sdk-js
Zapier Integration
Connect Katie to thousands of apps without writing code. Publish messages and broadcast alerts from any Zapier workflow.
The Zapier connector is currently available by invite. To request access, email [email protected].
How the API works
Authentication
Each channel has a unique API key. Include the API key in your publish request body to authenticate. No bearer tokens or OAuth needed for publishing.
Publishing Messages
Send a POST request to /v1/messaging/publish with your channel API key and message text. Katie handles the text-to-speech conversion and delivers it to subscribers based on their filter settings.
Broadcasting
Need to reach everyone? Set "broadcast": true in your message metadata to bypass all subscriber filters and deliver to 100% of channel subscribers. Useful for emergency alerts or critical announcements.
TTS Override
Optionally provide a message_tts field with text optimized for speech synthesis. This lets you display one version of the message while speaking a different version tuned for pronunciation.
Message Metadata & Filtering
Attach a meta object to messages for filtering. Subscribers can set up filters so they only hear the messages that match their criteria.
Smart Publishing
Use GET /v1/messaging/subscriber-filters to fetch aggregated filter data for your channel. The SDKs provide a should_publish() method that evaluates filters locally, letting you skip publishes when no subscriber would receive the message — saving API calls and TTS costs.