# LumisReach - [LumisReach](https://docs.lumisreach.com/index.md): A complete revenue platform. Source the right buyers, enrich every record, and reach more on voice, chat, and email. Qualify live, and book the meeting before the moment cools. - [Three agents, one pipeline](https://docs.lumisreach.com/concepts/your-ai-team.md): Voice, chat, and email agents that share one contact record, one qualification model, and one hand-off path, running on a live data layer that sources accounts and keeps every record current. - [Real-time calendar booking](https://docs.lumisreach.com/concepts/your-calendar.md): Your AI books against your live calendar. Real availability, real bookings, no manual coordination after the call. - [Train your AI on your business](https://docs.lumisreach.com/concepts/knowledge-base.md): A knowledge base is what makes the AI useful. Teach it your business once and every call benefits from it. - [Call Quality & Carriers](https://docs.lumisreach.com/concepts/call-quality-carriers.md): How tier-1 carrier partnerships give LumisReach customers better pickup rates, cleaner audio, and lower per-minute pricing. - [Quickstart](https://docs.lumisreach.com/getting-started/quickstart.md): Sign up, pick a number, connect your calendar. Your AI is taking real calls 15 minutes from now. - [FAQ](https://docs.lumisreach.com/getting-started/faq.md): Frequently asked questions about LumisReach. Find answers to common questions about setup, features, billing, and more. - [Phone Numbers](https://docs.lumisreach.com/getting-started/setup/phone-numbers.md): Get a new phone number or forward your existing one. Your AI needs a number to answer. - [Voice & Personality](https://docs.lumisreach.com/getting-started/setup/voice-personality.md): Choose how your AI sounds and communicates. Pick a voice, set the tone, and make it yours. - [Testing Your AI](https://docs.lumisreach.com/getting-started/setup/testing.md): Test your AI before going live. Make sure it handles calls the way you expect. - [Inbox](https://docs.lumisreach.com/getting-started/features/inbox.md): Every call, message, and conversation in one place. Full transcript, recording, and AI summary attached to each one. - [Insights & Analytics](https://docs.lumisreach.com/getting-started/features/insights.md): Understand how your AI is performing. See call volumes, conversion rates, and trends over time. - [Outbound Campaigns](https://docs.lumisreach.com/getting-started/features/campaigns.md): Outbound calling at scale. Lead follow-up, appointment reminders, re-engagement, and form-to-call workflows. - [Call Capacity Planning](https://docs.lumisreach.com/getting-started/features/call-capacity.md): Understand how phone numbers and dedicated lines control your outbound call throughput. Plan your setup by budget or goal. - [SMS & Messaging](https://docs.lumisreach.com/getting-started/features/sms.md): Text your customers automatically. Send reminders, confirmations, and follow-ups via SMS. - [Team Management](https://docs.lumisreach.com/getting-started/features/teams.md): Set up your team and manage permissions. Control who has access to what. - [Round-Robin Distribution](https://docs.lumisreach.com/getting-started/features/round-robin.md): Distribute calls and bookings evenly across your team. - [Compliance & Regulations](https://docs.lumisreach.com/getting-started/features/compliance.md): Understand calling regulations and stay compliant. TCPA, DNC, and best practices. - [Custom Prompts](https://docs.lumisreach.com/getting-started/customization/custom-prompts.md): Fine-tune how your AI handles specific situations. Go beyond templates with custom instructions. - [Custom Sequences](https://docs.lumisreach.com/getting-started/customization/custom-sequences.md): Build automated call sequences that trigger based on events in your business. - [Integrations Overview](https://docs.lumisreach.com/getting-started/customization/integrations.md): Connect LumisReach to your calendar, CRM, and the rest of your stack so everything stays in sync. - [Pricing](https://docs.lumisreach.com/pricing.md): Four tiers from \$95/mo. Pay annually and get 2 months free. Start for \$20 with a 14-day trial. - [ROI](https://docs.lumisreach.com/roi.md): Cost per booked meeting on LumisReach, worked through against a small broker shop and a 30-person sales org. The unit that matters is meetings on calendars, not minutes or leads. - [Solutions](https://docs.lumisreach.com/solutions/index.md): Ten pieces of phone work you can hand over — building the list, completing the record, answering inbound, screening, confirming, and re-opening the part of the CRM nobody has time for. - [Source Leads](https://docs.lumisreach.com/solutions/core-solutions/source-leads.md): Accounts and contacts that match your ICP, deduped against your CRM and phone-validated before a campaign spends a single dial on them. - [Enrich Leads](https://docs.lumisreach.com/solutions/core-solutions/enrich-leads.md): Fill the fields your routing rules depend on, identify an unknown number before the agent answers it, and keep the CRM current without a data team. - [Speed to Lead](https://docs.lumisreach.com/solutions/core-solutions/speed-to-lead.md): The form fill that just landed gets a live phone call before it cools — screened in conversation and booked onto a real calendar, with no callback queue in between. - [Qualify Before Booking](https://docs.lumisreach.com/solutions/core-solutions/qualify-before-booking.md): A real screening call in front of every calendar hold, so the meetings that land on a rep are the ones worth running. - [Handle Every Inbound](https://docs.lumisreach.com/solutions/core-solutions/handle-every-call.md): Inbound picked up live on voice and chat, around the clock — identified, screened, booked, and written back to the CRM before the conversation is over. - [Reduce No-Shows](https://docs.lumisreach.com/solutions/core-solutions/reduce-no-shows.md): Confirmation and reminder calls from an agent that can move the meeting on the line — so a scheduling conflict becomes a reschedule instead of an empty slot. - [Re-engage Cold Leads](https://docs.lumisreach.com/solutions/core-solutions/re-engage-cold-leads.md): Work the aged part of the CRM at volume — real conversations, honest dispositions written back, and meetings booked with the few who are ready now. - [Get More Reviews](https://docs.lumisreach.com/solutions/core-solutions/get-more-reviews.md): A short check-in call after the work is done — happy customers get a link to the platform that matters, and unhappy ones reach you before they reach a public page. - [Scale Without Hiring](https://docs.lumisreach.com/solutions/core-solutions/scale-without-hiring.md): Hand the routine phone work to agents so capacity tracks pipeline instead of tracking hiring — and the people you have spend their week on conversations that need a person. - [After-Hours Coverage](https://docs.lumisreach.com/solutions/core-solutions/after-hours-coverage.md): The hours nobody is at a desk, covered live on voice and chat — routine enquiries booked for the next working day, urgent ones routed to whoever is on call. - [By industry](https://docs.lumisreach.com/solutions/industries.md): How revenue teams in legal, SaaS, financial services, healthcare, real estate, higher ed, e-commerce, and manufacturing deploy LumisReach against their specific intent-decay curve. - [vs. Build-it-yourself](https://docs.lumisreach.com/solutions/comparisons/vs-developer-platforms.md): When raw voice APIs and a six-month build make sense, and when buying a ready platform makes more. - [vs. Answering services](https://docs.lumisreach.com/solutions/comparisons/vs-answering-services.md): Phone answering services take messages. LumisReach has the conversation, qualifies, and books on the call. - [vs. Hiring](https://docs.lumisreach.com/solutions/comparisons/vs-hiring.md): Headcount math against an always-on AI. When hiring still makes sense, and when LumisReach is the better fit. - [Case studies](https://docs.lumisreach.com/solutions/case-studies/index.md): Real outcomes from teams running LumisReach in production. Customer details anonymized at their request; metrics are pulled directly from the database. - [Lending broker](https://docs.lumisreach.com/solutions/case-studies/lending-broker.md): A small-business lending broker runs outbound work across three channels. 29 qualified leads at about \$44 each, on roughly \$1,280 of voice spend over six weeks. - [Integrations](https://docs.lumisreach.com/integrations/index.md): Connect LumisReach to your calendar, CRM, video conferencing, messaging, and automation tools. All integrations sync in real time and set up without code. - [Google Calendar](https://docs.lumisreach.com/integrations/calendar/google-calendar.md): Bookings land on the right Google Calendar before the prospect ends the call. Two-way sync across personal Gmail and Workspace accounts, no double-bookings. - [Apple Calendar](https://docs.lumisreach.com/integrations/calendar/apple-calendar.md): Bookings land on your Apple Calendar over iCloud, with two-way sync across every device on the account. - [Outlook and Office 365](https://docs.lumisreach.com/integrations/calendar/outlook.md): Bookings land on the right Outlook calendar before the prospect ends the call. Two-way sync across Outlook.com and Microsoft 365, Teams links included. - [Zoho Calendar](https://docs.lumisreach.com/integrations/calendar/zoho-calendar.md): Bookings land on your Zoho Calendar and link to your Zoho CRM contacts automatically. Best for teams already running on the Zoho suite. - [ICS Feed](https://docs.lumisreach.com/integrations/calendar/ics-feed.md): Read-only availability from any calendar that exports an ICS feed. Use it for secondary calendars and conflict-checking alongside a direct integration. - [Google Meet](https://docs.lumisreach.com/integrations/video/google-meet.md): Booked appointments get a Google Meet link automatically. The customer joins from the calendar invite, no setup on their side. - [Microsoft Teams](https://docs.lumisreach.com/integrations/video/microsoft-teams.md): Booked appointments get a Microsoft Teams meeting link automatically. The customer joins from the Outlook invite, no setup on their side. - [HubSpot](https://docs.lumisreach.com/integrations/crm/hubspot.md): Sync LumisReach with HubSpot CRM to trigger AI calls from workflows, log call results, import contacts, and create deals. - [Zoho CRM](https://docs.lumisreach.com/integrations/crm/zoho-crm.md): Sync LumisReach with Zoho CRM to manage leads, log calls, and automate your sales process. - [LeadConnector](https://docs.lumisreach.com/integrations/crm/leadconnector.md): Sync qualified leads and call results back to LeadConnector (GoHighLevel). Contacts are tagged with AICALL so you can trigger CRM workflows. - [Slack](https://docs.lumisreach.com/integrations/messaging/slack.md): Get real-time LumisReach notifications in Slack channels. Know instantly when calls come in and appointments get booked. - [WhatsApp](https://docs.lumisreach.com/integrations/messaging/whatsapp.md): Send confirmations, reminders, and follow-ups over WhatsApp where SMS open rates are dropping. Two-way replies route through the same LumisReach contact record. - [Email](https://docs.lumisreach.com/integrations/messaging/email.md): Configure your sending domain, verify DNS, and create reusable templates so your campaigns and follow-ups land in the inbox. - [Zapier](https://docs.lumisreach.com/integrations/automation/zapier.md): Connect LumisReach to 8,000+ apps through Zapier. Automate workflows without writing code. - [Google Sheets](https://docs.lumisreach.com/integrations/automation/google-sheets.md): Auto-sync qualified leads from AI calls to a Google Sheet. Great for shared visibility, ad-hoc reporting, or feeding another tool. - [Zoho Campaigns](https://docs.lumisreach.com/integrations/automation/zoho-campaigns.md): Auto-configure Zoho Campaigns webhooks so email engagement triggers AI follow-up calls in real time. - [Giphy](https://docs.lumisreach.com/integrations/other/giphy.md): Add GIFs to your LumisReach booking pages and confirmation messages for a more engaging experience. - [AI Forms](https://docs.lumisreach.com/integrations/other/routing-forms.md): Intelligent call routing based on form responses. Direct callers to the right team or service automatically. - [HIPAA Business Associate Agreement](https://docs.lumisreach.com/integrations/other/hipaa.md): Business Associate Agreement for healthcare organizations. Handle protected health information compliantly. - [Privacy Policy](https://docs.lumisreach.com/policies/privacy-policy.md): How LumisReach (Lumis Labs, Inc.) collects, uses, and protects your data. - [Terms of Service](https://docs.lumisreach.com/policies/terms-of-service.md): The agreement that governs your use of LumisReach (Lumis Labs, Inc.). - [Security](https://docs.lumisreach.com/policies/security.md): Encryption posture, sub-processors, access controls, retention, and residency. The full picture for security and compliance reviews. - [Code Review Process](https://docs.lumisreach.com/policies/code-review-process.md): How LumisReach (Lumis Labs, Inc.) reviews code changes before they reach production. Public reference for the procedure cited in our Secure Development Policy. - [Engineering Documentation](https://docs.lumisreach.com/policies/engineering-documentation.md): Secure-by-design and privacy-by-design principles applied across LumisReach (Lumis Labs, Inc.) engineering, plus environment, vulnerability management, and developer training references. - [Partner Program](https://docs.lumisreach.com/partners/index.md): Resell AI voice automation under your own brand. Affiliate commissions or full white-label. You set the pricing, you keep the margin. - [Request a Demo](https://docs.lumisreach.com/partners/demo.md): See the LumisReach reseller platform in action. 30-minute personalized demo for potential partners. - [Affiliate Program](https://docs.lumisreach.com/partners/affiliate/index.md): Earn 20% recurring commission for 12 months on every referral. Share your link, we handle everything else. - [Reseller Program](https://docs.lumisreach.com/partners/white-label/index.md): Offer AI voice automation under your own brand. Start with a subdomain or go full white-label. - [Reseller Pricing](https://docs.lumisreach.com/partners/white-label/pricing.md): Simple, flat-rate partner pricing. $37/seat. No minimums. No hidden fees. - [Partner Success Stories](https://docs.lumisreach.com/partners/success-stories/index.md): See how agencies, consultants, and MSPs are building recurring revenue with LumisReach. - [Introduction](https://docs.lumisreach.com/api-reference/index.md): The LumisReach API lets your code run AI calls and texts, make and post social videos, talk to Lincoln AI, and manage numbers, caller trust and billing. - [Authentication](https://docs.lumisreach.com/api-reference/authentication.md): Authenticate API requests using Bearer tokens. - [Conventions](https://docs.lumisreach.com/api-reference/conventions.md): Errors, idempotency, and pagination — the HTTP-level conventions that apply to every endpoint. - [MCP server](https://docs.lumisreach.com/api-reference/mcp.md): Give your AI agent a phone: connect Claude, Cursor, or any MCP client to LumisReach over Streamable HTTP. - [Caller Trust](https://docs.lumisreach.com/concepts/caller-trust.md): Number reputation and branded calling, the two carrier-level features that keep outbound calls out of spam-filter purgatory. - [Sub-entities (multi-tenant organizations)](https://docs.lumisreach.com/concepts/sub-entities.md): Provision and manage child workspaces — clinic locations, franchisees, end-client accounts — under one umbrella organization. - [HIPAA & BAA coverage](https://docs.lumisreach.com/concepts/hipaa.md): How LumisReach supports HIPAA workloads, what our BAA covers, and how to request one. - [Outreach audit & consent records](https://docs.lumisreach.com/concepts/outreach-audit.md): How LumisReach captures consent metadata, attaches disclosures, and persists an audit trail for outbound communications. - [Quick Agent Actions](https://docs.lumisreach.com/api-reference/quick-agent-actions.md): Call, text, or stand up an AI phone number in one API call — no phone number to buy first. - [Start a Quick AI Phone Call](https://docs.lumisreach.com/api-reference/quick-agent-actions/start-a-quick-ai-phone-call.md): Has an AI agent call one or more recipients (phone numbers in any common format, +1 assumed when the country code is missing, or names of contacts in the workspace, matched case-insensitively with small typos tolerated; an ambiguous name is rejected with the candidates) to accomplish a goal. No phon… - [Start a Quick AI Text conversation](https://docs.lumisreach.com/api-reference/quick-agent-actions/start-a-quick-ai-text-conversation.md): Has an AI agent text one or more recipients (phone numbers in any common format, +1 assumed when the country code is missing, or names of contacts in the workspace, matched case-insensitively with small typos tolerated; an ambiguous name is rejected with the candidates) and keep the conversation goi… - [Send a single text message](https://docs.lumisreach.com/api-reference/quick-agent-actions/send-a-single-text-message.md): Sends one SMS, exactly as written, to one phone number. No phone-number purchase is required: it goes out from a shared LumisReach number that is already registered on the approved LumisReach A2P 10DLC campaign, and `from_number` in the response is the number the recipient sees. Unlike `POST /v1/qui… - [Send a Quick Email](https://docs.lumisreach.com/api-reference/quick-agent-actions/send-a-quick-email.md): Sends one plain-text email to up to 20 recipients (each gets an individual copy). Each `to` entry is an email address or the name of a contact in the workspace, matched case-insensitively with small typos tolerated, whose email on file is used; a name that matches no one returns 404, and one that co… - [Send a Quick iMessage](https://docs.lumisreach.com/api-reference/quick-agent-actions/send-a-quick-imessage.md): Sends one iMessage to one person (E.164 phone number or Apple ID email) from a shared LumisReach iMessage line, so no Apple device or line has to be owned. One-way: replies are not delivered back to the API yet. Apple filters unsolicited blue bubbles hard, so: a first message to someone the line has… - [Send a quick chat message](https://docs.lumisreach.com/api-reference/quick-agent-actions/send-a-quick-chat-message.md): Posts one plain-text message (up to 2000 characters) to a Slack or Discord channel connected to the workspace (see `GET /v1/quick/chat-channels`). Mentions such as @channel, @here, @everyone and user or role pings are neutralized. 404 when the channel id is not connected to the workspace; 409 when t… - [List connected chat channels](https://docs.lumisreach.com/api-reference/quick-agent-actions/list-connected-chat-channels.md): Returns the Slack and Discord channels connected to the workspace (Dashboard > Connections > Team chat, or `POST /v1/quick/chat-channels`). Use a channel's `id` with `POST /v1/quick/chat-messages`. Webhook URLs are never returned. - [Connect a chat channel](https://docs.lumisreach.com/api-reference/quick-agent-actions/connect-a-chat-channel.md): Connects a Slack or Discord channel through an incoming-webhook URL (Slack: https://api.slack.com/messaging/webhooks; Discord: Channel Settings > Integrations > Webhooks > New Webhook > Copy Webhook URL). A short confirmation message is posted to the channel first; if the webhook does not accept it,… - [List Quick Agent Action jobs](https://docs.lumisreach.com/api-reference/quick-agent-actions/list-quick-agent-action-jobs.md): Returns the caller's recent Quick AI Phone Call and Quick AI Text jobs, newest first. Use `GET /v1/quick/actions/{id}` for per-number detail. - [Get a Quick Agent Action job](https://docs.lumisreach.com/api-reference/quick-agent-actions/get-a-quick-agent-action-job.md): Per-number progress for a Quick AI Phone Call or Quick AI Text job: attempt counts, live call state, messages exchanged, whether the goal was met, and why each target stopped. - [Cancel a Quick Agent Action job](https://docs.lumisreach.com/api-reference/quick-agent-actions/cancel-a-quick-agent-action-job.md): Stops remaining dials and AI text replies for the job. Calls already connected are allowed to finish. Cancelling is idempotent. - [Buy a phone number and set up its AI agent](https://docs.lumisreach.com/api-reference/quick-agent-actions/buy-a-phone-number-and-set-up-its-ai-agent.md): Provisions a new Telnyx number on the LiveKit stack and configures the AI agent that answers it — business context, system prompt, greeting, voice and language — in a single request. Set `handle_calls` (default true) for inbound AI call answering and `handle_texts` (default false) to have the same a… - [Get AI phone number status](https://docs.lumisreach.com/api-reference/quick-agent-actions/get-ai-phone-number-status.md): Provisioning state plus the configured agent for a number created with `POST /v1/quick/ai-numbers`. `status` is `provisioning` while the number is being wired up, `ready` once it can take calls, and `failed` if provisioning could not complete. - [Lincoln AI](https://docs.lumisreach.com/api-reference/lincoln.md): Hand tasks to your workspace's AI agent from code, the same agent as Dashboard → Conversations. - [Message Lincoln AI](https://docs.lumisreach.com/api-reference/lincoln-ai/message-lincoln-ai.md): Tell Lincoln AI what to do in plain language, the same as typing in Dashboard → Conversations: it plans the work and carries it out with your workspace's tools (phone numbers, voice agents, campaigns, contacts, automations, videos and more). Omit `conversation_id` to start a new conversation; pass i… - [List Lincoln AI conversations](https://docs.lumisreach.com/api-reference/lincoln-ai/list-lincoln-ai-conversations.md): Every Lincoln AI conversation in the workspace, newest first, including ones started in the dashboard. Free: reads are never billed. - [Get a Lincoln AI conversation](https://docs.lumisreach.com/api-reference/lincoln-ai/get-a-lincoln-ai-conversation.md): Where a conversation stands: `status`, Lincoln's latest `reply`, the `actions` it took, any `pending_approvals`, and the full transcript in `messages`. Poll this after `POST /v1/lincoln/messages` returns `status: working`; while Lincoln is still going, `reply` holds what it has said so far. Free: re… - [Videos](https://docs.lumisreach.com/api-reference/videos.md): Make short social videos from code, pay per video, and post them to your connected accounts. - [Quote a video](https://docs.lumisreach.com/api-reference/videos/quote-a-video.md): The price of a video with these settings (the same body as `POST /v1/videos`), without making it. Videos are priced at the cost of the providers that make them (presenter renders, generated shots and pictures, narration, rendering) plus a small markup, and charged once, when released to render; retr… - [Create a video](https://docs.lumisreach.com/api-reference/videos/create-a-video.md): Make a video with every setting the dashboard's Configure step has: the template and style, format, length, sources, presenter, background, captions and more. Send `script` to have it spoken word for word (templates that read a script only): the video skips script review and is charged now. Without… - [List videos](https://docs.lumisreach.com/api-reference/videos/list-videos.md): The workspace's videos, newest first, including ones made in the dashboard or by a posting schedule. Filter by `status`; page with `meta.cursor`. Free. - [Get a video](https://docs.lumisreach.com/api-reference/videos/get-a-video.md): Where a video stands: `status`, the script (or shot list, slides or interview) once written, what it costs (`price_cents`) and was charged (`billed_cents`), any `error`, its posts, and once `ready`, `video_url` and `thumbnail_url`. Those are signed links that work without an API key, so you can down… - [Approve a video's script](https://docs.lumisreach.com/api-reference/videos/approve-a-videos-script.md): Approve the script of a video in `script_review`, with any edits, and release it to render. Send `{}` to approve it as written. Approving is what charges the video, at the price of the approved script: the video's `price_cents` when approved as written. Set `max_price_cents` to refuse the approval,… - [Retry a video](https://docs.lumisreach.com/api-reference/videos/retry-a-video.md): Resume a `failed` video (or one stuck mid-pipeline) from where it stopped, keeping every part that was already made. Free: a video is charged once, however many times it is retried. No body. - [Delete a video](https://docs.lumisreach.com/api-reference/videos/delete-a-video.md): Delete a video and its files. Posts already published stay on the platforms. A video that was charged is not refunded. - [List music tracks](https://docs.lumisreach.com/api-reference/videos/list-music-tracks.md): The built-in library of royalty-free background tracks (hip-hop beats, lo-fi, chill, dance, feel-good, quirky, hype), cleared for every platform we post to. Pass a `track_id` as `music: { library: "lumisreach", track_id }` when creating a video. Free. - [List social connections](https://docs.lumisreach.com/api-reference/videos/list-social-connections.md): The TikTok, Instagram, Facebook, X, LinkedIn and YouTube accounts connected to the workspace (Dashboard → Connections). Pass their `id`s as `connection_ids` to post a video or run a posting schedule. Accounts are connected in the dashboard. Free. - [Post a video](https://docs.lumisreach.com/api-reference/videos/post-a-video.md): Post a `ready` video to connected social accounts (`GET /v1/social-connections`) now, or at `scheduled_for`. One post per account, so a failure on one network leaves the others alone. `caption` defaults to the video's caption and hashtags; `captions` overrides it per platform. A slideshow can go out… - [List a video's posts](https://docs.lumisreach.com/api-reference/videos/list-a-videos-posts.md): Every post of this video to a social account: scheduled, in progress, published (with its `permalink`), failed or canceled. Free. - [Cancel a scheduled post](https://docs.lumisreach.com/api-reference/videos/cancel-a-scheduled-post.md): Cancel a post that is still `scheduled`, before it goes out. A post already published or in progress cannot be canceled (400). Free. - [Video schedules](https://docs.lumisreach.com/api-reference/video-schedules.md): Keep making videos and posting them to your accounts on a cadence, with no one in the loop. - [List video schedules](https://docs.lumisreach.com/api-reference/video-schedules/list-video-schedules.md): The workspace's posting schedules (Dashboard → Create Video → Schedules), newest first, with when each next runs and about what each video costs. Free. - [Create a video schedule](https://docs.lumisreach.com/api-reference/video-schedules/create-a-video-schedule.md): Keep making videos and posting them on a cadence: `videos_per_day` on `days_of_week` at `post_hour` in `time_zone`, to `connection_ids`. Before each posting day (`notify_hours_before`), an AI director picks each video's template, angle and script from your marketing profile, `direction` and what is… - [Get a video schedule](https://docs.lumisreach.com/api-reference/video-schedules/get-a-video-schedule.md): A posting schedule: its cadence, accounts, pinned recipe, `next_run`, the last error if a video did not go out, and about what each video costs. Free. - [Update a video schedule](https://docs.lumisreach.com/api-reference/video-schedules/update-a-video-schedule.md): Change any of a schedule's fields; the ones you leave out stay as they are. `video_settings` is merged over the pinned recipe. Pause with `status: paused` and resume with `status: active`. Free. - [Delete a video schedule](https://docs.lumisreach.com/api-reference/video-schedules/delete-a-video-schedule.md): Stop and remove a posting schedule. The videos it already made, and their posts, stay. - [Skip a posting day](https://docs.lumisreach.com/api-reference/video-schedules/skip-a-posting-day.md): Skip one posting day of a schedule: nothing is made, charged or posted that day. Send `{}` to skip the next one, or `day` (YYYY-MM-DD, in the schedule's time zone) for another. Free. - [List a schedule's videos](https://docs.lumisreach.com/api-reference/video-schedules/list-a-schedules-videos.md): The videos a posting schedule has made, newest first. Read one with `GET /v1/videos/{id}` for its script, price, `video_url` and posts. Free. - [Calls, texts and contacts](https://docs.lumisreach.com/api-reference/conversations.md): Read your account's recent calls and texts, everyone you've been in touch with, and your whole history with one person. - [List calls](https://docs.lumisreach.com/api-reference/calls/list-calls.md): The workspace's calls, most recent first: inbound and outbound, AI and human, on both LumisReach voice stacks, including Quick AI Phone Calls. Each has its full transcript (plain text and speaker-labelled turns), AI summary, tags, status and duration, plus a `recording_url` to download the audio. Na… - [Get a call](https://docs.lumisreach.com/api-reference/calls/get-a-call.md): One call by id (from `GET /v1/calls`, a call webhook, `POST /v1/calls/dial`, or a Quick AI Phone Call job): the full transcript (plain text and speaker-labelled turns), AI summary, tags, status and duration, plus a `recording_url` to download the audio. Free: reads are never billed. - [Download a call recording](https://docs.lumisreach.com/api-reference/calls/download-a-call-recording.md): The call's audio file (usually `audio/mpeg`), streamed as raw bytes. Use the `recording_url` on a call from `GET /v1/calls` or `GET /v1/calls/{id}`, or build it from the call id. 404 when the call has no recording, recording was turned off for it, or it is not in your workspace. Every download is re… - [Place an outbound call from one of your numbers to a destination](https://docs.lumisreach.com/api-reference/calls/place-an-outbound-call-from-one-of-your-numbers-to-a-destination.md): Initiates a Call Control session via our Tier-1 carrier. Returns immediately with the call_id; subscribe to the webhook for status updates. Demo keys must target an allowlisted destination. - [List text messages](https://docs.lumisreach.com/api-reference/messages/list-text-messages.md): The workspace's SMS, most recent first, sent and received, on every number it texts from (including the shared LumisReach lines Quick Agent Actions use). Each has its `direction`, who wrote it (`sender`: `ai_agent`, `business` or `contact`), status and body. Narrow it to one person with `contact_id`… - [List emails with a person](https://docs.lumisreach.com/api-reference/emails/list-emails-with-a-person.md): Every email with one person, newest first: inbox and workflow email (`source: inbox`) and Quick Emails sent from the shared LumisReach address (`source: quick`). Name the person with `contact_id` or `email`. Free: reads are never billed. - [List contacts](https://docs.lumisreach.com/api-reference/contacts/list-contacts.md): Everyone the workspace has called, texted or emailed, most recently in touch first, with per-channel counts. A number or address that belongs to a saved contact is folded into that contact (`contact_id` set); someone you have not saved has `contact_id: null`. Get a saved contact's full record with `… - [Get a contact](https://docs.lumisreach.com/api-reference/contacts/get-a-contact.md): Everything your workspace knows about one contact: name, phone, email, company, job title, location, notes, tags, custom fields, per-channel consent and CRM link. Get the id from `GET /v1/contacts`, an inbound SMS webhook (`data.contact.id`) or a call or text. Free: reads are never billed. - [Current authenticated principal](https://docs.lumisreach.com/api-reference/account/current-authenticated-principal.md): Returns the user/organization backing the API key, plus the scopes it carries. - [Current account snapshot](https://docs.lumisreach.com/api-reference/account/current-account-snapshot.md): Plan tier + who the key belongs to + footprint counts. Replaces /v1/voice/account and /v1/dialer/account (which expose whitelabel-dialer-specific fields and are deprecated). - [API status](https://docs.lumisreach.com/api-reference/account/api-status.md): Whether the API is up. Needs no API key, touches no data and is never billed, so it suits uptime monitors and a "test connection" button. It does not check that your key works: call `GET /v1/me` for that. - [List sub-entities under the caller's umbrella organization](https://docs.lumisreach.com/api-reference/sub-entities/list-sub-entities-under-the-callers-umbrella-organization.md): Every managed child organization (sub-entity) of the authenticated org. Each entry includes member + phone-number counts so the caller can tell which sub-entities are live. - [Create a sub-entity under the caller's umbrella organization](https://docs.lumisreach.com/api-reference/sub-entities/create-a-sub-entity-under-the-callers-umbrella-organization.md): Creates a new managed child organization. When the key carries a user, that user becomes the owner. HIPAA is opt-in per sub-entity via PATCH, so the new sub-entity starts HIPAA-disabled. - [Retrieve a sub-entity](https://docs.lumisreach.com/api-reference/sub-entities/retrieve-a-sub-entity.md) - [Update a sub-entity](https://docs.lumisreach.com/api-reference/sub-entities/update-a-sub-entity.md): Rename or flip the `hipaa_enabled` flag. Flipping `hipaa_enabled=false` on an org with enrolled reputation numbers that require BAA coverage will surface a warning but succeed — audit the downstream state after. - [Billing summary](https://docs.lumisreach.com/api-reference/billing/billing-summary.md): The workspace's plan, prepaid wallet balance (with auto-recharge settings and recent spend), and the current monthly usage period: included voice minutes, SMS segments, emails and AI video credits, how much of each is used, and the overage charged so far (Lincoln AI API turns are never included, so… - [Usage and charges by category](https://docs.lumisreach.com/api-reference/billing/usage-and-charges-by-category.md): Usage and what the wallet was charged, split by category and subcategory: voice (outbound calls, inbound calls, branded caller ID), SMS (sent, received, MMS sent, MMS received), email, Quick Agent Actions (AI calls, AI text conversations, single texts, emails), iMessage, AI video (one charge per vid… - [List billing events](https://docs.lumisreach.com/api-reference/billing/list-billing-events.md): Every billable usage event of the current usage period, newest first: each call, text, email, AI video and Lincoln AI API turn with its direction, the other party, quantity, price, whether the plan's allowance covered it, whether a Quick Agent Action produced it, and its `source`: `api` when an API… - [List owned phone numbers](https://docs.lumisreach.com/api-reference/phone-numbers/list-owned-phone-numbers.md): Returns every Phone row owned by the caller's active organization. - [Purchase a new phone number](https://docs.lumisreach.com/api-reference/phone-numbers/purchase-a-new-phone-number.md): Initiates the durable provisioning workflow. Returns 202 with a workflow run id — poll `/v1/phone-numbers/{phone_record_id}` to see when the number goes active. The new number attaches to the caller's active organization. To buy a number AND configure its AI receptionist in one request, use `POST /v… - [Retrieve a phone number](https://docs.lumisreach.com/api-reference/phone-numbers/retrieve-a-phone-number.md): Polls for status. While provisioning is in flight, `is_active=false` and `phone_number` is a `pending:…` placeholder. Once the workflow completes, both fields update atomically. - [Update a phone number's settings](https://docs.lumisreach.com/api-reference/phone-numbers/update-a-phone-numbers-settings.md): Mutates name + recording flags + CNAM display name. CNAM is the caller-ID name shown on outbound calls (max 15 chars, US local numbers only). Setting `cnam_display_name` updates the carrier on the spot — propagation to carriers takes 24-72h. - [Release a phone number](https://docs.lumisreach.com/api-reference/phone-numbers/release-a-phone-number.md): Releases the phone number from Telnyx, removes it from the LiveKit inbound trunks, cancels the Stripe subscription line item, deletes associated call data and recordings, and removes the database record. - [Check live CNAM status](https://docs.lumisreach.com/api-reference/phone-numbers/check-live-cnam-status.md): Queries the carrier for the current CNAM status. If the carrier reports CNAM as enabled and the database status is still PENDING, it is automatically promoted to APPROVED. - [Search available phone numbers](https://docs.lumisreach.com/api-reference/phone-numbers/search-available-phone-numbers.md): Query carrier inventory for numbers matching the given filters. Returns up to 50 results per call. - [Number configuration](https://docs.lumisreach.com/api-reference/number-configuration.md): Read and change every setting of the AI agent that answers one of your numbers: voice, prompt, SMS agent, transfers, booking, phone menu and more. - [Get a number's AI configuration](https://docs.lumisreach.com/api-reference/phone-numbers/get-a-numbers-ai-configuration.md): Everything configurable on the number's Answer page in the dashboard: setup and call settings, the call agent's voice, language and prompt, the SMS auto-reply agent, knowledge, qualification questions, booking, transfer rules, SMS referrals, call forwarding and the keypad phone menu (IVR). Values ar… - [Update a number's AI configuration](https://docs.lumisreach.com/api-reference/phone-numbers/update-a-numbers-ai-configuration.md): Changes any setting on the number's Answer page. Send only what you want to change: inside a section, fields you leave out keep their current value. Lists (`transfers.rules`, `qualification.questions`, `sms_referrals`, `forwarding.sequential_targets`, `ivr.menus`) are replaced as a whole, so fetch t… - [List voices for a number](https://docs.lumisreach.com/api-reference/phone-numbers/list-voices-for-a-number.md): The voices available to this number's call agent, which depend on its stack (T2 numbers use LiveKit voices, T1 numbers Cartesia/ElevenLabs voices). Pass a `voice_id` from here as `voice.voice_id` to `PATCH /v1/phone-numbers/{id}/config`. - [List caller IDs](https://docs.lumisreach.com/api-reference/caller-ids/list-caller-ids.md): Returns all caller IDs for the authenticated team, including verification status and CNAM details. - [Start caller ID verification](https://docs.lumisreach.com/api-reference/caller-ids/start-caller-id-verification.md): Initiates a call-based verification for the given phone number. Telnyx will call the number and read a verification code that must be submitted via POST /v1/voice/caller-ids/{id}/verify. - [Update CNAM display name](https://docs.lumisreach.com/api-reference/caller-ids/update-cnam-display-name.md): Sets the CNAM display name for a verified caller ID. If the caller ID's phone number is also a Telnyx-provisioned phone, the CNAM update is pushed to the carrier. - [Submit verification code](https://docs.lumisreach.com/api-reference/caller-ids/submit-verification-code.md): Submits the verification code received during the caller ID verification call. On success the caller ID status changes to VERIFIED. - [List enterprise registrations](https://docs.lumisreach.com/api-reference/enterprise-registration/list-enterprise-registrations.md): Returns all own-brand enterprise registrations for the caller. Does not include the Lumis Laboratories umbrella enterprise. - [Create a new enterprise registration draft](https://docs.lumisreach.com/api-reference/enterprise-registration/create-a-new-enterprise-registration-draft.md): Always creates a new DRAFT enterprise registration (never upserts). Multiple enterprises per account are supported. No carrier-side calls are made here — submission to Telnyx happens via the sign-and-submit endpoint. - [Get enterprise by ID](https://docs.lumisreach.com/api-reference/enterprise-registration/get-enterprise-by-id.md): Returns a specific enterprise registration by its ID. - [Update a DRAFT enterprise registration](https://docs.lumisreach.com/api-reference/enterprise-registration/update-a-draft-enterprise-registration.md): Updates fields on a DRAFT enterprise. Rejects updates to enterprises that have left DRAFT status. - [Delete enterprise by ID](https://docs.lumisreach.com/api-reference/enterprise-registration/delete-enterprise-by-id.md): Deletes a specific enterprise registration. DRAFT records that were never submitted to Telnyx are removed directly. Active records are torn down on Telnyx and marked DELETED locally. - [Sign LOA + submit enterprise to carrier (by ID)](https://docs.lumisreach.com/api-reference/enterprise-registration/sign-loa-+-submit-enterprise-to-carrier-by-id.md): DRAFT -> PENDING_VETTING in one call. Resolves the enterprise by path parameter ID. Generates + signs the LOA PDF, uploads it to Telnyx, creates the carrier enterprise record, and enables Number Reputation. - [Submit enterprise to Telnyx (by ID)](https://docs.lumisreach.com/api-reference/enterprise-registration/submit-enterprise-to-telnyx-by-id.md): Accepts Number Reputation Terms of Service and creates the enterprise on Telnyx for the specified enterprise ID. Does NOT sign an LOA or enable reputation — those are separate steps. - [Re-sign LOA for enterprise (by ID)](https://docs.lumisreach.com/api-reference/enterprise-registration/re-sign-loa-for-enterprise-by-id.md): Use when the on-file LOA needs to be replaced for a specific enterprise. Replaces the LOA on Telnyx; the old LoaSignature row is preserved for audit. Status resets to PENDING_VETTING. - [Generate LOA PDF for enterprise (by ID)](https://docs.lumisreach.com/api-reference/enterprise-registration/generate-loa-pdf-for-enterprise-by-id.md): Generates a Letter of Authorization PDF pre-filled with the specified enterprise's data and a blank hand-signature line. Enterprise must have been submitted to Telnyx first (has telnyx_enterprise_id). - [Get the caller's enterprise registration (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/get-the-callers-enterprise-registration-deprecated.md): **Deprecated** — use `GET /v1/caller-trust/enterprises` instead for multi-enterprise support. Returns the first own-brand enterprise record if one has been registered, or null otherwise. - [Create or update the caller's enterprise registration draft (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/create-or-update-the-callers-enterprise-registration-draft-deprecated.md): **Deprecated** — use `POST /v1/caller-trust/enterprises` to create new enterprises. Idempotent upsert of the own-brand enterprise registration as DRAFT. No carrier-side calls are made here — submission to Telnyx happens in a separate sign-and-submit step. - [Generate LOA PDF for hand-signing (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/generate-loa-pdf-for-hand-signing-deprecated.md): **Deprecated** — use `POST /v1/caller-trust/enterprises/{id}/generate-loa` instead. Generates a Letter of Authorization PDF pre-filled with enterprise data and a blank hand-signature line. Enterprise must have been submitted to Telnyx first (has telnyx_enterprise_id). - [Re-sign the LOA for an enterprise (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/re-sign-the-loa-for-an-enterprise-deprecated.md): **Deprecated** — use `POST /v1/caller-trust/enterprises/{id}/resign` instead. Use when the on-file LOA needs to be replaced. Replaces the LOA on Telnyx; the old LoaSignature row is preserved for audit. Status resets to PENDING_VETTING. - [Submit enterprise to Telnyx (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/submit-enterprise-to-telnyx-deprecated.md): **Deprecated** — use `POST /v1/caller-trust/enterprises/{id}/submit` instead. Accepts Number Reputation Terms of Service and creates the enterprise on Telnyx. Does NOT sign an LOA or enable reputation — those are separate steps. - [Sign LOA + submit enterprise to carrier (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/sign-loa-+-submit-enterprise-to-carrier-deprecated.md): **Deprecated** — use `POST /v1/caller-trust/enterprises/{id}/sign-and-submit` instead. DRAFT -> PENDING_VETTING in one call. Generates + signs the LOA PDF, uploads it to Telnyx, creates the carrier enterprise record, and enables Number Reputation for it. - [Delete the caller's enterprise registration (deprecated)](https://docs.lumisreach.com/api-reference/enterprise-registration/delete-the-callers-enterprise-registration-deprecated.md): **Deprecated** — use `DELETE /v1/caller-trust/enterprises/{id}` instead. Deletes the first own-brand enterprise registration. DRAFT records that were never submitted to Telnyx are removed directly. Active records are torn down on Telnyx (enterprise + reputation) and marked DELETED locally. - [Branded Calling](https://docs.lumisreach.com/api-reference/branded-calling.md): Manage your Display Identity Record (DIR) to show your business name, logo, and call reason on recipients' screens. - [Retrieve the caller's Display Identity Record (brand)](https://docs.lumisreach.com/api-reference/branded-calling/retrieve-the-callers-display-identity-record-brand.md): Returns the display name, logo, and call reason shown on branded calls. Pre-Branded-Calling-GA, this reflects the local draft state. - [Save (or update) the Display Identity Record draft](https://docs.lumisreach.com/api-reference/branded-calling/save-or-update-the-display-identity-record-draft.md): Persists the brand display name + call reason against the caller's enterprise. Saved as DRAFT until `POST /v1/caller-trust/brand/submit` flips it to PENDING_SUBMIT (which is then batch-pushed to the carrier by a nightly worker once Branded Calling launches). - [Submit the brand profile for vetting](https://docs.lumisreach.com/api-reference/branded-calling/submit-the-brand-profile-for-vetting.md): Flips the DIR status to PENDING_SUBMIT. The actual push to the carrier happens via the nightly cron once Branded Calling is enabled. Requires `display_name`, `call_reason`, and `logo_url` to all be set. - [Place a dialer call](https://docs.lumisreach.com/api-reference/dialer-calls/place-a-dialer-call.md): Places a click-to-call dialer call that shows one of your verified caller IDs (`GET /v1/voice/caller-ids`). The call is routed through Telnyx with caller ID masking applied. For an AI agent call use `POST /v1/quick/ai-calls`; to call from one of your own numbers use `POST /v1/calls/dial`. - [List dialer calls](https://docs.lumisreach.com/api-reference/dialer-calls/list-dialer-calls.md): The workspace's dialer calls (`POST /v1/voice/calls`), with optional filtering by status, date range, and pagination. For every call, including the AI agent's, with transcripts, use `GET /v1/calls`. - [Get a dialer call](https://docs.lumisreach.com/api-reference/dialer-calls/get-a-dialer-call.md): One dialer call by id, including duration, status, and recording URL. - [Hang up a dialer call](https://docs.lumisreach.com/api-reference/dialer-calls/hang-up-a-dialer-call.md): Terminates an active call. The call must be in a ringing or in-progress state. Uses the stored Telnyx call_control_id to issue the hangup command. - [Call webhooks](https://docs.lumisreach.com/api-reference/calls/webhooks.md): Get a signed POST when a call starts, and the full transcript when it ends. - [Create a call webhook](https://docs.lumisreach.com/api-reference/calls/create-a-call-webhook.md): Registers an HTTPS URL that LumisReach POSTs to when a call on one of your numbers (or only `phone_number_id`, if given) starts (`call.started`) and when it ends (`call.ended`). `call.ended` is sent once the call's transcript is saved and carries the full transcript, as plain text and turn by turn.… - [List call webhooks](https://docs.lumisreach.com/api-reference/calls/list-call-webhooks.md): The URLs registered to receive `call.started` and/or `call.ended` events for the workspace's calls. Signing secrets are never returned. - [Delete a call webhook](https://docs.lumisreach.com/api-reference/calls/delete-a-call-webhook.md): Stops `call.started` / `call.ended` deliveries to this webhook. Retries already scheduled for it are dropped. - [Send a test call event](https://docs.lumisreach.com/api-reference/calls/send-a-test-call-event.md): POSTs a sample, correctly signed event (with `test: true`) to the webhook right away and reports how your server answered: a `call.ended` with a short transcript, or `call.started` if the webhook only listens for that. Not retried. - [Inbound SMS webhooks](https://docs.lumisreach.com/api-reference/sms/webhooks.md): Get a signed POST to your server the moment someone texts one of your numbers. - [Create an inbound SMS webhook](https://docs.lumisreach.com/api-reference/sms/create-an-inbound-sms-webhook.md): Registers an HTTPS URL that LumisReach POSTs an `sms.received` event to whenever someone texts one of your numbers (or only `phone_number_id`, if given). The event says who texted (`from` plus their contact record), which of your numbers they texted (`to`) and what they said. Works on both voice/SMS… - [List inbound SMS webhooks](https://docs.lumisreach.com/api-reference/sms/list-inbound-sms-webhooks.md): The URLs registered to receive an `sms.received` event whenever someone texts one of the workspace's numbers. Signing secrets are never returned. - [Delete an inbound SMS webhook](https://docs.lumisreach.com/api-reference/sms/delete-an-inbound-sms-webhook.md): Stops `sms.received` deliveries to this webhook. Retries already scheduled for it are dropped. - [Send a test inbound SMS event](https://docs.lumisreach.com/api-reference/sms/send-a-test-inbound-sms-event.md): POSTs a sample, correctly signed `sms.received` event (with `test: true`) to the webhook right away and reports how your server answered. Not retried. - [Stream inbound texts](https://docs.lumisreach.com/api-reference/sms/stream.md): Receive the texts people send to your numbers as Server-Sent Events (SSE). - [Send an SMS message](https://docs.lumisreach.com/api-reference/sms/send-an-sms-message.md): Sends an outbound SMS from the specified Telnyx phone number. The 'from' number must be an active Telnyx phone number owned by the authenticated organization. - [Get WebRTC connection token](https://docs.lumisreach.com/api-reference/webrtc/get-webrtc-connection-token.md): Generates a short-lived Telnyx WebRTC JWT for use with the TelnyxRTC SDK. The mobile/web client uses this token to establish a WebRTC session and dial directly from the client side. - [Upload a document (e.g. signed LOA)](https://docs.lumisreach.com/api-reference/documents/upload-a-document-eg-signed-loa.md): Uploads a base64-encoded PDF to the Telnyx Documents API. Returns a document ID that can be passed to the reputation enable endpoint. Documents expire after 30 minutes if not linked to a service — upload immediately before enabling reputation. - [Get document status](https://docs.lumisreach.com/api-reference/documents/get-document-status.md): Returns metadata for a previously uploaded document, including its verification status and antivirus scan status. - [Get Number Reputation enrollment settings](https://docs.lumisreach.com/api-reference/reputation/get-number-reputation-enrollment-settings.md): Status + check frequency for the caller's enterprise-level reputation monitoring. Returns null when the caller is on the umbrella (no per-enterprise settings). - [Enable Number Reputation monitoring](https://docs.lumisreach.com/api-reference/reputation/enable-number-reputation-monitoring.md): Enables (or re-enables) enterprise-level reputation monitoring via Telnyx/Hiya. Requires an enterprise that has been submitted to the carrier (has a telnyx_enterprise_id) and has an LOA document on file. Idempotent on REJECTED status — calling this after rejection replaces the rejected record with a… - [Update reputation check frequency](https://docs.lumisreach.com/api-reference/reputation/update-reputation-check-frequency.md): Changes how often Telnyx refreshes spam scores for enrolled numbers. Each refresh is billed per number, so this is a cost lever. Only works when reputation status is APPROVED. - [Disable Number Reputation monitoring](https://docs.lumisreach.com/api-reference/reputation/disable-number-reputation-monitoring.md): Disables reputation monitoring for the caller's enterprise. Only works when the current status is APPROVED. All enrolled numbers will stop being monitored. - [List reputation scores for every enrolled number](https://docs.lumisreach.com/api-reference/reputation/list-reputation-scores-for-every-enrolled-number.md): Returns per-phone spam risk + component scores for every number the caller owns that's enrolled under an enterprise (either umbrella or own-brand). - [Enroll phone numbers in reputation monitoring](https://docs.lumisreach.com/api-reference/reputation/enroll-phone-numbers-in-reputation-monitoring.md): Enrolls one or more phone numbers in Telnyx Number Reputation monitoring. Numbers must belong to the caller and be in US E.164 format. Enrollment is idempotent — re-enrolling an already-enrolled number is a no-op. - [Get reputation scores for a phone number](https://docs.lumisreach.com/api-reference/reputation/get-reputation-scores-for-a-phone-number.md): Returns Hiya-sourced spam risk + 0-100 component scores. Passing `fresh=true` forces a billed live query (rate-limited to 1/day/number). - [Disenroll a phone number from reputation monitoring](https://docs.lumisreach.com/api-reference/reputation/disenroll-a-phone-number-from-reputation-monitoring.md): Removes a phone number from Telnyx Number Reputation monitoring. The number must be currently enrolled. Cached reputation scores are deleted. - [Current-month usage rollup](https://docs.lumisreach.com/api-reference/usage/current-month-usage-rollup.md): Aggregated counts across all numbers the key can see: outbound calls, minutes used, and spam-risk distribution across enrolled numbers. - [Voice usage stats](https://docs.lumisreach.com/api-reference/usage/voice-usage-stats.md): Returns aggregated voice usage for the current calendar month: total calls placed, minutes used, and a breakdown by call status. - [Per-phone usage](https://docs.lumisreach.com/api-reference/usage/per-phone-usage.md): Returns voice usage for a specific phone number in the current calendar month. The phone must belong to the authenticated user or team. ## OpenAPI Specs - [openapi](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.