Explore the TextConvo API in five minutes, without writing any code.
Website · Developer Docs · API Reference · Support
| File | What it is |
|---|---|
| collection/TextConvo.postman_collection.json | The collection: requests, saved example responses, tests, and an HMAC pre-request script |
| collection/TextConvo.postman_environment.json | An environment template with empty secret slots for you to fill in |
- In Postman, choose Import and select both files from
collection/. - Pick the TextConvo — Sandbox template environment in the top-right selector.
- Open the environment and fill in
api_keyandsource_key. Leave their type as secret so they never sync in plain text. - Set
test_phoneto a number you own. - Send 01 Getting started → Ingest lead — minimal.
A 202 response means the lead is queued and a journey will start.
| Folder | Requests |
|---|---|
| 01 Getting started | Minimal ingest, a typical form submission, and one with CRM id, metadata, and custom fields |
| 02 Authentication | HMAC-signed request, and a deliberately unauthenticated request so you can see the 401 |
| 03 Idempotency and errors | Fixed request id to demonstrate duplicate handling, missing required field, non-whitelisted field |
| 04 Webhooks (reference) | Example lead.accepted and lead.reply payloads you can replay against your own receiver |
Every request carries a description, and the interesting ones have saved example responses so you can read the shape before you send anything.
The collection pre-request script adds X-Request-Id if you have not set one. That header is the idempotency key: retry with the same value and you get the original result back with duplicate: true instead of a second lead.
The Safe retry request in folder 03 uses a fixed id on purpose. Send it twice to watch idempotency work.
Set hmac_secret in the environment and the pre-request script computes:
X-TC-Timestamp: <unix seconds>
X-TC-Signature: hex(HMAC_SHA256(secret, timestamp + "." + rawBody))
The script resolves {{variables}} in the body before signing, which is the detail most implementations get wrong: Postman would otherwise substitute variables after the script runs and the signature would cover a different string than the one sent.
Leave hmac_secret empty if signing is not enabled for your source. See HMAC authentication.
TextConvo calls you, so there is nothing to send from Postman. Two options:
- Point
your_webhook_urlat a tunnel or a mock server and replay the payloads in folder 04. - Run one of the receivers in textconvo-webhooks and verify signatures properly.
npm install -g newman
newman run collection/TextConvo.postman_collection.json \
-e collection/TextConvo.postman_environment.json \
--env-var "api_key=$TEXTCONVO_API_KEY" \
--env-var "source_key=$TEXTCONVO_SOURCE_KEY" \
--env-var "test_phone=+15035551234"Pass secrets as environment variables in CI. Never commit a filled-in environment file.
- The committed environment file contains no credentials, and pull requests that add any will be closed.
- Requests in this collection create real leads and can start real conversations. Use a test source key and a number you own.
- Rate limits apply: 60 requests per minute and 10 per second by default. See rate limits.
| Repository | Purpose |
|---|---|
| textconvo-openapi | The specification this collection mirrors |
| textconvo-api-examples | The same calls in nine languages |
| textconvo-webhooks | Verification and receivers |
Submit the contact form and you get a direct line to Ria, the TextConvo AI orchestrator — call her for a live voice demo, or text her and watch the SMS AI reply in real time. A human follows up within one business day, and the same form is how API credentials, a source key, and a webhook secret are issued.
Handed a TextConvo QR code at an event or in a demo? Scanning it opens the same conversation. The form is simply the path that works for everyone.
Spotted a request that does not match the docs, or want a scenario added? Open an issue or send a pull request — see CONTRIBUTING.md.
MIT © TextConvo