Regenerate Webhook Secret

POST/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

Regenerate a webhook secret
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;