Regenerate Webhook Secret
/api/v2/phone-numbers/regenerate-webhook-secret Base URL https://api.easify.liveBearer token and Accept header required Authentication →
This endpoint is used to replace the webhook secret for a phone number.
The number must already have a webhook URL. The new secret takes effect immediately, so update your endpoint as soon as you receive it. Webhooks that were already queued are still signed with the old secret, so accept both for a short time.
There is a rate limit of 15 requests per minute per API token. This count is shared by all API endpoints, including GET requests, except those with their own separate limit (/api/v2/sms/send, /api/v3/sms/send, etc.), so this endpoint is refused once your token has made 15 requests to the shared endpoints within a minute. If you exceed this limit, you will receive a 429 Too Many Requests status, along with a message indicating when you can try again.
Query Parameters
| phone_number_id integer | The phone number's unique ID (will be provided in the phone-numbers API response) | Required |
Example Request and Response
Request:
{
"phone_number_id": 228
}
Success Response:
{
"status": true,
"message": "Webhook secret regenerated successfully",
"data": {
"id": 228,
"number": "+1864400****",
"approved": "Approved",
"gateway": "Easify SMS Gateway",
"name": "Easify SMS Call Gateway",
"status": "Active",
"webhook_url": "https://***********",
"webhook_secret": "9b1f2c7e4a6d4f0e8c3a7d5b1e2f****",
"created_at": "10-08-2024 07:46:20 AM",
"capabilities": {
"mms": true,
"sms": true,
"voice": true
},
"gateway_id": 9
}
}
Responses
| Case | Status Code | Response |
|---|---|---|
| If the user does not provide a token in the header or provides an invalid token | 401 |
{
"status":false,
"message":"Unauthenticated",
"errors":[]
}
|
| If user not provided phone_number_id | 422 |
{
"message": "The phone number id field is required.",
"errors": {
"phone_number_id": ["The phone number id field is required."]
}
}
|
| If user provided invalid phone_number_id | 400 |
{
"status":false,"message":"Invalid phone number id!","errors": []
}
|
| If the phone number does not have a webhook URL | 400 |
{
"status":false,"message":"Set a webhook URL for this phone number before regenerating its secret","errors": []
}
|
| If the user exceeds the allowed rate limit for requests | 429 |
{
"status":false,
"message":"Too many requests. Try again in 59 seconds",
"errors":[]
}
|
| If the user's subscription has ended | 402 |
{
"status":false,"message":"You need to recharge your account to proceed","errors":[]
}
|
| When the user account is inactive | 403 |
{
"status": false,
"message": "Your account is currently inactive.",
"errors": []
}
|
| If the request comes from an IP address or domain that is not on the account's API whitelist | 400 |
{
"status": false,
"message": "Access denied! Your IP or domain is not whitelisted.[ HostName : ] - [ Ip Address : << YOUR_SERVER_IP >>]",
"errors": []
}
|
Code Examples
php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.easify.live/api/v2/phone-numbers/regenerate-webhook-secret?phone_number_id=228',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer <> ',
'Accept: application/json',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;