Nodd developer docs
How to send notifications and questions from programs to an iPhone and get a person's response back.
How it works
- Create a channel in the app and issue a send key
- Your program sends a message with
POST /v1/messages. The API answers202when it accepts it - It reaches the iPhones of channel members. Bodies are stored encrypted to each device and deleted once received
- For messages that need a response, read the result by polling, by callback, or from the events API
Where to go next
| Quickstart | Send your first notification and approval |
|---|---|
| API | Endpoints and field limits |
| CLI | The nodd command and exit codes |
| GitHub Action | Inputs and outputs of blipdrop/nodd-action@v1 |
| MCP and hooks | Using Nodd from AI agents, and stopping execution in Claude Code |
| Inbound URLs | Receive Grafana, Alertmanager, Datadog, Sentry, PagerDuty, and Slack format webhooks |
| Callbacks and signatures | Callbacks, verifying Nodd-Signature, and nod-respond-v1 and nod-respond-v2 |
| Error codes | Every code and what to do |
Key types
| Send key | Starts with nodd_live_s_. Sends messages, reads their state, cancels, and so on |
|---|---|
| Read key | Starts with nodd_live_r_. Works only for GET /v1/actions/events |
| Inbound key | Starts with nodd_live_i_. Part of an inbound URL |
| Reply token | Starts with rt_. Returned when you send, and reads the state of that one message only |
All keys belong to one channel. You do not name a channel in the request body.
Do not put secrets in messages. Our servers can read a body until it is encrypted.
metadata and text added to a response (a rejection reason or an input answer) are not encrypted to devices. See the Privacy Policy.The API specification is also at spec/openapi.yaml in blipdrop/nodd. For using the app, see the Manual.