Skip to main content

API Keys

All API requests require authentication using a Bearer token in the Authorization header.

Key Types

A test key delivers real messages. It does not simulate anything: the message goes to WhatsApp and arrives on the handset. What makes it safe is who it can reach, not whether it sends.A zv_test_ key ignores your senders entirely and sends WhatsApp from Zavu’s shared sandbox number, only to a phone belonging to someone on your team. Any other channel is refused with 400, an unlisted recipient with 403, and POST /v1/calls with 400. Use it to exercise the API before you have a WhatsApp Business Account of your own; use a zv_live_ key for everything else.See Sending limits.

Creating API Keys

Your account is created with a live key already in it. It is on the dashboard home, masked, with a button to show it and a button to copy it — there is nothing to create before your first call. To create another (one per machine, or one per environment):
  1. Log in to your Zavu Dashboard
  2. Navigate to API Keys
  3. Click Create API Key
  4. Give it a descriptive name (e.g., “Production Server”, “Development”)
  5. Copy the key
A key can be shown again from the API Keys screen whenever you need it, so losing the tab you created it in does not lose the key. Keys created before this was possible are the exception: only their prefix is stored, and the way back is to create a new one. Revoking a key stops it authenticating and stops it being shown.

Using API Keys

In HTTP Requests

Include the key in the Authorization header:

In SDKs

Optional Headers

Zavu-Sender Header

Override the default sender for a specific request:

Idempotency Keys

Prevent duplicate message sends due to network retries:
If you retry this request with the same idempotencyKey, you’ll receive a 409 Conflict with the original message instead of sending a duplicate.

Security Best Practices

Never expose your API keys in client-side code, public repositories, or browser applications.

Do’s

  • Store keys in environment variables
  • Use different keys for development and production
  • Rotate keys periodically (every 90 days recommended)
  • Use the minimum permissions needed
  • Monitor key usage in your dashboard

Don’ts

  • Don’t commit keys to version control
  • Don’t share keys via email or chat
  • Don’t use production keys in development
  • Don’t embed keys in mobile apps or frontends

Frontend Integration

The Zavu API uses secret API keys that must never be exposed in client-side code. If you include your key in a browser app, anyone can open DevTools and steal it. Instead, use the Backend-for-Frontend (BFF) pattern: your frontend calls your own server endpoint, and your server calls the Zavu API.

Server-side proxy examples

Frontend example

React
Add your own authentication and validation to the proxy endpoint. The examples above are simplified for clarity.

Key Permissions

API keys can be scoped to specific permissions:

Revoking Keys

If a key is compromised:
  1. Go to Settings → API Keys
  2. Find the compromised key
  3. Click Revoke
  4. Create a new key
  5. Update your applications
Revoked keys are immediately invalidated and cannot be restored.

Error Responses