Developer documentation for the SignalWire communications platform.
Voice, video, messaging, and AI -- all programmable through a single API.
Built with Fern
Get Started · API Reference · SWML · Agents SDK · Report an Issue
This is the source repository for signalwire.com/docs -- the developer documentation for the SignalWire platform. The site is built with Fern and auto-deployed on every merge to main.
|
Products
|
SDKs
|
APIs & Languages
|
signalwire-fern-config/
├── fern/
│ ├── products/ # Guides, quickstarts, and reference docs by product
│ ├── apis/ # Generated OpenAPI specs (consumed by Fern)
│ ├── assets/ # Images, icons, and static assets
│ ├── snippets/ # Reusable MDX snippets
│ └── docs.yml # Top-level Fern config (nav, theme, layout)
├── specs/ # TypeSpec source files → compile to OpenAPI
├── scripts/ # Build and CI utilities
└── lychee.toml # Link checker configuration
Available under the Creative Commons CC BY-NC-SA 4.0 license. See LICENSE for full terms.
Whether you're fixing a typo, reporting missing information, or submitting new content -- all contributions are welcome.
- Fork the repository.
- Follow the Usage instructions to set up local development.
- Make your changes and submit a pull request.
Important
Contributions to the API docs require additional workflows.
TypeSpec source files live in specs/ and compile to OpenAPI specs in fern/apis/.
See the TypeSpec documentation for guidance on editing spec files.
API reference pages are generated from TypeSpec definitions in specs/, which compile into OpenAPI spec files consumed by Fern.
yarn build:specs # Compile TypeSpec → OpenAPI
yarn format:specs # Format spec filesPrerequisites: Node.js (v22+) and Yarn (v1).
# 1. Clone and install
git clone https://github.com/signalwire/docs.git
cd docs
yarn install
# 2. Start local dev server (live reload)
yarn start:dev
# 3. Build (compiles specs + generates Fern preview)
yarn build
yarn startrunsfern checkbefore launching the dev server -- use this to validate configuration.
Automated link checking via Lychee runs on every PR (results posted as a comment) and daily against production (Slack alerts on failure).
Run locally
# Install Lychee
brew install lychee # macOS
cargo install lychee # Linux
# Check production sitemap
yarn check-links
# Check a preview deployment
node scripts/check-links.js --sitemap https://preview-xxx.docs.buildwithfern.com/sitemap.xml
# Skip GitHub verification for faster checks
node scripts/check-links.js --skip-githubConfiguration: lychee.toml
The SignalWire Docs are maintained by the Developer Experience team.
| Questions & feedback | devex@signalwire.com |
| Support portal | support.signalwire.com |
| Community | Discord |