Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.revdesk.com/llms.txt

Use this file to discover all available pages before exploring further.

What is Caller Trust?

Caller Trust is the RevDesk name for the set of features that keep your outbound numbers out of spam-filter purgatory — Number Reputation (live spam-score tracking per number) and Branded Calling (your logo, legal name, and call reason showing up on the recipient’s screen). Both features run on a Tier-1 carrier’s Enterprise primitive, which requires a Federal EIN and a signed Letter of Authorization (LOA) for the legal entity whose brand is on the line. RevDesk wraps that in a two-tier model so you don’t have to deal with EINs on day one.

Two tiers

Umbrella (default)

Every RevDesk customer’s numbers are automatically enrolled in Number Reputation under the shared Cell Labs BPO enterprise. No EIN required, no LOA to sign. You get 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 + EIN and sign an LOA in-app. Your brand (name, logo, and call reason) shows up on every outbound call instead of ours.

How enrollment works

Every phone number you provision through RevDesk is automatically associated with Number Reputation 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 take ~24h to accrue useful signal — you’ll see spam_risk: null until Hiya has observed enough calls. If you upgrade from umbrella → own-brand, your numbers are automatically disassociated from the umbrella and re-associated under your own enterprise. There’s 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 this in-app:
  1. You fill out the registration wizard (legal name, EIN, addresses, contacts).
  2. The LOA text is rendered with your details. You review, check “I consent to conduct this transaction electronically”, type your full legal name + 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 (optional hardening), and stores it in private storage. A copy is emailed to the signer.
  4. The PDF is uploaded to the carrier’s Documents API and referenced 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. This is compliant with the U.S. E-SIGN Act and UETA (typed signatures + 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, the status updates happen in real time. Check the current state at GET /v1/caller-trust/enterprise or watch 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 (GA: coming soon)

Branded Calling — your name, logo, and call reason on the recipient’s caller ID — is under active carrier rollout. RevDesk’s API surface for it is ready today: you can save a Display Identity Record (DIR) with PUT /v1/caller-trust/brand, upload a logo with POST /v1/caller-trust/brand/logo, and mark it PENDING_SUBMIT with POST /v1/caller-trust/brand/submit. A nightly worker batch-pushes every PENDING_SUBMIT DIR to the carrier once the underlying endpoint goes live.