1. REST
CallerAPI Documentation
  • Quickstart
  • Use cases
    • For carriers (MNOs/MVNOs)
    • CPaaS platforms
    • Cloud communications providers
    • SIP trunking providers
    • PBX/Cloud PBX
    • UCaaS vendors
  • Account
    • Balance and email
      GET
  • Spam protection
    • Voice firewall
      • Get started
      • Quickstart
        • What you get
        • Before you start
        • Test with a recording
        • Connect your switch
        • Switch notes
        • Twilio and Telnyx
        • Send text instead of audio
      • Verdicts
        • Read a verdict
        • What to do with a verdict
        • Block a caller
        • Events and webhooks
      • Honeypot
        • Hand a call over
        • Audio, events, and limits
      • Reference
        • Endpoints
        • Errors
        • Limits and thresholds
        • Production checklist
      • REST
        • What this deployment can do
        • List the verdict categories
        • List the honeypot personas
        • Score a transcript or a recording
        • List your recent sessions
        • Get one session with verdict and intel
        • Twilio voice URL for a screened number
        • Preview the Twilio TwiML
        • Telnyx voice URL for a screened number
        • Twilio voice URL for a honeypot number
        • Telnyx voice URL for a honeypot number
      • WebSocket
        • Live scam filter stream
        • Honeypot stream
    • Daily spam reports
      • Webhook
        • Subscribe to daily reports
        • Unsubscribe from daily reports
        • List webhook subscriptions
        • Manual dispatch of reports
        • Test webhook
      • REST
        • Fetch daily spam reports
    • 15 days spam CSV snapshot
      GET
    • Spam score + HLR
      GET
  • Mobile SDK
    • Get started
    • Quickstart
      • What you get
      • Get your keys
      • Android
      • iOS
      • Flutter
      • React Native
      • Check it works
    • Call screening
      • What each platform can do
      • Android call screening
      • iOS prerequisites
      • iOS add the extension
      • iOS test on device
    • Reference
      • Methods
      • Errors
      • Limits and billing
      • Troubleshooting
  • Data partners
    • Partner tems & docs
    • Upload spam reports
    • Upload contacts
  • Fraud prevention
    • Ported date
    • Porting history
    • Online presence
    • KYC user identity
  • Business Caller ID
    • Get started
    • Quickstart
      • Announce a call
      • Verify at INVITE
      • What you get
    • Verdicts
      • Show the name and logo
      • Read a verdict
    • REST
      • Verify the calling number
      • Fetch the logo
      • Announce a call
  • DID monitoring
    • Get started
    • Reference
      • Statuses and labels
      • Webhooks
      • Billing and limits
      • Errors
    • REST
      • Submit numbers
        POST
      • List number status
        GET
      • Read one number
        GET
      • Remove a number
        DELETE
      • Read the check schedule
        GET
      • Set the check schedule
        PUT
      • Save the webhook URL
        PUT
      • Read the webhook
        GET
      • Delete the webhook
        DELETE
      • Send a test event
        POST
      • Rotate the webhook secret
        POST
    • Number flagged
    • Number cleared
  • Signer reputation by SPC
    GET
  • Signers ranked by score
    GET
  • Schemas
    • Spam protection
      • Spam score request
      • Business info
      • Carrier info
      • Complaint (without number)
      • Daily spam reports request
      • Complaint (with phone)
    • Signer
    • SubmitResponse
    • Monitoring
    • Number
    • NumberListResponse
    • OneNumberResponse
    • ScheduleResponse
    • WebhookWriteResponse
    • WebhookReadResponse
    • FlaggedEvent
    • ClearedEvent
    • EventData
    • Error
    • AuthError
    • ScheduleRequest
    • WebhookRequest
    • RemovedResponse
    • WebhookTestResponse
  1. REST

Save the webhook URL

PUT
/api/did-monitoring/v1/webhook
Saves the URL that receives webhook events. An account has one webhook URL. A new save replaces the old URL.
The URL must use https on port 443 or 8443. The host must resolve to a public address. CallerAPI does not accept private, loopback, or link-local addresses. CallerAPI does not follow redirects. The maximum length is 2,048 characters. CallerAPI checks these rules when you save and again before each delivery.
The first save returns secret. Keep it in a safe place. CallerAPI shows it one time only. A later save keeps the same secret and does not return it.
If CallerAPI turned off the webhook after delivery failures, a save turns it on again.
INFO
Webhooks are not available on the Free plan.

Request

Authorization
Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Bodyapplication/json

🟠400Bad request
🟠401Unauthorized
🟠403Requires upgrade
🟠429Too many requests
🔴503Service unavailable
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PUT 'https://api.callerapi.com/api/did-monitoring/v1/webhook' \
--header 'Content-Type: application/json' \
--data '{
    "url": "https://hooks.example.com/callerapi"
}'
Response Response Example
200 - First save, with the secret
{
    "status": "success",
    "data": {
        "url": "https://hooks.example.com/callerapi",
        "active": true,
        "secret": "whsec_REPLACE_WITH_YOUR_SECRET"
    }
}
Modified at 2026-10-29 10:41:34
Previous
Set the check schedule
Next
Read the webhook
Built with