Documentation

API Documentation

RESTful API documentation for developers

Quick Info
Base URL
https://api.lotscrm.com
Authentication

API Key (Bearer token or X-API-Key header)

Total Endpoints

39

Getting Started

Authentication

All API requests require authentication using an API key. You can create an API key from your dashboard.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.lotscrm.com/api/v1/lotscrm/follow-ups

activities

POST
/api/v1/lotscrm/follow-ups

Create follow-up

create_follow_up

Create a due task linked to a contact, company, or deal. This schedules work; it does not send outreach.

GET
/api/v1/lotscrm/activities

Get relationship timeline

get_timeline

Get recent activities linked to any supplied contact, company, or deal.

GET
/api/v1/lotscrm/follow-ups

List follow-ups

list_follow_ups

List due, overdue, completed, or owner-assigned follow-ups. Omitted completed returns open work.

POST
/api/v1/lotscrm/activities

Record sales activity

record_activity

Record a call, meeting, email, message, note, or other completed interaction. This records history and never sends a message.

PATCH
/api/v1/lotscrm/follow-ups/:follow_up_id

Update follow-up

update_follow_up

Reschedule, reassign, edit, complete, or reopen a follow-up.

companies

DELETE
/api/v1/lotscrm/companies/:company_id

Archive company

archive_company

Recoverably archive a company; associated contacts and deals remain intact.

POST
/api/v1/lotscrm/companies

Create company

create_company

Create a company with provenance and optional custom fields.

GET
/api/v1/lotscrm/companies/:company_id

Get company

get_company

Get a company with its contacts and active deals.

GET
/api/v1/lotscrm/companies

List companies

list_companies

List active companies with search, lifecycle filtering, and pagination.

PATCH
/api/v1/lotscrm/companies/:company_id

Update company

update_company

Update a company in the selected workspace. Only the fields you send change; custom_fields merges (null removes a key).

contacts

DELETE
/api/v1/lotscrm/contacts/:contact_id

Archive contact

archive_contact

Recoverably archive a contact. Existing deal and activity history remains intact.

POST
/api/v1/lotscrm/contacts/bulk

Bulk upsert prospects

bulk_upsert_prospects

Import 1–100 researched or CSV-derived prospects. Email is the workspace deduplication key. Each row retains source and source_url provenance, and can carry tags and a company_name.

POST
/api/v1/lotscrm/contacts

Create contact

create_contact

Create a contact with consent, provenance, and optional company relationship.

GET
/api/v1/lotscrm/contacts/:contact_id

Get contact

get_contact

Get a contact with company relationships, deals, and channels.

GET
/api/v1/lotscrm/contacts

List contacts

list_contacts

List active contacts with lead status, owner, search, and pagination filters.

PATCH
/api/v1/lotscrm/contacts/:contact_id

Update contact

update_contact

Update contact qualification, consent, ownership, details, or company relationship. Only the fields you send change; custom_fields merges (null removes a key).

deals

DELETE
/api/v1/lotscrm/deals/:deal_id

Archive deal

archive_deal

Recoverably archive a deal using optimistic concurrency.

POST
/api/v1/lotscrm/deals

Create deal

create_deal

Create a deal in an owned pipeline and stage with optional company and contacts.

GET
/api/v1/lotscrm/deals/:deal_id

Get deal

get_deal

Get a deal with its stage, company, contacts, and stage history.

GET
/api/v1/lotscrm/deals

List deals

list_deals

List active deals by pipeline, stage, status, owner, or search text.

POST
/api/v1/lotscrm/deals/:deal_id/move

Move deal

move_deal

Move a deal to another stage atomically with status and stage history. Lost deals require lost_reason.

PATCH
/api/v1/lotscrm/deals/:deal_id

Update deal

update_deal

Update deal details using expected_version to prevent an agent overwriting newer work. Use move_deal for stage changes. custom_fields merges (null removes a key).

insights

GET
/api/v1/lotscrm/crm-briefing

Get CRM briefing

get_crm_briefing

Mandatory first read for CRM agents. Return the selected workspace, caller role, separately labelled public business truth and private guidance, pipeline configuration, and current sales priorities.

GET
/api/v1/lotscrm/sales-brief

Get daily sales brief

get_sales_brief

Return deterministic sales priorities together with separately labelled workspace business context projected from LotsNotes.

GET
/api/v1/lotscrm/deals/:deal_id/brief

Get deal briefing

get_deal_brief

Return complete pre-call context: workspace business context, deal, stage, company, contacts, recent activity, open follow-ups, and contact restrictions.

GET
/api/v1/lotscrm/pipeline-summary

Get pipeline summary

get_pipeline_summary

Return deal counts, raw value, and weighted value per stage and currency without mixing currencies.

POST
/api/v1/lotscrm/deals/:deal_id/prepare-follow-up

Prepare follow-up context

prepare_follow_up

Return grounded CRM and workspace business context plus safety instructions for drafting. It never sends and blocks opted-out or do-not-contact records.

GET
/api/v1/lotscrm/search

Search CRM

search_crm

Search contacts, companies, and deals in one accessible workspace.

pipeline

POST
/api/v1/lotscrm/pipelines

Create sales pipeline

create_pipeline

Create a custom pipeline with ordered open, won, and lost stages. Owner or admin required.

GET
/api/v1/lotscrm/pipelines

List sales pipelines

list_pipelines

List pipelines and their ordered stages.

workspace

POST
/api/v1/lotscrm/workspaces/:workspace_id/members

Add CRM member

add_member

Add an existing Lots Auth user to a workspace by email. Owner or admin required.

POST
/api/v1/lotscrm/workspaces

Create CRM workspace

create_workspace

Create an isolated CRM workspace. With no organization_id, also creates the owner organization and a default six-stage sales pipeline. Retry with the same idempotency_key.

GET
/api/v1/lotscrm/workspaces/:workspace_id

Get CRM workspace

get_workspace

Get one accessible CRM workspace and the caller role.

GET
/api/v1/lotscrm/workspaces/:workspace_id/members

List CRM members

list_members

List members of an accessible CRM workspace.

GET
/api/v1/lotscrm/workspaces

List CRM workspaces

list_workspaces

List active CRM workspaces available to the authenticated user.

PATCH
/api/v1/lotscrm/workspaces/:workspace_id/members/:user_id

Update CRM member

update_member

Change or suspend a workspace member. The owner cannot be changed through this tool.

PATCH
/api/v1/lotscrm/workspaces/:workspace_id

Update CRM workspace

update_workspace

Update workspace operating settings. Owner or admin required.

billing

POST
/api/v1/lotscrm/checkout

Choose a LotsCRM plan or add credits

create_checkout

Create a checkout link. Pass plan (starter, pro or business) and cycle (monthly or annual) for a plan, or amount_usd (10 to 1000) to add LotsTech Credits. Give the link to the person to pay in their browser; never ask for card details in chat.

GET
/api/v1/lotscrm/billing

Get LotsCRM billing

get_billing

Show how the caller's LotsCRM workspaces are paid for: the plan (if any), whether today is covered or paid from credits, the credit balance, and the plans to choose from. A workspace nobody pays for is read-only, never deleted.