API
The Voice Monkey API lets you trigger Alexa Routines, make text-to-speech announcements, start Flows and read/write variables with a simple HTTP request from anywhere.
Endpoints
Section titled “Endpoints”All endpoints live under:
https://api-v3.voicemonkey.io| Endpoint | Purpose |
|---|---|
GET/POST /announce | Play a text-to-speech announcement (and optional media) on a Speaker device. |
GET/POST /trigger | Trigger a Routine Trigger device (fires its Alexa Routine). |
GET/POST /flow | Start a Flow by its request reference. |
GET/POST /devices | List the Speakers and Routine Triggers on the authenticated account. |
GET/POST/PUT/DELETE /variables | Read, create, update or delete variables. |
POST/PUT /catch/{userId}/{webhookToken} | Receive an inbound webhook payload. |
See the per-endpoint docs for the full parameter list:
Every authenticated endpoint accepts a var-<NAME>=value shorthand parameter that upserts a variable as a side effect of the call — see Variables API → Setting variables alongside any other API call.
Versioning
Section titled “Versioning”The Voice Monkey API is currently at v3. All documentation on this site refers exclusively to v3.
- v3 — current. Hosted at
https://api-v3.voicemonkey.io. - v1 and v2 — deprecated. Existing integrations against
api-v2.voicemonkey.iocontinue to work for now, but are no longer publicly documented and will not receive new features. New integrations should target v3.
Migrating from v2 to v3 is largely a hostname swap (api-v2 → api-v3) plus a handful of small parameter changes — most notably the announcement endpoint moves from /announcement to /announce and its TTS field is now called speech (was text). See the per-endpoint pages for the exact v3 contract.
Rate limits
Section titled “Rate limits”Every account is bounded by two independent layers:
- Plan quota — a monthly request budget set by your plan (Free 200/mo, Hobby 15,000/mo, Ultimate unlimited). Hitting the cap returns a
MONTHLY_QUOTA_EXCEEDEDerror until the next billing period. - Safety throttle — a per-user burst limit that protects Alexa from runaway traffic. Tripping it triggers a short lockout during which calls return
429 Too Many Requestswith aTHROTTLED:<until>body. Independent of plan quota.
Always implement an exponential backoff on 429 responses.