Sign in Get started

Qevili developer guide.

A small, simple API for sending and receiving messages.

Base address

https://jzbdjgswgswqompluqwe.supabase.co/functions/v1/qevili-api

Every request needs Authorization: Bearer YOUR_KEY. Keep your key on your server, never in an app or web page. You need a Business, Starter or Pro pack.

POST /v1/messages
Authorization: Bearer YOUR_KEY

{
  "to":   "sara",
  "text": "Your order is ready for pickup."
}

200 { "message_id": "…", "request_state": "accepted" }

Routes

GET /v1/me

Check your key works. Returns your business id.

GET /v1/lookup

Find a person by number, username or email. Only people who allowed it are found.

POST /v1/messages

Send a text of up to 4096 characters. Add a client_id to avoid duplicates when you retry.

Good to know

WebhooksSet an https address. We send each customer message as JSON and expect a 2xx answer. We retry once and pause the webhook after 10 failures in a row.
SignatureThe header X-Qevili-Signature: t=<unix>,v1=<hex>. v1 is the HMAC-SHA256 of <t>.<raw body> with your webhook secret. Reject requests older than 5 minutes.
Errors400 bad request, 401 wrong key, 402 pack needed, 403 not allowed, 404 person not found, 409 waiting for the person to accept, 429 limit reached.
Limits300 messages and 60 lookups per hour. Replies within 24 hours of a customer message do not use your monthly allowance.

Full guides with your key filled in

Sign in to see the Getting started page, request log and webhook tester.