CallMeter Docs

API Quick Start

Get up and running with the CallMeter REST API in under 5 minutes. Create an API key, make your first call, and explore the interactive reference.

The CallMeter API gives you programmatic access to run SIP stress tests, monitor probes, and manage your testing infrastructure. All endpoints are under /api/v1/ and return JSON.

1. Get an API Key

Create an API key from your project dashboard:

  1. Open your project in CallMeter, then click API Keys in the left sidebar
  2. Click Generate New Key
  3. Enter a descriptive name (e.g., "CI/CD Pipeline Key")
  4. Click Create
  5. Copy the key immediately -- it will not be shown again

Save your key immediately

The full key value (cmk_...) is returned only once at creation time. Store it in your secrets manager or CI/CD vault.

2. Make Your First Call

List your projects:

curl https://callmeter.io/api/v1/projects \
  -H "Authorization: Bearer cmk_YOUR_KEY"

Response:

{
  "data": [
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "slug": "production-pbx",
      "name": "Production PBX",
      "testCount": 12,
      "probeCount": 3,
      "registrarCount": 2
    }
  ],
  "meta": {
    "requestId": "...",
    "pagination": { "page": 1, "perPage": 25, "total": 1, "totalPages": 1 }
  }
}

3. Run a Test

Trigger a test run with a single POST:

curl -X POST https://callmeter.io/api/v1/projects/{projectId}/tests/{testId}/run \
  -H "Authorization: Bearer cmk_YOUR_KEY"

The response returns immediately with a testRunId and status: "PENDING". Poll the test run detail endpoint to track progress:

curl https://callmeter.io/api/v1/projects/{projectId}/test-runs/{testRunId} \
  -H "Authorization: Bearer cmk_YOUR_KEY"

4. Response Format

All responses use a consistent envelope:

Success:

{ "data": { ... }, "meta": { "requestId": "uuid" } }

Paginated:

{ "data": [ ... ], "meta": { "requestId": "uuid", "pagination": { "page": 1, "perPage": 25, "total": 100, "totalPages": 4 } } }

Error:

{ "error": { "code": "UNAUTHORIZED", "message": "Invalid or expired API key" }, "meta": { "requestId": "uuid" } }

5. Rate Limits

The API is rate-limited to 120 requests per minute per API key. When exceeded, you receive a 429 response with a Retry-After header.

Next Steps

On this page