Reject Call
Reject an incoming call for a specific session.
Authentication Required
Login to swap the placeholders with your real Instance ID and Access Token.
Log InNo query parameters required
This endpoint doesn't expect data in the URL.
Best practices
Respond to incoming call events quickly to avoid timeouts.
Use the "Reject" endpoint for unwanted calls with a polite message.
Log call attempts for analytics and support.
Strategic Declinism: The Power of Programmatic Call Termination
In the orchestration of high-volume digital business environments, the ability to say "No" is as critical as the ability to respond. The Reject Call endpoint is your primary tool for Strategic Boundary Enforcement and Conversational Routing. It allows your automated systems to programmatically terminate an incoming voice or video signal based on real-time business logic, ensuring that your organization's human and technical resources are always focused on the highest-priority interactions. Beyond a simple "Dismiss" action, this endpoint is the foundation of a managed voice perimeter that protects your agents from noise and your customers from a substandard conversational experience.
For enterprise architects, rejection is the First Step of Redirection. This guide explores the strategic imperatives of call termination and the governance of real-time presence.
🏗️ Architectural Philosophy: Signal Termination vs. Passive Silence
From a technical perspective, the Reject Call endpoint is a Signaling Command that instructs Meta's infrastructure to send a "Busy" or "Call Declined" packet back to the caller.
Key Architectural Objectives:
- Active vs. Passive Denial: If your instance simply ignores a call, the caller's phone will continue to ring for 30-45 seconds until it times out. This creates a perception of unresponsiveness or technical failure. By calling the Reject Call API, your system provides an immediate, authoritative signal. This "Active Rejection" is a professional courtesy that allows the caller to immediately seek an alternative path of resolution.
- Interrupt Management: Real-time calls are high-intensity events that occupy the device's audio and networking hardware. Programmatic rejection ensures that these resources are cleared as quickly as possible, maintaining the performance and stability of your WhatsApp Business instance for other concurrent tasks, such as sending high-priority alerts or Broadcasting.
- Idempotency and Traceability: Every rejection is tied to a unique
callIdretrieved from thecall.receivedwebhook. This ensures that your system never terminates the wrong interaction and provides a clear audit trail for your compliance and performance monitoring engines.
🚀 Strategic Use Case: Enforcing Operational Boundaries
Real-time voice communication is expensive. Utilizing programmatic rejection allows you to manage this cost while maintaining a premium brand image.
1. The "VIP-Only" Calling Perimeter
Your organization may choose to offer live voice support only to high-value stakeholders (e.g., Enterprise Tier clients or VIP partners). When a call arrives, your system performs a "Call-Sign Verification" against your CRM. If the caller is a "Regular Tier" user, the system instantly rejects the call and initiates a text-based redirection: "We see you are trying to call. Live voice support is a feature of our Premium plan. Please continue your request here via text or click this link to upgrade your account." This turns a rejected call into a targeted "Upsell Opportunity."
2. Global "Quiet Hours" Enforcement
For businesses operating across multiple time zones, enforcing local business hours is a logistical challenge. By integrating the Reject Call endpoint with a "Time-Zone aware Scheduler," your system can automatically reject calls arriving outside of a specific region's working hours. The system can then provide context-aware feedback: "Greetings! Our London office is currently closed. We will be back online at 09:00 GMT. In the meantime, you can leave a voice note or use our automated FAQ bot."
3. Combatting the "Robocall" Epidemic
WhatsApp accounts are not immune to automated spam callers. Your system can implement "Frequency Throttling." If a specific JID calls three times in 60 seconds without a prior 1:1 conversation history, the system identifies this as a "Bot Signature" and automatically rejects all subsequent attempts, potentially triggering a temporary Block of the identifier to protect your internal infrastructure.
🔐 Administrative Mandate: The Guardianship of Operational Focus
In a professional call center or a distributed agent environment, distraction is a measurable cost. Strategic rejection is a method of "Focus Insurance."
Protecting the "Deep Work" State
Your agents are most productive when they can focus on resolving complex issues without being interrupted by random incoming rings. By using the Reject Call endpoint as a "Gatekeeper," you ensure that the only calls that reach a human agent are those that have been "Qualified" through a prior text-based interaction. This "Qualified-Voice-Only" policy significantly increases agent throughput and reduces the mental fatigue associated with unmanaged conversational noise.
Integrity in Compliance and Recording
In regulated industries (like Finance or Law), every voice call must be recorded for compliance purposes. If your secondary SIP/VoIP bridge is currently down or at capacity, your system should use the Reject Call API as a "Safety Valve." It prevents any call from being established that cannot be properly audited, ensuring that your organization remains within its legal and regulatory guardrails at all times.
🛡️ Operational Best Practices: The "Rules of the Graceful Exit"
- The "Contextual Follow-up" Mandate: A programmatic rejection should never be a standalone event. The strategic objective is to move the user from a synchronous (High-Cost) channel to an asynchronous (Low-Cost) one. Your system must always send a 1:1 text message within 500ms of the rejection, acknowledging the call and providing the next step.
- Latency-Optimized Processing: The window for a professional rejection is narrow. If your system takes more than 500-1000ms to process the webhook and send the rejection command, the user will experience one or two rings, creating a "Glitchy" impression. Ensure your webhook handler is optimized for high-speed decision-making.
- Monitoring "Rejection Attrition": Track how many users leave your ecosystem after their calls are rejected. If you find a high drop-off rate, it indicates that your redirection messages are not empathetic or helpful enough. Continuous AB testing of your "Redirect Copy" is essential for long-term retention.
⚙️ Engineering Best Practices: The Validation Loop
- Map JIDs to Session Integrity: Ensure the
fromJID matches your known context for that specificcallId. This prevents "Cross-Talk" errors where your system might accidentally try to terminate a call on a different session. - Handle "Signal Already Terminated" States: In high-latency networking scenarios, a user might hang up right as your system is sending the rejection command. Your code should gracefully handle [
400 Bad Request] or [404 Not Found] responses from the API, treating them as successful "Race Condition" resolutions. - Coordinate with Presence Awareness: Before rejecting a call from a high-value customer, perform a quick check of your Presence State. If the system detects that no agents are currently online, the rejection is justified. If agents are online but "Busy," consider a "Queueing Message" rather than a hard rejection.
🎯 Conclusion: Mastering the Art of the Governed Perimeter
The Reject Call endpoint is the "Shield" of your community and interaction architecture. It is your most powerful tool for enforcing discipline, protecting resources, and ensuring that every voice interaction is an intentional, high-value event. By treating rejection as a strategic lever rather than a technical necessity, you build a conversational ecosystem that is professional, respectful of both your agents' and your customers' time, and always perfectly aligned with your business objectives. You move beyond "Simple Signal Handling" and into the world of Advanced Presence Governance, where the boundary of your business is defined by automated intelligence and architectural precision.
Request Parameters
Configure the parameters required to interact with this endpoint. All query and body arguments are listed below with their details.
Request Body
Sent as a JSON objectstring | Your unique WhatsApp Instance ID Example: | ||
string | Your API Access Token Example: | ||
string | The unique ID of the incoming call (from call.received webhook) Example: | ||
string | The WhatsApp ID (JID) of the caller (from call.received webhook) Example: |
Request Samples
Use these ready-to-go code snippets to integrate our API into your project quickly and efficiently. Choose your preferred language and library.
Expected Responses
Explore all possible responses and outcomes from the server. We have documented each status code with data examples to make success and error handling easier.
Example
{
"success": true,
"message": "Operation completed successfully"
}Command Palette
Search for a command to run...