API guide
Diagnose your first integration request
Identify where the request failed
Buddy API errors are JSON with error, message and request_id. If you receive HTML or plain text instead, inspect the HTTP status, response headers and network path; an intermediary may have rejected the request before Buddy processed it. Do not disable TLS verification to work around a connection error.
Check the credential and request
A 401 means the credential is missing, invalid, expired or revoked; inspect the returned code. A 403 insufficient_scope requires a key with the operation's scope. A 403 api_not_enabled applies to live access; activate it in the developer dashboard or use a test key.
For JSON writes, send Content-Type: application/json. Supply Idempotency-Key where the reference requires it. Replace path placeholders with IDs from earlier responses. Encode query values, especially a phone number's leading + as %2B; SDK query parameters handle encoding for you.
A send was accepted but nothing arrived
Check data.livemode. Test sends are simulated and never reach a phone. For a live send, inspect the returned message ID, current status, failure reason and webhook attempts. A 202 only confirms acceptance. Follow the message-failures guide before creating a replacement request.
Ask for help with useful evidence
Include the operation, UTC timestamp, HTTP status, error code and request ID, plus whether you used test or live mode. Remove API keys, OTP codes, webhook secrets and personal data from examples or screenshots. Use Buddy's contact page for support.