Skip to main content

Overview

Cawme uses Clerk for authentication. All protected endpoints require a valid Bearer token in the Authorization header.
Authorization: Bearer <your-clerk-token>

Getting a token

Obtain your token from the Cawme dashboard or via the Clerk SDK in your application.
import { useAuth } from "@clerk/nextjs";

const { getToken } = useAuth();
const token = await getToken();

const response = await fetch("https://cawme.com/api/v1/instances", {
  headers: {
    Authorization: `Bearer ${token}`,
    "Content-Type": "application/json",
  },
});

Demo mode

For quick testing without a full Clerk setup, Cawme supports a demo token. Demo requests:
  • Use a fixed shared demo instance
  • Are rate-limited per IP
  • Require no account creation
Contact support@cawme.com to get a demo token, then use it like any other Bearer token:
curl -X POST https://cawme.com/api/v1/calls \
  -H "Authorization: Bearer <demo-token>" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceId": "<demo-instance-id>",
    "type": "FIXED_TTS",
    "target": { "phoneNumber": "+14155550123" },
    "tts": { "text": "Hello from Cawme demo!", "voiceId": "en-US-001" }
  }'