Operations
Communication
WordPress Plugins
WhatsApp for WordPress
WooCommerce ↔ Relayno Stock
SoonReservations for WordPress
SoonSocial
Facebook Auto-Posting
SoonInstagram Auto-Posting
SoonERP
Odoo Stock Management
SoonREST APIs
WhatsApp API
Stock API
SoonHMS API
SoonCompany
About
Careers
Contact
All API requests are authenticated with an API key. Keys are tenant-scoped — one key can only access the sessions and data belonging to your workspace.
Keys start with mk_live_ followed by 32 alphanumeric characters (total 40 characters). Keys are validated at the gateway before any request reaches the backend.
Pass the key via the Authorization header (preferred) or the X-API-Key header. Never pass keys in query strings — they appear in server logs.
# Option 1: Authorization header (recommended)
curl https://api.relayno.com/v1/messages \
-H "Authorization: Bearer mk_live_YOUR_API_KEY"
# Option 2: X-API-Key header
curl https://api.relayno.com/v1/messages \
-H "X-API-Key: mk_live_YOUR_API_KEY"Treat API keys like passwords. Store them in environment variables, never commit them to source control. If a key is exposed, rotate it immediately in the Relayno console — old keys are revoked instantly with no downtime.
Per IP (global)
200 requests / 15 minApplies to all endpoints combined.
Per IP (message send)
100 requests / 15 minApplies to POST /v1/messages/send.
Per API key
500 requests / 15 minAcross all endpoints for this key.
Webhook ingest
1 000 requests / 15 minPer IP — webhooks have a higher limit.
Rate-limited responses include a Retry-After header (seconds). Implement exponential back-off in your client.
# Missing key → 401
HTTP/1.1 401 Unauthorized
{"error":"missing_api_key","message":"Provide a Bearer token or X-API-Key header."}
# Invalid format → 401
HTTP/1.1 401 Unauthorized
{"error":"invalid_api_key","message":"Key format invalid. Expected mk_live_[A-Za-z0-9]{32}."}
# Revoked or unknown → 401
HTTP/1.1 401 Unauthorized
{"error":"invalid_api_key","message":"Key not recognized. Check your dashboard."}
# Rate limited → 429
HTTP/1.1 429 Too Many Requests
Retry-After: 60
{"error":"rate_limited","message":"Too many requests. Retry after 60 seconds."}401missing_api_keyNo Authorization or X-API-Key header supplied.
401invalid_api_keyKey format wrong, revoked, or not recognized.
429rate_limitedRequest rate exceeded. Respect Retry-After header.
413payload_too_largeRequest body exceeds 512 KB limit.
405method_not_allowedOnly GET, POST, OPTIONS, HEAD allowed.
Create a new key in the console, update your environment variables, then revoke the old key. Both keys are valid during the switchover window. Revocation is instant — there is no propagation delay.