M4 API drop active calls
Documentation
M4 REST API Documentation is available in /billing/api/v2/api-docs.
Description
The Drop Active calls API allows you to initiate a call drop by call ID or drop all calls.
Usage
This API does not follow standard M4 API usage and must be configured manually. Global M4 API settings do not apply to this API service.
API
The Drop Active Calls API accepts parameters in JSON format. Responses are also returned in JSON format.
There are 2 endpoints related to Drop Active Calls:
- /active_calls/:id - Hangs up the Active Call by the id.
- /active_calls - Hangs up all Active Calls.
Authentication
The Drop Active Calls API requires user authentication - basic authentication (username/password) and JWT token authentication.
Basic authentication
Basic authentication uses the User's username and password to access API endpoints.
Username and password must be provided in HTTP Authorization header, "username:password" string encoded in Base64. For example:
POST http://x.x.x.x/billing/api/v2/authentication/login HTTP/1.1 Authorization: Basic cmljYXJkYxM6OWtBWFpadT9yak1iayRSaA==
JWT authentication
JWT authentication uses a token (generated by M4) with each request to endpoints. The API client must obtain a JWT token by calling the /authentication/login endpoint and then use this token in other endpoints for authentication until the token expires. Once the token has expired, a new token must be obtained from /authentication/login endpoint.
JWT token must be provided in HTTP Authorization header when requesting /active_calls/:id or /active_calls/ endpoints. For example:
DELETE http://x.x.x.x/billing/api/v2/active_calls/ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhc3NpZ25lZF9kZXZpY2VzIjoiMiw4LDEwLDEyLDE4LDI2LDM2IiwiZXhwIjoxNzUyNTU1Njk4LCJpYXQiOjE3NTI0NjkyOTgsImlzcyI6IkZsYXNoIENhbGxzIEFQSSIsInN1YiI6InJpY2FyZGFzIn0.I3Sy1zrJx0mAsTLthitY8dyZfythsWzJ4V1CVfNJmYU
Endpoints
/active_calls/:id
Method:
DELETE
Parameters:
id - the id of the call.
Example request:
DELETE http://x.x.x.x/billing/api/v2/active_calls/111 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhc3NpZ25lZF9kZXZpY2VzIjoiMiw4LDEwLDEyLDE4LDI2LDM2IiwiZXhwIjoxNzUyNTU1Njk4LCJpYXQiOjE3NTI0NjkyOTgsImlzcyI6IkZsYXNoIENhbGxzIEFQSSIsInN1YiI6InJpY2FyZGFzIn0.I3Sy1zrJx0mAsTLthitY8dyZfythsWzJ4V1CVfNJmYU
Example response:
"{status: 'hung_up', hung_up_call: 111, hung_up_at: '2025-10-17 13:35:08'}"
/active_calls/
Method:
DELETE
Parameters:
None - empty request body.
Example request:
DELETE http://x.x.x.x/billing/api/v2/active_calls/ Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhc3NpZ25lZF9kZXZpY2VzIjoiMiw4LDEwLDEyLDE4LDI2LDM2IiwiZXhwIjoxNzUyNTU1Njk4LCJpYXQiOjE3NTI0NjkyOTgsImlzcyI6IkZsYXNoIENhbGxzIEFQSSIsInN1YiI6InJpY2FyZGFzIn0.I3Sy1zrJx0mAsTLthitY8dyZfythsWzJ4V1CVfNJmYU
Example response:
"{status: 'hung_up', hung_up_calls: [1, 2], hung_up_at: '2025-10-17 13:35:08'}"
Additional notes
More examples and responses are available in the M4 REST API Documentation, which is available in /billing/api/v2/api-docs.