Overview

View as MarkdownOpen in Claude

Welcome to the SignalWire REST API. Every capability on the platform — placing calls, sending messages, managing phone numbers, running video rooms, building AI agents — is reachable through a consistent set of HTTP endpoints under your Space’s subdomain.

Requests and responses are JSON over HTTPS, authenticated with your Project ID and API token. Endpoints follow standard REST conventions: predictable resource URLs, conventional HTTP verbs, and structured status codes for every outcome — including errors.

Core concepts

Before making your first call, get oriented with the shared conventions across every endpoint:

Use the REST API from your code

The SignalWire Server SDKs wrap every REST endpoint in idiomatic, type-safe client libraries — use them in production code instead of crafting HTTP requests by hand. Each SDK exposes the full REST surface (phone numbers, calling, messaging, video, fabric resources, and more) through namespaced resource objects with standard CRUD operations. Pick the language that matches your stack from the Server SDKs overview.

Try it in Postman

For developers who prefer working in Postman, we maintain an official collection that mirrors every REST endpoint with pre-built requests, example payloads, and a configurable environment for your SignalWire credentials. It’s a fully supported alternative to the API playground built into these docs.

1

Open the collection in Postman

Click Run in Postman to fork the collection into your own Postman workspace.

Run In Postman

2

Set your credentials

Open the collection’s Variables tab and fill in the three values from the API pane of your SignalWire Dashboard:

VariableValue
space_nameYour Space subdomain (e.g., example)
project_idYour Project ID
api_tokenYour API Token
Subscriber endpoints (optional)

A small number of endpoints — those scoped to an individual subscriber rather than a project — authenticate with a Subscriber Access Token (SAT) instead of Basic Auth. If you plan to call those, also set the subscriber_token variable to a token generated via the Create Subscriber Token endpoint. Endpoints that need it have their Authorization tab set to Bearer Token referencing {{subscriber_token}}; you don’t need to set it to use the rest of the collection.

3

Send your first request

Open any endpoint — try Phone Numbers to list the numbers on your project, or Messages to fire off a test SMS — and hit Send. The collection uses your credentials automatically.

Be sure to subscribe to the SignalWire Community for information on new features and changes to the API and language libraries.