Free tools Windows power users keep installed
One-click scans. No signup required.
The Sinch CLI lets you manage Sinch API resources from a terminal and build, run, and deploy Sinch Functions. You can use it for direct tasks—such as finding a phone number and sending an SMS—without creating a Function. For deployed, event-driven voice or messaging logic, Functions provide a separate workflow.
Install the CLI and check its requirements
Install the CLI through npm, then confirm that the sinch command is available:
As an Amazon Associate I earn from qualifying purchases.
npm install -g @sinch/cli
sinch --version
Sinch documents support for Windows 10 or later, macOS 12 or later, and modern Linux distributions. npm selects the platform’s native CLI binary; do not install with --omit=optional, because that binary is distributed as an optional dependency. The CLI itself does not require the language runtime used to develop a Function. Node.js Functions require Node.js 24 or later, while C# Functions require .NET 10 SDK or later. Check the Sinch CLI installation guide for current requirements.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteChoose authentication for a laptop or CI/CD pipeline
| Where you run the CLI | Setup | Credential handling |
|---|---|---|
| Interactive local session | Run sinch auth login, enter the Project ID, Key ID, and Key Secret, then use sinch auth status to check the session. |
The documented setup stores the key secret in the operating system’s secure credential store: Windows Credential Manager, macOS Keychain, or Linux Secret Service. Short-lived session tokens are stored under ~/.sinch/; non-secret identifiers are in ~/.sinch/config.json. |
| CI/CD pipeline | Set SINCH_PROJECT_ID, SINCH_KEY_ID, and SINCH_KEY_SECRET as protected environment variables. |
Use the pipeline’s protected-secret facility for the key secret; do not commit it to source control. The environment variables take precedence over the stored profile. |
sinch auth login
sinch auth status
Profiles can be used to switch among projects, and commands support profile selection. See Sinch’s CLI configuration guide for profile and environment-variable behavior. A local keychain-based login is suited to interactive work; environment variables avoid relying on a keychain or interactive input in a pipeline.
#1 Best Overall
Run a first number-and-SMS workflow
The quickstart describes its outcome plainly: “You’ll end up with: a rented phone number and an SMS sent to your own phone.” Its example searches for a US local number, rents one, lists active numbers, and sends a message:
sinch numbers available search --region US --type LOCAL --capabilities SMS
sinch numbers available rent
sinch numbers active list
sinch conversation send +15559876543 "Hello from the Sinch CLI!"
- Search inventory. The example uses
USas the region,LOCALas the number type, andSMSas a capability. The region is a country code; capabilities can include SMS or VOICE. Search results show the number’s capabilities and monthly cost. - Rent a number. Follow the command prompt to choose an available number. Number availability and prices depend on the inventory returned to your account.
- Find the active number. Use
sinch numbers active listto review rented numbers and identify the one to use. - Send the message. Replace the illustrative destination with a phone number you control in the format required for your use. The example number is not a real contact destination.
- Release a test number when finished. A rented number may incur recurring charges. The quickstart’s release command is
sinch numbers active release +15551234567; use the number you actually rented, not the illustrative value.
Commands and prompts are documented in the Sinch CLI quickstart. Its examples also cover sending a fax, listing SIP trunks, saving a secret for a Function, and inspecting a number’s configuration.
Use Conversation channels only after configuring the app
sinch conversation commands use the Conversation API. The command reference covers text, media, template, card, carousel, choice, location, and list message types, as well as SMS, WhatsApp, Messenger, Instagram, Viber, Telegram, RCS, and LINE channels. The channel must be configured on the target Conversation App. Selecting a channel in a command does not provision the channel or supply its credentials; an unsupported channel produces an error with guidance rather than silently switching routes.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →For SMS, follow the quickstart’s setup. For WhatsApp or another supported channel, first configure that channel on the Conversation App, then use the appropriate command options. Consult the Conversation command reference for supported message types and channel options.
Rank #3
Distinguish Voice API v2 from legacy v1
| CLI command tree | Credential model | What to keep distinct |
|---|---|---|
sinch voice calls and sinch voice services (Voice API v2) |
Project Access Key ID and Secret | Selecting the call service is separate from selecting credentials. A command can accept a service ID or use the project default. |
sinch voice v1 (legacy Voice API v1) |
Voice Application Key and Secret, supplied with -a, --app-key or SINCH_APPLICATION_KEY and SINCH_APPLICATION_SECRET |
It is a distinct command tree and does not use the v2 credential pattern. |
Voice templates use Voice API v2 and include a VOICE_SERVICE_ID; that service ID identifies a service and is not an authentication credential. The Voice CLI reference documents command behavior. Sinch’s Voice API overview describes API capabilities such as inbound and outbound calls, conferences, IVR, text-to-speech, recording, and transcription; consult the CLI reference for the operations exposed by the CLI.
Use Sinch Functions for deployed event-driven logic
Functions are useful when application code needs to receive live voice or messaging events. The CLI can initialize a template, run it locally, deploy it, and perform related operations. For example, the Functions quickstart initializes a simple voice IVR template:
sinch functions init simple-voice-ivr --name my-first-function
Initialization downloads a template and gathers configuration. Node.js projects use .env; C# projects use appsettings.json or dotnet user-secrets. Deployment packages and submits the Function. After deployment, the CLI can update a configured Voice callback URL or Conversation webhook. See the Functions quickstart and Functions command reference.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Functions are not a prerequisite for direct resource operations such as number searches, rentals, or Conversation sends. Use direct commands for discrete API and resource-management work; use a Function when you need deployed code to react to events. In a pipeline, combine noninteractive authentication with the Function’s build prerequisites and secret configuration rather than assuming local settings will carry over.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Make repeatable CLI use easier
- Use
--profilewhen a command should target a particular configured project, and keep environment overrides in mind for pipeline runs. - Use global help and version flags to inspect available commands and identify the installed CLI version.
- Use JSON output where the relevant command reference supports it, which can make scripting and downstream processing easier.
- Enable shell completion if you want command and option suggestions in an interactive shell.
- Review update-check and self-update behavior in the installation documentation before relying on a particular version in automation; CLI versions and command details can change.
For production scripts, pin and verify the CLI version in the pipeline’s setup, keep credentials in protected variables, and check command-specific options in the current reference before depending on output formats or interactive prompts.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




