Skip to main content

What Caller Trust covers

Caller Trust is the RevDesk name for two features that ride on the same carrier primitive and decide whether your outbound calls get picked up. Number Reputation tracks live spam scores per number, daily. Branded Calling puts your business name, logo, and call reason on the recipient’s screen instead of a raw number. Both run on a tier-1 carrier’s Enterprise primitive, which requires a Federal EIN and a signed Letter of Authorization for the legal entity whose brand is on the line. RevDesk wraps that in a two-tier model so you don’t have to handle EIN-and-LOA on day one.

Two tiers

Umbrella (default)

Every RevDesk customer’s numbers automatically enroll in Number Reputation under the shared Cell Labs BPO enterprise. No EIN required, no LOA to sign. Live spam-risk scores for every number from day one. The name shown on branded calling is “Cell Labs”.

Own brand

Provide your legal name and EIN, sign an LOA in-app. Your brand (legal name, logo, call reason) shows on every outbound call instead of the shared umbrella.

How enrollment works

Every phone number you provision through RevDesk associates with Number Reputation automatically on purchase. The cron that refreshes cached spam scores runs daily and exposes them through GET /v1/caller-trust/reputation/numbers/{phone}. Freshly bought numbers need around 24 hours to accrue useful signal. You’ll see spam_risk: null until Hiya has observed enough calls. If you upgrade umbrella to own-brand, your numbers automatically disassociate from the umbrella and re-associate under your own enterprise. No outage in reputation tracking. Scores migrate with the number.

Letter of Authorization

Registering an own-brand enterprise requires a signed LOA. RevDesk generates, signs, and stores it in-app:
  1. Fill out the registration wizard (legal name, EIN, addresses, contacts).
  2. The LOA text renders with your details. You review, check “I consent to conduct this transaction electronically,” type your full legal name and job title, and click Sign LOA.
  3. RevDesk generates a deterministic PDF, SHA-256 hashes it, cryptographically signs it with a server-held x509 certificate, and stores it in private storage. A copy emails to the signer.
  4. The PDF uploads to the carrier’s Documents API and references in the enterprise enable call.
The audit trail captured on every signed LOA includes IP address, user agent, session id, consent-checkbox timestamp, signing timestamp, document SHA-256 hash, and the certificate fingerprint used for the cryptographic seal. Compliant with the U.S. E-SIGN Act and UETA (typed signature, attribution, integrity, affirmative consent).

Vetting lifecycle

DRAFT ──► PENDING_VETTING ──► APPROVED

                         └──► REJECTED ──► (resubmit → new PENDING_VETTING)
Hiya vets new enterprises in minutes in the typical case, sometimes longer. RevDesk polls status in the background. If the carrier has a webhook profile configured for your account, status updates happen in real time. Check current state at GET /v1/caller-trust/enterprise or subscribe to the enterprise.status.updated webhook event.

When to use fresh=true

The GET /v1/caller-trust/reputation/numbers/{phone}?fresh=true parameter bypasses the cache and runs a live Hiya query. It is billed per call. RevDesk rate-limits this to once per 24 hours per number to prevent accidental bill shock. Dashboards should always read cached data. Only reach for fresh=true in remediation workflows where you’ve just made a change and need immediate confirmation.

Branded Calling

Branded Calling lets your outbound calls arrive on recipient phones with your business name, logo, and a short call reason instead of a raw number. It improves answer rates for legitimate business calls and crowds out spam spoofing. The underlying primitive is the Display Identity Record (DIR), one per enterprise registration. Your DIR bundles the display name, logo asset, and call reason the carrier pushes to carrier-side display engines like Hiya.

Current status

The Branded Calling endpoint is rolling out incrementally with our carrier. RevDesk has built the full customer-facing flow. You can save DIR drafts, upload logos, and mark them ready for submission today. A nightly worker (cron/submit-pending-dirs) watches for a readiness flag and batch-pushes all PENDING_SUBMIT DIRs once the endpoint goes live. You can set up your brand today and it will go live automatically when Branded Calling launches.

The DIR lifecycle

DRAFT ──► PENDING_SUBMIT ──► SUBMITTED ──► APPROVED

                                       └─► REJECTED ──► (re-edit → DRAFT)
  • DRAFT. You’ve saved some fields but haven’t clicked Submit. Safe to edit freely.
  • PENDING_SUBMIT. You clicked Submit. RevDesk has queued the DIR for submission and awaits the carrier’s Branded Calling endpoint going live.
  • SUBMITTED. We’ve pushed the DIR to the carrier. Awaiting vetting.
  • APPROVED. Live. Your brand renders on outbound calls.
  • REJECTED. Carrier reviewer pushed back. See rejection_reasons on the DIR object. Editing any field moves status back to DRAFT so a resubmit is a clean slate.

Required fields

FieldConstraint
display_name≤ 64 chars. Usually the same as DBA.
call_reason≤ 120 chars. Short and specific. Example: “Annual roof inspection follow-up.”
logoPNG/JPEG/WebP, square, ≥ 200×200px. Upload via POST /v1/caller-trust/brand/logo.
The matching enterprise registration must be APPROVED before a DIR is eligible for submission. DIRs inherit the enterprise’s legal attestation.

Typical integration flow

# 1. Save a draft
curl -X PUT https://api.revdesk.com/v1/caller-trust/brand \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"display_name":"Acme Roofing","call_reason":"Scheduled inspection follow-up"}'

# 2. Upload a logo
curl -X POST https://api.revdesk.com/v1/caller-trust/brand/logo \
  -H "Authorization: Bearer $KEY" \
  -F "file=@logo.png"

# 3. Submit when ready
curl -X POST https://api.revdesk.com/v1/caller-trust/brand/submit \
  -H "Authorization: Bearer $KEY"

# 4. Poll status (or listen for webhooks)
curl https://api.revdesk.com/v1/caller-trust/brand \
  -H "Authorization: Bearer $KEY"

Relationship to Number Reputation

Both features ride on the same enterprise registration, but they’re independent lifecycles. Your Number Reputation enrollment and DIR submission can be in different states. Common pattern: reputation APPROVED while DIR still DRAFT.