Reliability
Idempotency, rate limits, and retry behaviour.
Idempotency
The TurkeySMS API includes duplicate-request protection designed to reduce accidental re-submission during client retries and network interruptions. The system computes a deterministic fingerprint of each send request on the server side; a repeated identical request received within a short window is detected and does not produce a second send.
This is a practical safeguard against network timeouts and retries; it is not presented as an absolute distributed-systems guarantee. It does, however, substantially reduce the risk that an accidentally repeated request turns into a duplicate SMS or charge.
Rate limits
API keys are subject to a per-minute request limit. When the limit is exceeded, the request is rejected with TS-1060 (HTTP 403). For high-volume dispatch, use the bulk endpoints (/group/send, /group/sendMixed).
Retry guidance
Thanks to idempotency protection, retrying failed requests is safe. Still, only retry on transient failures:
| Condition | Retry? |
|---|---|
| Network timeout / connection error | Yes — with backoff |
| HTTP 5xx | Yes — with backoff |
| Rate limit (TS-1060) | Yes — after waiting |
| Invalid API key (TS-1031) | No |
| Insufficient balance (TS-1027) | No |
| Insufficient permission (TS-1065) | No |