REST
Authorize with Authorization: Bearer da_test_.... The full schema is /openapi.json. Markdown version.
| POST | /api/v1/signup | Sandbox org and a one-time API key |
| POST | /api/v1/contacts | Contact, optional consent object |
| POST | /api/v1/contacts/:id/consent | source, text, method |
| POST | /api/v1/dnc | Internal do-not-call entry |
| POST | /api/v1/audio | ttsText or contentBase64 |
| POST | /api/v1/drops | One ringless or amd_fallback drop |
| POST | /api/v1/drops/bulk | Dry-run unless dryRun false and confirmToken |
| GET | /api/v1/drops/:id | Status, legs, follow-up SMS |
| POST | /api/v1/sms | One SMS. Body must include STOP |
| POST | /api/v1/sequences | Steps that run after a delivered drop |
| PATCH | /api/v1/settings | Caps, kill switch, hours, webhook, carrier |
Delivery webhooks send X-DropAgent-Signature as t=unix,v1=hmac of timestamp.body with the org secret.