Quickstart
From zero to a successful authenticated request in under five minutes. If you only have time for one page, this is it.
1. Get your API key
Tendral issues a bearer token (tk_live_*) per organization, scoped to one or more of tokens:read, events:read, recipients:read. Tokens are delivered via 1Password share link during integration kickoff. The plaintext is shown exactly once at issuance — store it in your secrets manager immediately.
See Authentication for full details on scopes, rotation, and the multi-token roll pattern.
2. Make your first call
The Partners API base URL is https://api.tendralhealth.com/v1/. Start with a health check (no auth needed), then a real authenticated list call:
# 1. Verify the API is reachable (no auth needed)
curl -s https://api.tendralhealth.com/v1/health | jq
# 2. Authenticated list call — replace with your tk_live_* bearer
TENDRAL_API_KEY="tk_live_xxxxxxxxxxxx"
curl -s "https://api.tendralhealth.com/v1/partners/stitched/tokens?since=2026-01-01T00:00:00Z&limit=1" \
-H "Authorization: Bearer $TENDRAL_API_KEY" | jqOn success you'll get a list-shape response with has_more, next_cursor, and a data array — empty if no recipient records have been published since your since= timestamp.
3. Handle errors
Errors carry a Stripe-style envelope with error.type, error.code, error.doc_url, and error.request_id. Branch retry logic on type; surface request_id when reporting issues.
See the full Errors reference — every code is documented with retry guidance and sample responses.
4. Receive webhooks
Tendral fires three outreach events to the URL you register:
outreach.recipients_published— pre-arrival batch (the day before send)outreach.email_sent— per-recipient delivery confirmationoutreach.email_bounced— hard-bounce notification
All signed with HMAC-SHA256 in Stripe-style multi-sig format. See the Webhooks reference for verification snippets in Node, Python, Go, and Ruby.
Where next
- Authentication — scopes, rotation, expiration
- Webhooks — event catalog + HMAC verification
- Errors — every code with retry guidance
- Rate limits · Idempotency · Pagination
- API reference — interactive Scalar explorer
