# Wavix Docs ## Docs - [Welcome](https://docs.wavix.com/index.md): Product guides, API references, and resources to help you integrate Wavix SMS and Voice services into your applications. - [Create a Wavix account](https://docs.wavix.com/getting-started/create-account.md): Sign up for a Wavix account, verify your email and phone number, test your integration in the sandbox, and choose an account level to go live. - [Sandbox](https://docs.wavix.com/getting-started/sandbox.md): Test SMS and voice with the Wavix API before you select an account level. Learn what the sandbox includes and its restrictions. - [Send your first SMS](https://docs.wavix.com/getting-started/send-first-sms.md): Send your first SMS with the Wavix API in a few minutes. The same request works in the sandbox and after you go live, with no code changes. - [Go live](https://docs.wavix.com/getting-started/go-live.md): Select an account level to leave the sandbox and start sending to real recipients, without changing any code. - [Send SMS messages](https://docs.wavix.com/messaging/send-sms.md): Send, manage, and track SMS and MMS messages using the Wavix Messaging API, including Sender ID registration and message delivery. - [Receive messages](https://docs.wavix.com/messaging/receive-sms.md): Receive inbound SMS and MMS with the Wavix Messaging API. Enable SMS on a number, register a webhook URL, and handle the inbound message payload. - [Wavix 2FA API overview](https://docs.wavix.com/messaging/2fa.md): Learn how the Wavix 2FA API works, including verification flows, failover logic, and service restrictions. - [Set up and configure a 2FA service](https://docs.wavix.com/messaging/2fa-setup.md): Create and manage a 2FA service in the Wavix portal. Set the code length, delivery channels, and failover before you send verification codes. - [Integrate SMS and Voice 2FA via API](https://docs.wavix.com/messaging/2fa-integration.md): Implement one-time passcode verification with the Wavix 2FA API: send a code over SMS or voice, verify the code your user enters, and handle failover. - [SMS troubleshooting guide](https://docs.wavix.com/messaging/troubleshooting.md): Troubleshoot Wavix SMS and MMS errors. Look up generic, Sender ID, delivery, and 10DLC error codes, and follow the steps to fix each one. - [SMPP](https://docs.wavix.com/messaging/smpp.md): Connect to the Wavix SMPP gateway to send and receive SMS at scale using SMPP v3.4, with bind parameters, supported PDUs, and error codes. - [Send an SMS broadcast](https://docs.wavix.com/tutorials/sms-broadcast.md): Run a bulk SMS campaign with Wavix SMS Broadcast: create a personalized template, upload a CSV contact list, launch it, and track delivery and clicks. - [10DLC Brand and Campaign registration](https://docs.wavix.com/messaging/10dlc.md): This guide explains how to register a 10DLC Brand and Campaign to send messages using US local 10-digit long codes. - [10DLC API](https://docs.wavix.com/messaging/10dlc-api.md): Register 10DLC brands and campaigns to send compliant traffic to U.S. subscribers using the Wavix API. - [Receiving message delivery reports](https://docs.wavix.com/messaging/webhooks-delivery-reports.md): Receive SMS and MMS delivery reports (DLRs) from the Wavix platform. Set a default webhook URL in the Wavix portal, or a callback URL per message. - [Using webhooks to receive inbound messages](https://docs.wavix.com/messaging/webhooks-inbound-messages.md): Set an inbound SMS webhook URL for a phone number or for your whole Wavix account, and handle the inbound message payload the Wavix platform posts. - [Webhook IP addresses](https://docs.wavix.com/messaging/webhook-ip-addresses.md): Allowlist the Wavix webhook server IP so your application can receive SMS delivery reports and inbound messages. - [How to configure 3CX SMS with Wavix](https://docs.wavix.com/messaging/guides/3cx-sms.md): This document explains how you can configure your 3CX in order to send and receive SMS and MMS messages with Wavix - [Retrieve call logs (CDRs)](https://docs.wavix.com/voice/cdr.md): Query and export Call Detail Records (CDRs) with the Wavix API in CSV or JSON, including call duration, numbers, price, and summary metrics. - [Answering Machine Detection (AMD)](https://docs.wavix.com/voice/answering-machine-detection.md): Use Wavix Answering Machine Detection (AMD) to end outbound calls answered by voicemail, so your agents spend time only on live conversations. - [Getting started with Voice AI](https://docs.wavix.com/voice/voice-ai.md): Add artificial intelligence to your voice communications with real-time speech processing, natural conversation, and intelligent call handling. - [Stream calls with WebSocket](https://docs.wavix.com/voice/call-streaming.md): Stream live call audio to your application over a WebSocket, with unidirectional and bidirectional modes, pcm16 audio, and support for AI voice agents. - [How to connect ElevenLabs Agents with Wavix](https://docs.wavix.com/sip-trunking/guides/elevenlabs.md): This guide explains how to connect ElevenLabs Agents with Wavix voice infrastructure to place and receive calls. - [How to connect LiveKit AI voice agents with Wavix](https://docs.wavix.com/sip-trunking/guides/livekit.md): This guide explains connecting LiveKit AI voice agents with Wavix voice infrastructure to place and receive calls. - [How to connect Wavix to the OpenAI Realtime API](https://docs.wavix.com/sip-trunking/guides/openai.md): Route inbound calls from your Wavix phone number to the OpenAI Realtime API, using a SIP trunk and a webhook to hand each call to your voice agent. - [How to connect Vapi voice AI agents with Wavix](https://docs.wavix.com/sip-trunking/guides/vapi.md): This guide explains how to connect Vapi AI agents with Wavix voice infrastructure to place and receive calls. - [How to connect Retell AI voice agents with Wavix](https://docs.wavix.com/sip-trunking/guides/retellai.md): This guide explains how to connect Retell AI agents with Wavix voice infrastructure, import phone numbers, and make and receive calls. - [Call transcription with Speech Analytics API](https://docs.wavix.com/voice/call-transcription.md): Transcribe calls you make or receive on the Wavix platform, then search those transcriptions for keywords and phrases with the Speech Analytics API. - [Call transcription with Speech Analytics API (file upload)](https://docs.wavix.com/voice/file-transcription.md): How to use the Wavix Speech Analytics API to transcribe uploaded call recordings and search transcriptions for keywords. - [Voice Campaigns with Campaign Builder API](https://docs.wavix.com/voice/campaign-builder.md): Trigger and manage automated outbound voice campaigns with the Wavix Campaign Builder API, using call scenarios you design in the Wavix portal. - [How to create a SIP trunk](https://docs.wavix.com/sip-trunking/create-sip-trunk.md): Create a SIP trunk in the Wavix portal: choose Digest or IP authentication, set a Caller ID and call limits, and enable recording or transcription. - [SIP Trunks API overview](https://docs.wavix.com/sip-trunking/sip-trunks.md): Create, list, configure, and delete SIP trunks and assign phone numbers to them with the Wavix SIP Trunking API, with examples for each endpoint. - [Wavix IP addresses](https://docs.wavix.com/sip-trunking/ip-allowlisting.md): Allowlist the Wavix IP addresses and ports for SIP signaling, RTP media, webhooks, and call streaming so calls and callbacks reach your network. - [SIP Trunking setup guides](https://docs.wavix.com/sip-trunking/guides/setup-guides.md): Connect 3CX, Asterisk, FreePBX, FreeSWITCH, Zoiper, or any other IP-PBX to Wavix SIP trunks, with generic settings for platforms not listed here. - [How to configure 3CX with Wavix](https://docs.wavix.com/sip-trunking/guides/3cx.md): Configure 3CX with Wavix SIP trunks for inbound and outbound calls, using IP authentication, trunk settings, outbound rules, and inbound routing. - [How to configure FreeSWITCH using Wavix SIP trunks](https://docs.wavix.com/sip-trunking/guides/freeswitch.md): Step-by-step guide for connecting FreeSWITCH to Wavix SIP trunks, including authentication, dialplan setup, redundancy, and troubleshooting. - [How to configure Asterisk using Wavix SIP trunks](https://docs.wavix.com/sip-trunking/guides/asterisk.md): This guide provides a basic configuration of Asterisk to make inbound and outbound calls over the Wavix network - [How to configure Zoiper using Wavix SIP trunks](https://docs.wavix.com/sip-trunking/guides/zoiper.md): Connect the Zoiper softphone to a Wavix SIP trunk. Install Zoiper, enter your SIP credentials, and place and receive your first call in minutes. - [How to configure FreePBX using Wavix SIP trunks](https://docs.wavix.com/sip-trunking/guides/freepbx.md): This guide provides a basic configuration of FreePBX to make inbound and outbound calls over the Wavix network - [How to buy a phone number](https://docs.wavix.com/numbers/buy-number.md): Buy a phone number in the Wavix portal: pick a country and number type, browse the available inventory, and complete checkout to activate it. - [How to port a phone number](https://docs.wavix.com/numbers/number-porting.md): Port your existing phone number to Wavix and keep the same number. Learn what documents you need, each step of the process, and how to track it. - [Numbers API Overview](https://docs.wavix.com/numbers/numbers.md): Search, buy, configure, and release phone numbers in over 140 countries with the Wavix Numbers API. Includes request and response examples. - [Number Validator](https://docs.wavix.com/numbers/number-validator-portal.md): Validate phone numbers in the Wavix portal: upload a list, choose format, analysis, or validation, and export carrier and reachability results. - [Number Validator API](https://docs.wavix.com/numbers/number-validator.md): Check phone number validity, reachability, roaming, and carrier details with the Wavix Number Validator API, one number or a batch per request. - [Wavix MCP server](https://docs.wavix.com/mcp/overview.md): Connect any MCP-compatible AI client to your Wavix account and manage SMS, voice, numbers, and more through natural language. - [Getting started](https://docs.wavix.com/api-reference/getting-started.md): Get started with the Wavix API: prerequisites, API keys and authentication, per-endpoint versioning, base URLs, and sandbox limitations. - [Authentication](https://docs.wavix.com/api-reference/authentication.md): Authenticate Wavix API requests with a Bearer token. Covers creating an API key, restricted key scopes, IP restrictions, and code examples. - [OpenAPI specification](https://docs.wavix.com/api-reference/openapi.md): Download the Wavix API OpenAPI specification in YAML or JSON, and use it with Swagger UI, Postman, or an SDK generator of your choice. - [List API keys](https://docs.wavix.com/api-reference/api-keys/list-api-keys.md): Returns the API keys belonging to the authenticated account. - [Create an API key](https://docs.wavix.com/api-reference/api-keys/create-an-api-key.md): Creates an API key for the authenticated account. Restrict access by listing permitted IP addresses in `permitted_ips`. - [Delete an API key](https://docs.wavix.com/api-reference/api-keys/delete-an-api-key.md): Deletes the API key identified by `id`. Deletion is permanent and revokes the key immediately. - [Update an API key](https://docs.wavix.com/api-reference/api-keys/update-an-api-key.md): Updates an API key identified by `id`. Only the provided fields are changed. - [List SIP trunks](https://docs.wavix.com/api-reference/sip-trunks/list-sip-trunks.md): Returns a paginated list of SIP trunks for the authenticated account. - [Create a SIP trunk](https://docs.wavix.com/api-reference/sip-trunks/create-a-sip-trunk.md): Creates a SIP trunk for routing inbound and outbound calls. Returns the trunk with its generated `access_token`. - [Retrieve a SIP trunk](https://docs.wavix.com/api-reference/sip-trunks/retrieve-a-sip-trunk.md): Returns the SIP trunk identified by `id`. - [Update a SIP trunk](https://docs.wavix.com/api-reference/sip-trunks/update-a-sip-trunk.md): Replaces the configuration of the SIP trunk identified by `id`. Omitted fields revert to their defaults. - [Delete a SIP trunk](https://docs.wavix.com/api-reference/sip-trunks/delete-a-sip-trunk.md): Deletes the SIP trunk identified by `id`. Deletion is permanent and stops call routing through the trunk. - [List countries](https://docs.wavix.com/api-reference/buy/list-countries.md): Returns a list of countries where phone numbers are available. - [List regions](https://docs.wavix.com/api-reference/buy/list-regions.md): Returns a list of regions (states or provinces) for countries where `has_provinces_or_states` is `true`. - [List cities](https://docs.wavix.com/api-reference/buy/list-cities.md): Returns a list of cities for countries where `has_provinces_or_states` is `false`. - [List region cities](https://docs.wavix.com/api-reference/buy/list-region-cities.md): Returns a list of cities in the specified region for countries where `has_provinces_or_states` is `true`. - [List available phone numbers](https://docs.wavix.com/api-reference/buy/list-available-phone-numbers.md): Returns a paginated list of phone numbers available for purchase in the specified city. - [Retrieve the cart](https://docs.wavix.com/api-reference/cart/retrieve-the-cart.md): Returns the current purchase cart, including the phone numbers it contains and the documents each requires. - [Add to cart](https://docs.wavix.com/api-reference/cart/add-to-cart.md): Adds the listed phone numbers to the purchase cart. - [Remove from cart](https://docs.wavix.com/api-reference/cart/remove-from-cart.md): Removes the listed phone numbers from the purchase cart. - [Check out the cart](https://docs.wavix.com/api-reference/cart/check-out-the-cart.md): Purchases the listed phone numbers from the cart. Activation and monthly fees are deducted from the account balance. - [List phone numbers](https://docs.wavix.com/api-reference/my-numbers/list-phone-numbers.md): Returns a paginated list of the phone numbers owned by the authenticated account. - [Release phone numbers](https://docs.wavix.com/api-reference/my-numbers/release-phone-numbers.md): Releases the listed phone numbers back to stock. Selection accepts either `ids` (record IDs) or `dids` (phone numbers), but not both. - [Bulk update phone numbers](https://docs.wavix.com/api-reference/my-numbers/bulk-update-phone-numbers.md): Applies the same changes to every listed phone number. Only the provided fields are changed. Destination and SMS callback changes are applied asynchronously and may not be reflected in the response immediately. - [Retrieve a phone number](https://docs.wavix.com/api-reference/my-numbers/retrieve-a-phone-number.md): Returns the phone number identified by `id`, including its destinations, documents, and feature settings. - [Update a phone number](https://docs.wavix.com/api-reference/my-numbers/update-a-phone-number.md): Updates the phone number identified by `id`. Only the provided fields are changed. - [Upload a document](https://docs.wavix.com/api-reference/my-numbers/upload-a-document.md): Uploads a verification document for one or more phone numbers. Uploaded files must meet the following requirements: - Allowed formats: PNG, JPG, JPEG, TIFF, BMP, or PDF - Maximum file size: 10 MB - Files can't be password protected - PDF files must not contain digital signatures - [List CDRs](https://docs.wavix.com/api-reference/cdrs/list-cdrs.md): Returns a paginated list of call detail records for the authenticated account, within the requested date range. - [Search transcriptions](https://docs.wavix.com/api-reference/cdrs/search-transcriptions.md): Searches call transcriptions for the given keywords or phrases and returns the matching CDRs with their transcriptions. - [Transcribe a call recording](https://docs.wavix.com/api-reference/cdrs/transcribe-a-call-recording.md): Transcribes the recording of the call identified by `call_id`. Transcription is asynchronous; poll the transcription endpoint for the result. - [Retrieve a transcription](https://docs.wavix.com/api-reference/cdrs/retrieve-a-transcription.md): Returns the transcription of the recorded call identified by `call_id`, including the transcript, speaker turns, and summary. - [Retrieve a transcription](https://docs.wavix.com/api-reference/cdrs/retrieve-a-transcription-1.md): Returns the transcription of the recorded call identified by `call_id`. Alias of the `transcription` endpoint. - [Retrieve a CDR](https://docs.wavix.com/api-reference/cdrs/retrieve-a-cdr.md): Returns the call detail record for the call identified by `call_id`. - [Export CDRs](https://docs.wavix.com/api-reference/cdrs/export-cdrs.md): Streams matching call detail records as newline-delimited JSON (NDJSON), one record per line, for bulk export. - [List call recordings](https://docs.wavix.com/api-reference/call-recording/list-call-recordings.md): Returns a paginated list of call recordings for the authenticated account, filtered by date range, number, call, or SIP trunk. - [Retrieve a recording by call ID](https://docs.wavix.com/api-reference/call-recording/retrieve-a-recording-by-call-id.md): Redirects to the recording file for the call identified by `call_id`. The download URL is returned in the `Location` header. - [Retrieve a recording](https://docs.wavix.com/api-reference/call-recording/retrieve-a-recording.md): Returns the call recording identified by `id`, including its metadata and download URL. - [Delete a call recording](https://docs.wavix.com/api-reference/call-recording/delete-a-call-recording.md): Deletes the call recording identified by `id`. Deletion is permanent and removes the recording file. - [Upload a file](https://docs.wavix.com/api-reference/speech-analytics/upload-a-file.md): Uploads an audio file for transcription. Transcription is asynchronous; Wavix sends a POST callback to `callback_url` when it completes, including the `request_id` returned by this request. - [Retrieve a transcription](https://docs.wavix.com/api-reference/speech-analytics/retrieve-a-transcription.md): Returns the transcription for the request identified by `request_id`, including transcript, speaker turns, and insights when available. - [Retranscribe a file](https://docs.wavix.com/api-reference/speech-analytics/retranscribe-a-file.md): Re-runs transcription on the file identified by `request_id`, replacing the existing transcript. - [Retrieve the original file](https://docs.wavix.com/api-reference/speech-analytics/retrieve-the-original-file.md): Returns the original audio file submitted for the transcription identified by `request_id`. - [Audio file transcription completed](https://docs.wavix.com/api-reference/speech-analytics/audio-file-transcription-completed.md): Sends a notification when an audio file transcription is complete. - [Call transcription completed](https://docs.wavix.com/api-reference/speech-analytics/call-transcription-completed.md): Sends a notification when a call transcription is complete. - [List call webhooks](https://docs.wavix.com/api-reference/call-webhooks/list-call-webhooks.md): Returns the configured call webhooks for the authenticated account. Wavix sends POST callbacks for `on-call` and `post-call` events. - [Create a call webhook](https://docs.wavix.com/api-reference/call-webhooks/create-a-call-webhook.md): Registers a callback URL for the `on-call` or `post-call` event. Wavix sends a POST callback to the URL when the event occurs. - [Delete a call webhook](https://docs.wavix.com/api-reference/call-webhooks/delete-a-call-webhook.md): Removes the call webhook for the given event type. Wavix stops sending callbacks for that event. - [On call event](https://docs.wavix.com/api-reference/call-webhooks/on-call-event.md): Sends a notification to track the lifecycle of an active call.status updates. It's triggered when a call is initiated, answered, and ends. - [Post call event](https://docs.wavix.com/api-reference/call-webhooks/post-call-event.md): The `post-call` callback includes details such as call disposition, duration, and cost. It's triggered after the call ends. - [List active calls](https://docs.wavix.com/api-reference/call-control/list-active-calls.md): Returns the calls currently in progress for the authenticated account. - [Start a call](https://docs.wavix.com/api-reference/call-control/start-a-call.md): Places an outbound call. Returns the call with its `uuid` for tracking and control. - [Retrieve a call](https://docs.wavix.com/api-reference/call-control/retrieve-a-call.md): Returns the call identified by `id`, including its current event and timestamps. - [End a call](https://docs.wavix.com/api-reference/call-control/end-a-call.md): Ends the active call identified by `id` by hanging up. - [Update a call](https://docs.wavix.com/api-reference/call-control/update-a-call.md): Updates the active call identified by `id`. Only the `tag` field can be changed. - [Answer a call](https://docs.wavix.com/api-reference/call-control/answer-a-call.md): Answers the inbound call identified by `id`. Optionally starts media streaming on answer. - [Play audio](https://docs.wavix.com/api-reference/call-control/play-audio.md): Plays an audio prompt into the active call identified by `id`. - [Stop audio playback](https://docs.wavix.com/api-reference/call-control/stop-audio-playback.md): Stops audio playback in the active call identified by `id`. - [Collect DTMF input](https://docs.wavix.com/api-reference/call-control/collect-dtmf-input.md): Collects DTMF keypad input from the caller on the active call identified by `id`. - [Start call streaming](https://docs.wavix.com/api-reference/call-streaming/start-call-streaming.md): Starts streaming the media of the call identified by `call_id` to the configured destination. Returns the `stream_id`. - [Stop call streaming](https://docs.wavix.com/api-reference/call-streaming/stop-call-streaming.md): Stops the media stream identified by `id` on the call identified by `call_id`. - [List widget tokens](https://docs.wavix.com/api-reference/wavix-embeddable/list-widget-tokens.md): Returns a paginated list of active Wavix Embeddable widget tokens for the authenticated account. - [Create a widget token](https://docs.wavix.com/api-reference/wavix-embeddable/create-a-widget-token.md): Creates a Wavix Embeddable widget token that authenticates a browser-based softphone session. The token expires after `ttl` seconds. - [Retrieve a widget token](https://docs.wavix.com/api-reference/wavix-embeddable/retrieve-a-widget-token.md): Returns the Wavix Embeddable widget token identified by `id`. - [Update a widget token](https://docs.wavix.com/api-reference/wavix-embeddable/update-a-widget-token.md): Updates the `payload` carried by the Wavix Embeddable widget token identified by `id`. - [Delete a widget token](https://docs.wavix.com/api-reference/wavix-embeddable/delete-a-widget-token.md): Deletes the Wavix Embeddable widget token identified by `id`. The token can no longer authenticate widget sessions, and any active session using it ends. - [List Sender IDs](https://docs.wavix.com/api-reference/sms-and-mms/list-sender-ids.md): Returns the Sender IDs registered for the authenticated account. - [Create a Sender ID](https://docs.wavix.com/api-reference/sms-and-mms/create-a-sender-id.md): Creates a Sender ID. Use the 10DLC API to create Sender IDs in the US. - [Retrieve a Sender ID](https://docs.wavix.com/api-reference/sms-and-mms/retrieve-a-sender-id.md): Returns the Sender ID identified by `id`. - [Delete a Sender ID](https://docs.wavix.com/api-reference/sms-and-mms/delete-a-sender-id.md): Deletes the Sender ID identified by `id`. Deletion is permanent. - [List opted-out phone numbers](https://docs.wavix.com/api-reference/sms-and-mms/list-opted-out-phone-numbers.md): Returns a paginated list of phone numbers that have opted out of receiving messages from the authenticated account. - [Create an opt-out](https://docs.wavix.com/api-reference/sms-and-mms/create-an-opt-out.md): Opts a phone number out of receiving messages from a Sender ID, a 10DLC campaign, or all outbound messages. - [List messages](https://docs.wavix.com/api-reference/sms-and-mms/list-messages.md): Returns a paginated list of SMS and MMS messages for the authenticated account, filtered by direction, date, and other criteria. - [Send a message](https://docs.wavix.com/api-reference/sms-and-mms/send-a-message.md): Sends an SMS or MMS message. MMS is supported for U.S. numbers only. Track delivery using the returned `message_id` and the message status callback. **Rate limit**: 20 messages per phone number in 24 hours. - [Retrieve a message](https://docs.wavix.com/api-reference/sms-and-mms/retrieve-a-message.md): Returns the SMS or MMS message identified by `id`, including its delivery status and content. - [Export messages](https://docs.wavix.com/api-reference/sms-and-mms/export-messages.md): Streams matching SMS and MMS messages as newline-delimited JSON (NDJSON), one message per line, for bulk export. - [Delivery report](https://docs.wavix.com/api-reference/sms-and-mms/delivery-report.md): Sends a notification when an outbound message delivery status changes. - [Inbound message](https://docs.wavix.com/api-reference/sms-and-mms/inbound-message.md): Sends a notification when a message is received by an SMS-enabled phone number. - [List 10DLC Brands](https://docs.wavix.com/api-reference/10dlc/list-10dlc-brands.md): Returns a paginated list of 10DLC Brands for the authenticated account, filtered by date, name, legal name, and status. - [Register a 10DLC Brand](https://docs.wavix.com/api-reference/10dlc/register-a-10dlc-brand.md): Registers a 10DLC Brand. TCR automatically verifies the brand identity. Only brands with `VERIFIED` or `VETTED_VERIFIED` identity status can register 10DLC Campaigns. - [Retrieve a 10DLC Brand](https://docs.wavix.com/api-reference/10dlc/retrieve-a-10dlc-brand.md): Returns the 10DLC Brand identified by `brand_id`. - [Update a 10DLC Brand](https://docs.wavix.com/api-reference/10dlc/update-a-10dlc-brand.md): Updates the 10DLC Brand identified by `brand_id`. Changing identity fields, including `ein_taxid`, `ein_taxid_country`, and `entity_type`, resets the Brand status to `UNVERIFIED` and triggers automatic re-submission. Brands in `VETTED_VERIFIED` status or with active Campaigns cannot be updated. - [Delete a 10DLC Brand](https://docs.wavix.com/api-reference/10dlc/delete-a-10dlc-brand.md): Deletes a 10DLC Brand. Brands with active campaigns cannot be deleted. - [List Brand identity appeals](https://docs.wavix.com/api-reference/10dlc/list-brand-identity-appeals.md): Returns the identity verification appeals submitted for the 10DLC Brand identified by `brand_id`. - [Appeal a 10DLC Brand identity verification](https://docs.wavix.com/api-reference/10dlc/appeal-a-10dlc-brand-identity-verification.md): Submits an appeal for 10DLC brand identity verification. Provide any additional documentation to support the appeal. Use `appeal_category` to specify the appeal type: - `VERIFY_TAX_ID` — Use if the brand is UNVERIFIED due to a tax ID mismatch. Applies to private companies, public companies, non-prof… - [List Brand evidence](https://docs.wavix.com/api-reference/10dlc/list-brand-evidence.md): Returns the evidence files uploaded for the 10DLC Brand identified by `brand_id`. - [Upload Brand evidence](https://docs.wavix.com/api-reference/10dlc/upload-brand-evidence.md): Uploads a supporting evidence file for the 10DLC Brand identified by `brand_id`. Supported formats include `.jpg`, `.png`, and `.pdf`. Maximum size is 10 MB. - [Download Brand evidence](https://docs.wavix.com/api-reference/10dlc/download-brand-evidence.md): Returns the Brand evidence file identified by the evidence ID. - [Delete Brand evidence](https://docs.wavix.com/api-reference/10dlc/delete-brand-evidence.md): Deletes the Brand evidence file identified by the evidence ID. Deletion is permanent. - [List external vettings](https://docs.wavix.com/api-reference/10dlc/list-external-vettings.md): Returns the external vettings for the 10DLC Brand identified by `brand_id`. - [Import external vetting](https://docs.wavix.com/api-reference/10dlc/import-external-vetting.md): Imports an existing external vetting record into the 10DLC Brand identified by `brand_id`. - [Request external vetting](https://docs.wavix.com/api-reference/10dlc/request-external-vetting.md): Requests external vetting for a 10DLC Brand. Supported providers: `AEGIS`, `CV`, `WMC`. Supported classes: `STANDARD`, `ENHANCED`. - [List external vetting appeals](https://docs.wavix.com/api-reference/10dlc/list-external-vetting-appeals.md): Returns the external vetting appeals for the 10DLC Brand identified by `brand_id`. - [Appeal external vetting](https://docs.wavix.com/api-reference/10dlc/appeal-external-vetting.md): Submits an appeal for an external vetting of the 10DLC Brand identified by `brand_id`. - [Qualify a 10DLC Brand for a use case](https://docs.wavix.com/api-reference/10dlc/qualify-a-10dlc-brand-for-a-use-case.md): Returns the qualification results for a 10DLC Brand use case. Includes MNO-specific attributes, restrictions, and fees. - [List 10DLC Campaigns](https://docs.wavix.com/api-reference/10dlc/list-10dlc-campaigns.md): Returns a paginated list of 10DLC Campaigns for the authenticated account, filtered by date, status, and use case. - [List Brand Campaigns](https://docs.wavix.com/api-reference/10dlc/list-brand-campaigns.md): Returns a paginated list of 10DLC Campaigns associated with the 10DLC Brand identified by `brand_id`. - [Register a 10DLC Campaign](https://docs.wavix.com/api-reference/10dlc/register-a-10dlc-campaign.md): Registers a 10DLC Campaign under the 10DLC Brand identified by `brand_id`. The Brand must have a verified identity status. - [Retrieve a 10DLC Campaign](https://docs.wavix.com/api-reference/10dlc/retrieve-a-10dlc-campaign.md): Returns the 10DLC Campaign identified by `campaign_id` under the Brand identified by `brand_id`. - [Update a 10DLC Campaign](https://docs.wavix.com/api-reference/10dlc/update-a-10dlc-campaign.md): Updates the 10DLC Campaign identified by `campaign_id`. Only the provided fields are changed. - [Delete a 10DLC Campaign](https://docs.wavix.com/api-reference/10dlc/delete-a-10dlc-campaign.md): Deletes a 10DLC Campaign. Associated phone numbers cannot be used as Sender IDs once the Campaign is deleted. - [List event subscriptions](https://docs.wavix.com/api-reference/10dlc/list-event-subscriptions.md): Returns the 10DLC event subscriptions for the authenticated account. - [Subscribe to 10DLC events](https://docs.wavix.com/api-reference/10dlc/subscribe-to-10dlc-events.md): Registers a callback URL to receive Wavix 10DLC event notifications. - [Delete event subscription](https://docs.wavix.com/api-reference/10dlc/delete-event-subscription.md): Removes the 10DLC event subscription for the specified event category. - [Link a number to a 10DLC Campaign](https://docs.wavix.com/api-reference/10dlc/link-a-number-to-a-10dlc-campaign.md): Links a phone number to a 10DLC Campaign. Wavix automatically creates a Sender ID once the number is approved. - [Unlink phone number](https://docs.wavix.com/api-reference/10dlc/unlink-phone-number.md): Unlinks a phone number from a 10DLC Campaign. The associated Sender ID is also deleted. - [List Campaign phone numbers](https://docs.wavix.com/api-reference/10dlc/list-campaign-phone-numbers.md): Returns the phone numbers linked to the 10DLC Campaign identified by `campaign_id`. - [Nudge a 10DLC Campaign review](https://docs.wavix.com/api-reference/10dlc/nudge-a-10dlc-campaign-review.md): Requests action on a pending or rejected 10DLC Campaign. Use `nudge_intent` to specify the action: - `REVIEW`: Request review for a pending Campaign. - `APPEAL_REJECTION`: Appeal a rejected Campaign. Note: - The Campaign must be at least 72 hours old. - Only one nudge request per Campaign is allowe… - [Brand status changed](https://docs.wavix.com/api-reference/10dlc/brand-status-changed.md): Sends a notification when a 10DLC Brand status is updated. - [Campaign status changed](https://docs.wavix.com/api-reference/10dlc/campaign-status-changed.md): Sends a notification when a 10DLC Campaign status is updated in TCR. - [Number status changed](https://docs.wavix.com/api-reference/10dlc/number-status-changed.md): Sends a notification when a phone number status is updated. - [Validate a number](https://docs.wavix.com/api-reference/number-validator/validate-a-number.md): Validates a single phone number and returns line type, carrier, portability, and reachability details. - [Validate multiple numbers](https://docs.wavix.com/api-reference/number-validator/validate-multiple-numbers.md): Validates a batch of phone numbers. When `async` is `true`, returns a `request_id` to poll for results instead of the validation details. - [Retrieve validation results](https://docs.wavix.com/api-reference/number-validator/retrieve-validation-results.md): Returns the results of an asynchronous batch validation identified by `request_id`. - [Trigger a scenario](https://docs.wavix.com/api-reference/voice-campaigns/trigger-a-scenario.md): Launches a voice campaign that places an outbound call using a pre-configured scenario. Track progress with the returned voice campaign `id`. - [Retrieve a voice campaign](https://docs.wavix.com/api-reference/voice-campaigns/retrieve-a-voice-campaign.md): Returns the voice campaign identified by `id`, including its current status. - [Create a short link](https://docs.wavix.com/api-reference/link-shortener/create-a-short-link.md): Creates a short link that redirects to the target URL and tracks click metrics. - [List short link metrics](https://docs.wavix.com/api-reference/link-shortener/list-short-link-metrics.md): Returns per-click metrics for short links, including device, location, and campaign attribution, within the requested date range. - [Create a 2FA Verification](https://docs.wavix.com/api-reference/2fa/create-a-2fa-verification.md): Creates a 2FA verification and sends a one-time password (OTP) to the destination phone number over the selected channel. Requires a 2FA service configured in the Wavix portal; the service is reused to generate and validate OTPs. - [List 2FA verifications](https://docs.wavix.com/api-reference/2fa/list-2fa-verifications.md): Returns the 2FA verifications for the service identified by `service_id`, within the requested date range. - [Resend a code](https://docs.wavix.com/api-reference/2fa/resend-a-code.md): Resends the OTP for the verification identified by `session_id` over the specified channel. Previously sent codes are invalidated. - [Validate a code](https://docs.wavix.com/api-reference/2fa/validate-a-code.md): Validates the OTP submitted by the end user against the verification identified by `session_id`. - [Cancel a 2FA verification](https://docs.wavix.com/api-reference/2fa/cancel-a-2fa-verification.md): Cancels the 2FA verification identified by `session_id`. No further codes are sent, and previously sent codes can no longer be validated. A new verification is required to send another code. - [List 2FA verification events](https://docs.wavix.com/api-reference/2fa/list-2fa-verification-events.md): Returns the lifecycle events of the 2FA verification identified by `session_id`, such as number lookup and code delivery. - [List transactions](https://docs.wavix.com/api-reference/billing/list-transactions.md): Returns a paginated list of billing transactions for the authenticated account within the requested date range. - [List financial statements](https://docs.wavix.com/api-reference/billing/list-financial-statements.md): Returns the auto-generated financial statements for the authenticated account, paginated and ordered by billing period. - [Download statement PDF](https://docs.wavix.com/api-reference/billing/download-statement-pdf.md): Returns the financial statement identified by `id` as a PDF file. - [Retrieve a profile](https://docs.wavix.com/api-reference/profile/retrieve-a-profile.md): Returns the profile and billing details of the authenticated account. - [Update a profile](https://docs.wavix.com/api-reference/profile/update-a-profile.md): Updates the profile and billing details of the authenticated account. - [Retrieve account settings](https://docs.wavix.com/api-reference/profile/retrieve-account-settings.md): Returns the balance and global limits configured for the authenticated account. - [List sub-accounts](https://docs.wavix.com/api-reference/sub-accounts/list-sub-accounts.md): Returns a paginated list of sub-accounts under the authenticated master account. - [Create a sub-account](https://docs.wavix.com/api-reference/sub-accounts/create-a-sub-account.md): Creates a sub-account under the authenticated master account. Returns the sub-account with its generated `api_key`. - [Retrieve a sub-account](https://docs.wavix.com/api-reference/sub-accounts/retrieve-a-sub-account.md): Returns the sub-account identified by `id`. - [Update a sub-account](https://docs.wavix.com/api-reference/sub-accounts/update-a-sub-account.md): Replaces the configuration of the sub-account identified by `id`. Omitted fields revert to their defaults. - [List sub-account transactions](https://docs.wavix.com/api-reference/sub-accounts/list-sub-account-transactions.md): Returns a paginated list of billing transactions for the sub-account identified by `id`, within the requested date range. - [Call streaming](https://docs.wavix.com/api-reference/websocket/websockets/callstreaming.md): Bidirectional WebSocket channel for call audio streaming. Wavix opens the connection when a stream starts and closes it when the call ends. - [SDKs and widgets](https://docs.wavix.com/sdks/overview.md): Build on the Wavix API with the official Go, Node.js, Ruby, and Python server SDKs, or add the Wavix Embeddable voice widget to your web app. - [Go SDK](https://docs.wavix.com/sdks/go-sdk.md) - [Node.js SDK](https://docs.wavix.com/sdks/node-sdk.md) - [Ruby SDK](https://docs.wavix.com/sdks/ruby-sdk.md) - [Python SDK](https://docs.wavix.com/sdks/python-sdk.md) - [Wavix Embeddable](https://docs.wavix.com/sdks/wavix-embeddable.md): Add a ready-made web phone to your CRM or support portal with Wavix Embeddable: inbound and outbound calling, call history, events, and custom styling. - [Product updates](https://docs.wavix.com/release-notes.md): Follow the latest Wavix product updates, new features, and improvements across SMS, voice, phone numbers, SIP trunking, and the Wavix API. - [Get your API key](https://docs.wavix.com/api-reference/get-your-api-key.md): Step-by-step instructions for creating Wavix API keys. - [MMS can be sent to the US and CA phone numbers only](https://docs.wavix.com/messaging/errors/12.md) - [Media file size can be 1MB or less](https://docs.wavix.com/messaging/errors/13.md) - [Unsupported media format](https://docs.wavix.com/messaging/errors/14.md) - [Media file must be publicly accessible](https://docs.wavix.com/messaging/errors/15.md) - [Destination forbidden](https://docs.wavix.com/messaging/errors/17.md) - [Destination is invalid or not mobile phone number](https://docs.wavix.com/messaging/errors/18.md) - [Destination blocked](https://docs.wavix.com/messaging/errors/19.md) - [You can only have up to 5 attachments per MMS message](https://docs.wavix.com/messaging/errors/21.md) - [Sender ID not found](https://docs.wavix.com/messaging/errors/22.md) - [Rejected by a far-end carrier](https://docs.wavix.com/messaging/errors/23.md) - [Gateway rejected](https://docs.wavix.com/messaging/errors/24.md) - [Callback URL is invalid](https://docs.wavix.com/messaging/errors/25.md) - [You are only allowed to send _X_ SMS per second](https://docs.wavix.com/messaging/errors/26.md) - [Messaging is not supported by the destination carrier or handset](https://docs.wavix.com/messaging/errors/29.md) - [Insufficient funds](https://docs.wavix.com/messaging/errors/3.md) - [The number is inactive, lacks credits, or opted out of SMS](https://docs.wavix.com/messaging/errors/31.md) - [The message was rejected as SPAM or the Sender ID is associated with an inactive 10DLC Campaign](https://docs.wavix.com/messaging/errors/33.md) - [10DLC Brand or Campaign messaging limit exceeded](https://docs.wavix.com/messaging/errors/34.md) - [Daily quota exceeded (T-Mobile)](https://docs.wavix.com/messaging/errors/36.md) - [Spam message detected/rejected (AT&T)](https://docs.wavix.com/messaging/errors/37.md) - [Sending limit reached (AT&T)](https://docs.wavix.com/messaging/errors/38.md) - [Message too long](https://docs.wavix.com/messaging/errors/41.md) - [The message was blocked by the Verizon content filtering mechanism](https://docs.wavix.com/messaging/errors/43.md) - [The destination number is no longer active and should be removed from any subscriptions](https://docs.wavix.com/messaging/errors/44.md) - [Unsupported carrier](https://docs.wavix.com/messaging/errors/45.md) - [Non-compliant content or URL(s) detected and blocked](https://docs.wavix.com/messaging/errors/46.md) - [Messaging to the destination number is blocked for the next 60 minutes](https://docs.wavix.com/messaging/errors/47.md) - [The Sender ID is not provisioned for the country](https://docs.wavix.com/messaging/errors/5.md) - [Idempotency violation](https://docs.wavix.com/messaging/errors/55.md) - [Potential SMS flooding attack](https://docs.wavix.com/messaging/errors/7.md) - [Unsubscribed recipient](https://docs.wavix.com/messaging/errors/9.md) ## OpenAPI Specs - [wavix-api](https://wavix.github.io/wavix-openapi/wavix-api.yaml) ## AsyncAPI Specs - [wavix-asyncapi](https://wavix.github.io/wavix-openapi/wavix-asyncapi.yaml) ## Optional - [Blog](https://wavix.com/blog) - [Status page](https://status.wavix.com)