> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revdesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RevDesk API Documentation

> The RevDesk API places calls, sends messages, manages contacts and numbers, and runs tasks.

## Overview

The RevDesk API places calls, sends messages, manages contacts and numbers, and runs tasks, with custom caller ID, CNAM branding, call recording, and compliance controls.

**Base URL:** `https://api.revdesk.com/v1`

<Note>
  Building in TypeScript? Skip the raw HTTP and use the official [`@revdesk/sdk`](/api-reference/sdks) (typed
  REST client) and [`@revdesk/webrtc`](/api-reference/sdks) (browser calling). See [Official
  SDKs](/api-reference/sdks).
</Note>

## What you can do

<CardGroup cols={2}>
  <Card title="Place calls" icon="phone">
    Initiate branded outbound calls with caller ID masking and optional recording.
  </Card>

  <Card title="Manage caller IDs" icon="user-check">
    Verify phone numbers and register CNAM display names for your business.
  </Card>

  <Card title="Track usage" icon="chart-bar">
    Monitor call minutes, costs, and usage against your plan.
  </Card>

  <Card title="Get recordings" icon="circle">
    Access dual-channel call recordings for compliance and quality review.
  </Card>
</CardGroup>

## Quick start

<Steps>
  <Step title="Get your API key">
    [Create a RevDesk account](https://www.revdesk.com/signup), then create an organization-scoped key in
    **Settings → API Keys**. This is self-serve and does not require contacting sales. Choose only the scopes
    your integration needs; the plaintext key is shown once.
  </Step>

  <Step title="Verify a caller ID">
    Register and verify the phone number you want to display when making calls.
  </Step>

  <Step title="Place your first call">
    Bridge a call with [`POST /v1/calls/dial`](/api-reference/quickstart), or see [Choosing a calling
    path](/api-reference/calling-paths) to pick the right approach.
  </Step>

  <Step title="Track the outcome">
    Calls return immediately as `QUEUED`. Poll [`GET /v1/calls/{id}`](/api-reference/quickstart) for status,
    duration, and recording, or subscribe to webhooks.
  </Step>
</Steps>

New here? Start with the [Quickstart](/api-reference/quickstart) for an end-to-end first call.

## Rate limits

All endpoints are rate limited to **600 requests per minute** per API key (120/min for demo keys).
Rate-limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) are returned
on each response. The request rate is separate from how many calls can run at once. Concurrent
capacity is set by your account's provisioned call capacity. Need more? Contact us to raise it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.