https://ugatext.com/api/v1. This page is updated as they are fixed.
| Limitation | Details | Workaround |
|---|---|---|
| Campaigns API unavailable | POST /campaigns returns no response for a valid request, and GET /campaigns and GET /campaigns/{id} do not respond. | Use POST /sms/bulk, store the returned batch_id, and group messages with your own identifier in the text. See Campaigns. |
| Opt-out API requires a dashboard session | https://ugatext.com/api/opt-outs returns 401 for Client-ID and Client-Secret. | Manage your suppression list from the dashboard. See Opt-out API. |
| Recurrence not applied | Scheduling with recurrence daily returned a one off message, and the reschedule response reported recurrence none. | Schedule each message separately. See Schedule a message. |
| No endpoint lists scheduled messages | There is no endpoint that returns your scheduled messages. | Store the sched_ ID returned at creation. See Cancel or reschedule. |
| Three error body shapes | Endpoints return errors as a nested object, a flat string, or a flat string with a top-level code. | Handle all three shapes. See Error format. |
| Sandbox OTP cooldown not enforced | A second POST /verify/start 47 seconds after the first returned a new verification_id instead of 429 COOLDOWN_ACTIVE. | Do not rely on sandbox to test cooldown handling. See OTP verification testing. |

