Get started
Quickstart
Sign up, create a tenant, generate an API key, and call the live API in under three minutes. Live now supports tenant management; Live now adds the actual sending endpoints.
WHAT WORKS TODAY
1. Sign up
Open the login page and click Sign up. We use Google OAuth via our auth service (the our platform sign-on). No password, no email confirmation — you're in within seconds.
First-time visitors land on an onboarding form. Type a name for your tenant (your isolated workspace) and continue.
2. Create a tenant
A tenant is your isolated workspace — its own templates, contacts, providers, API keys, and audit log. Most teams use one; some run separate tenants per brand or environment. The slug is auto-generated from the name and used in URLs and the X-Tenant-Slug header.
You can create more tenants later from the dashboard or via the API.
3. Generate an API key
From the dashboard, navigate to Configure → API keys and click Create key. Name it something descriptive — you'll thank yourself when you have eight of them.
ONE-TIME REVEAL
The format is rk_live_a3f7b2c1_… for production keys and rk_test_91e4f7d2_… for sandbox keys. The 8-char prefix is indexed and used for fast lookup; the secret after it is what gets hashed.
4. Call the API
Hit the live API from anywhere. Bearer auth via the X-Raven-Key header.
curl https://staging-api-raven-cloud.autotribes.app/v1/admin/me \
-H "Authorization: Bearer $YOUR_ASTRA_TOKEN" \
-H "X-App-Name: raven-cloud"Response:
{
"user": {
"id": "0eb6c9a2-...",
"email": "you@example.com",
"name": "Your Name"
},
"memberships": [
{
"tenantId": "8ad4f7c2-...",
"tenantSlug": "acme-co",
"tenantName": "Acme Co",
"role": "owner",
"status": "active"
}
]
}Create a new API key for your tenant:
curl -X POST https://staging-api-raven-cloud.autotribes.app/v1/admin/api-keys \
-H "Authorization: Bearer $YOUR_ASTRA_TOKEN" \
-H "X-App-Name: raven-cloud" \
-H "X-Tenant-Slug: acme-co" \
-H "Content-Type: application/json" \
-d '{
"name": "production server",
"scopes": ["messages:send", "messages:read"],
"environment": "live"
}'Response (the only time the full key is returned):
{
"id": "e8a4f...",
"prefix": "rk_live_a3f7b2c1",
"lastFour": "8c4d",
"plaintext": "rk_live_a3f7b2c1_4Hk9mPqR2vT8XzL5wY3jN6sB1cF7gE0aD8u",
"scopes": ["messages:send", "messages:read"],
"name": "production server",
"createdAt": "2026-05-01T10:23:18.114Z",
"warning": "This is the only time the full key is shown..."
}What's next
Both SMS and email are live. Add a provider in Settings → Providers and start sending. Here are the two most common first sends:
curl -X POST https://api-raven-cloud.autotribes.app/v1/messages \
-H "X-Raven-Key: rk_live_a3f7b2c1_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "sms",
"to": "+254722000000",
"body": "Hi Ada, your order #AC-1042 is on its way.",
"idempotency_key": "order-AC-1042"
}'curl -X POST https://api-raven-cloud.autotribes.app/v1/messages \
-H "X-Raven-Key: rk_live_a3f7b2c1_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "email",
"to": "ada@example.com",
"from": "orders@mail.acme.co.ke",
"subject": "Your order #AC-1042 is on its way",
"bodyHtml": "<p>Hi Ada, your order is on its way!</p>",
"bodyText": "Hi Ada, your order is on its way!",
"idempotency_key": "email-order-AC-1042"
}'For SMS, connect Africa's Talking: Africa's Talking setup guide.
For email, pick a provider: Postmark · AWS SES · SendGrid · Mailgun · Brevo · Mailjet · SMTP. Then verify a sending domain for best deliverability.