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
      POST
    • Upload contacts
      POST
  • 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
        POST
      • Fetch the logo
        GET
      • Announce a call
        POST
  • 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
  1. REST

Announce a call

POST
/api/bcid/v1/calls
Call this from the originating dialler at dial time. This is an HTTP request. It is not a SIP header.
Auth is X-BCID-Publish-Token, not the API key. Get the token from the dashboard. It is shown once. Do not put the token in a SIP header. Do not send it to the terminating switch.
The business pays 2 credits for a signed announcement. from must be an approved number you own. to binds the announcement to this callee, then CallerAPI drops it. The announcement is valid for 90 seconds.
A number still in review returns 403. Not enough credits returns 402. A deployment that cannot sign returns 503.

Request

Authorization
API Key
Add parameter in header
x-auth
Example:
x-auth: ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200Announcement stored
application/json
The announcement is stored. The business paid 2 credits. The terminating switch can verify this call until expires_at.
Bodyapplication/json

🟠400Missing or invalid from or to
🟠401Missing or invalid publish token
🟠403Number not approved or not yours
🔴503Announcement is not available
🟠402Insufficient credits
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.callerapi.com/api/bcid/v1/calls' \
--header 'X-BCID-Publish-Token: YOUR_PUBLISH_TOKEN' \
--header 'x-auth: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
  "from": "+18883578668",
  "to": "+14155550123"
}'
Response Response Example
200 - Example 1
{
    "status": "success",
    "data": {
        "expires_at": "2019-08-24T14:15:22.123Z",
        "valid_for_seconds": 0,
        "credits_charged": 0
    }
}
Modified at 2026-09-21 16:59:03
Previous
Fetch the logo
Next
Signer reputation by SPC
Built with