Quickstart
From zero to a delivered text and a customer reply, in five steps. You need
nothing installed except curl.
1. Sign up and pass business review
Create an account and fill in the one-page business review form during onboarding. A human reads it — usually within hours — and you get an email either way. While the review is pending the onboarding page shows an "under review" banner; once approved, the rest of onboarding unlocks.
2. Get your API key
The final onboarding step mints your API key. It is shown
exactly once — copy it into your secret store before
leaving the page. The key is a bearer token; every API call sends it as
Authorization: Bearer <key>. If you lose it, mint a new
one from the dashboard (the old key keeps working until you revoke it).
3. Send your first SMS
One POST /v1/notifications. The idempotencyKey is
required and scoped to your account: replaying the same key returns the
original record with HTTP 200 instead of sending twice; a new
key returns 201.
The response is the full notification record, including one delivery per recipient:
4. Receive replies
Attach a conversation to the send and the relay threads
inbound replies from that recipient into a transcript. kind:
"freeform" simply collects replies; approve and
refine drive structured confirm/refine flows.
The response's conversationIds array carries one conversation
ID per matched recipient. When the customer texts back, the reply is
appended to the transcript as a role: "user" entry — fetch it
any time:
Replies also land in the dashboard inbox with live streaming, so your team
can answer without writing any code. The send request additionally accepts
a callbackUrl field (a webhook the relay POSTs to when the
notification reaches a terminal status) — it is accepted and stored today,
but polling the endpoints below is the supported way to consume status and
replies until callback delivery ships.
5. Check delivery status
The notification's status walks
queued → in-flight → done (or failed /
cancelled). Each entry in deliveries tracks one
recipient with its own status
(queued | sending | sent | delivered | failed | cancelled) and
an attempts array carrying per-attempt provider message IDs,
timestamps, and errors. GET /v1/notifications lists your
sends newest-first with cursor pagination, filterable by
status.
Next steps
- Browse the full API reference — every endpoint, schema, and example.
- Use the TypeScript SDK — the same API with full type safety.
- Read the error model — one envelope, stable codes, explicit retryability.
- Questions? support@textycally.com.