Master API Reference
BasaltCRM provides a developer-first REST API to programmatically control your revenue operations, from core CRM entities to autonomous AI voice agents.
External API v1
Bearer-token authenticated endpoints for ecommerce integrations and headless CRM access.
Authentication
Include your API key in every request:
Authorization: Bearer sk_live_your_api_key_hereCore Dynamics
The foundational entities of BasaltCRM.
Leads
Manage potential customers and prospecting data.
/api/crm/leadsList all leads for the current team
/api/crm/leadsCreate or merge a new lead record
/api/crm/leads/[leadId]Retrieve detailed lead data
/api/crm/leads/[leadId]Update lead status and attributes
/api/crm/leads/[leadId]Remove a lead record (SOC2 Compliant)
/api/crm/leads/[leadId]/activitiesLog call/email activity
/api/crm/leads/listPaginated lead list with advanced filters
Accounts
Organizations and companies linked to contacts and deals.
/api/crm/accountList all company accounts
/api/crm/accountCreate a new organization profile
/api/crm/accountBulk update company attributes
/api/crm/account/[accountId]Archive or delete a company profile
/api/crm/account/[accountId]Get account and linked contacts
Contacts
Individual people belonging to accounts.
/api/crm/contactsList all individual contacts
/api/crm/contactsCreate contact with account linking
/api/crm/contacts/[contactId]Retrieve individual contact profile
/api/crm/contacts/[contactId]Purge contact data
Sales & Revenue
Pipeline management, invoicing, and digital commerce.
Opportunities
/api/crm/opportunityList all deals in the pipeline
/api/crm/opportunityCreate a new deal opportunity
/api/crm/opportunity/[opportunityId]Update deal stage or value
/api/crm/opportunity/[opportunityId]Discard lost or voided deals
Billing & Invoices
/api/invoiceList all team invoices
/api/invoiceGenerate a new invoice
/api/invoice/[id]Retrieve invoice payment status
Support & Success
Case management, SLA tracking, and help center access.
Cases & Tickets
/api/crm/casesList team support cases
/api/crm/casesCreate new support ticket
/api/crm/casesUpdate case status or assignment
/api/crm/cases/[caseId]Get full case history
Knowledge Base
/api/crm/knowledge/articlesFetch help center articles
/api/crm/knowledge/categoriesBrowse article categories
Growth & AI
Lead automation and real-time voice intelligence.
Lead Pools & LeadGen
/api/crm/leads/poolsBrowse intelligence lead pools
/api/crm/leads/autogenTrigger LeadGen Wizard job
/api/crm/leads/poolsPurge lead pool and associated data
Voice & AI (BasaltECHO)
/api/voice/engage/webhookBasaltECHO event receiver
/api/oauth/tokenBasaltECHO connection token
Agent Commerce (UCP)
/api/v1/agent/catalogFetch agent-discoverable services
/api/v1/agent/purchase/[sku]Generate 402 Payment Challenge for SKU
/api/v1/agent/purchase/[sku]Finalize purchase with payment proof
Operations
Calendar synchronization and scheduling.
Calendar & Events
/api/calendar/eventsList upcoming team meetings
/api/calendar/scheduleBook a new meeting slot
/api/calendar/availabilityCheck user or team availability
Global Auth
All CRM routes require a valid session or Bearer token. Use theAuthentication Guideto retrieve your connection tokens.
Concurrency
BasaltCRM supports up to 10 concurrent requests per API key. Bulk operations should be batched via the /api/crm/leads/pools/import endpoint.