# AnyCRM API > REST API reference for the AnyCRM backend. ## Docs - [Introduction](https://docs.anycrm.anyreach.ai/introduction.md): What the AnyCRM API is, and how this documentation is organized - [Authentication](https://docs.anycrm.anyreach.ai/authentication.md): Bearer tokens, organization API keys, personal access tokens, and the scopes that gate each endpoint - [Errors & Pagination](https://docs.anycrm.anyreach.ai/errors-and-pagination.md): The error body shape, HTTP status conventions, and how list endpoints paginate - [Contacts](https://docs.anycrm.anyreach.ai/concepts/contacts.md): People, the funnel they move through, and how they connect to accounts and deals - [Deals](https://docs.anycrm.anyreach.ai/concepts/deals.md): Sales opportunities, the pipeline they move through, and the AI-generated intelligence that rides alongside them - [Accounts](https://docs.anycrm.anyreach.ai/concepts/accounts.md): Companies — the entity contacts and deals roll up to - [Activities](https://docs.anycrm.anyreach.ai/concepts/activities.md): The calls, emails, meetings, and tasks that make up a relationship's history - [Tags](https://docs.anycrm.anyreach.ai/concepts/tags.md): The lightweight, org-wide labeling vocabulary shared across deals and contacts - [Files & Folders](https://docs.anycrm.anyreach.ai/concepts/files-and-folders.md): Uploaded file storage, organized into folders and attached to CRM records - [Notifications](https://docs.anycrm.anyreach.ai/concepts/notifications.md): How AnyCRM's event-driven notification system works, and where the API surface for it actually is - [Reports](https://docs.anycrm.anyreach.ai/concepts/reports.md): Generating and emailing rep activity reports - [Customer Intelligence](https://docs.anycrm.anyreach.ai/concepts/customer-intelligence.md): AI-driven account research: turn a handful of seeds into scored, enriched targets with ready-to-send collateral - [Outreach](https://docs.anycrm.anyreach.ai/concepts/outreach.md): The cold-email management console — domains, mailboxes, and campaigns on top of the SalesForge stack - [AnyCard](https://docs.anycrm.anyreach.ai/concepts/anycard.md): AnyCRM's digital business-card and lead-capture product — the public-facing side of the CRM - [AI Features](https://docs.anycrm.anyreach.ai/concepts/ai-features.md): The two AI surfaces in AnyCRM — an action-taking chat copilot, and a read-only analytics assistant - [Account Readiness](https://docs.anycrm.anyreach.ai/concepts/account-readiness.md): AI-scored signals on whether an account is ready for a particular kind of sales motion - [List Contacts](https://docs.anycrm.anyreach.ai/api-reference/contacts/list-contacts.md): List contacts (one page) with the full match count in ``X-Total-Count``. - [Export Contacts as CSV](https://docs.anycrm.anyreach.ai/api-reference/contacts/export-contacts.md): Stream contacts as a CSV download. Same filters as the list endpoint. - [Create a Contact](https://docs.anycrm.anyreach.ai/api-reference/contacts/create-contact.md) - [Update a Contact](https://docs.anycrm.anyreach.ai/api-reference/contacts/update-contact.md) - [Get a Contact](https://docs.anycrm.anyreach.ai/api-reference/contacts/get-contact.md) - [Mark a Contact as Responded](https://docs.anycrm.anyreach.ai/api-reference/contacts/respond.md): Mark a contact as having responded (target → lead). Idempotent. - [Disqualify a Contact](https://docs.anycrm.anyreach.ai/api-reference/contacts/disqualify.md): Archive a contact (set ``disqualified_at``) or clear it with ``?disqualify=false``. Stage is left unchanged. - [Convert a Contact](https://docs.anycrm.anyreach.ai/api-reference/contacts/convert.md): Advance a contact lead → contact (won/customer). - [Bulk-Promote Contacts by Domain](https://docs.anycrm.anyreach.ai/api-reference/contacts/promote.md) - [Start a CSV Upload](https://docs.anycrm.anyreach.ai/api-reference/contacts/import-upload-init.md): Issue a presigned S3 PUT URL so the browser uploads the CSV directly (bypassing the Next.js server-action body limit). Returns the URL + the ``s3_key`` to pass to preview/import. - [Preview a CSV Mapping](https://docs.anycrm.anyreach.ai/api-reference/contacts/import-preview.md): Parse the stashed CSV's headers + a sample and return auto-detected column suggestions and the assignable fields for the mapping UI. - [Start an Import](https://docs.anycrm.anyreach.ai/api-reference/contacts/import-start.md): Start an async import of the stashed CSV with a confirmed mapping. - [Get Import Status](https://docs.anycrm.anyreach.ai/api-reference/contacts/import-status.md): Poll import progress + results. DB-only — activities write to the job row directly (same convention as enrich-status). - [Start Enrichment](https://docs.anycrm.anyreach.ai/api-reference/contacts/enrich.md): Enqueue a Temporal enrichment workflow for the contact. - [Get Enrichment Status](https://docs.anycrm.anyreach.ai/api-reference/contacts/enrich-status.md): Poll enrichment progress. No Temporal query needed — activities write progress to the DB directly. - [List Visible Stages](https://docs.anycrm.anyreach.ai/api-reference/deals/list-stages.md) - [List All Stages](https://docs.anycrm.anyreach.ai/api-reference/deals/list-all-stages.md): Admin endpoint — returns all stages including hidden ones. - [Create a Stage](https://docs.anycrm.anyreach.ai/api-reference/deals/create-stage.md) - [Update a Stage](https://docs.anycrm.anyreach.ai/api-reference/deals/update-stage.md) - [Count Deals in a Stage](https://docs.anycrm.anyreach.ai/api-reference/deals/stage-deal-count.md): Returns count of active deals in a stage — used to warn before hiding. - [Delete a Stage](https://docs.anycrm.anyreach.ai/api-reference/deals/delete-stage.md) - [Reorder Stages](https://docs.anycrm.anyreach.ai/api-reference/deals/reorder-stages.md) - [List Deals](https://docs.anycrm.anyreach.ai/api-reference/deals/list-deals.md) - [KPI Tiles](https://docs.anycrm.anyreach.ai/api-reference/deals/deals-kpis.md): Header KPI tiles, aggregated in the DB (deal_kpis view, or deal_kpis_search when `q` is set), in display shape. - [Kanban Board](https://docs.anycrm.anyreach.ai/api-reference/deals/deals-board.md): Kanban board columns without loading every deal. - [Get a Deal](https://docs.anycrm.anyreach.ai/api-reference/deals/get-deal.md) - [Create a Deal](https://docs.anycrm.anyreach.ai/api-reference/deals/create-deal.md) - [Update a Deal](https://docs.anycrm.anyreach.ai/api-reference/deals/update-deal.md) - [Win-Probability Calibration](https://docs.anycrm.anyreach.ai/api-reference/deals/win-probability-calibration.md): Return predicted-vs-actual win probability calibration from closed deal history. - [Log an Activity](https://docs.anycrm.anyreach.ai/api-reference/deals/log-activity.md) - [Link a Contact to a Deal](https://docs.anycrm.anyreach.ai/api-reference/deals/link-contact.md) - [Unlink a Contact from a Deal](https://docs.anycrm.anyreach.ai/api-reference/deals/unlink-contact.md) - [Detect Competitors](https://docs.anycrm.anyreach.ai/api-reference/deals/detect-competitors.md) - [Get the Latest Competitive Brief](https://docs.anycrm.anyreach.ai/api-reference/deals/get-competitive-intelligence.md) - [List Brief History](https://docs.anycrm.anyreach.ai/api-reference/deals/competitive-intelligence-history.md) - [Get a Specific Brief](https://docs.anycrm.anyreach.ai/api-reference/deals/get-competitive-brief.md) - [Generate a Competitive Brief](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-competitive-intelligence.md) - [Get Stakeholder Intel](https://docs.anycrm.anyreach.ai/api-reference/deals/get-stakeholders.md) - [Regenerate Stakeholder Intel](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-stakeholders.md) - [List Meetings](https://docs.anycrm.anyreach.ai/api-reference/deals/sales-intel-meetings.md) - [Get Call Intelligence](https://docs.anycrm.anyreach.ai/api-reference/deals/get-call-intelligence.md) - [Generate Call Intelligence](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-call-intelligence.md) - [Get Situation-Room Context](https://docs.anycrm.anyreach.ai/api-reference/deals/war-room-context.md) - [Regenerate Situation-Room Context](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-war-room-context.md) - [Regenerate Signals](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-war-room-signals.md): Alias for context generate — signals are embedded in the situation-room payload. - [List Scenarios](https://docs.anycrm.anyreach.ai/api-reference/deals/list-scenarios.md) - [Get a Scenario](https://docs.anycrm.anyreach.ai/api-reference/deals/get-scenario.md) - [Delete a Scenario](https://docs.anycrm.anyreach.ai/api-reference/deals/delete-scenario.md) - [Run a Scenario](https://docs.anycrm.anyreach.ai/api-reference/deals/run-scenario.md) - [Generate a Deal Brief](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-brief.md) - [Refresh Health Score](https://docs.anycrm.anyreach.ai/api-reference/deals/refresh-health.md) - [Create an Action](https://docs.anycrm.anyreach.ai/api-reference/deals/create-action.md) - [Generate Actions](https://docs.anycrm.anyreach.ai/api-reference/deals/generate-actions.md) - [Update an Action](https://docs.anycrm.anyreach.ai/api-reference/deals/update-action.md) - [List Accounts](https://docs.anycrm.anyreach.ai/api-reference/accounts/list-accounts.md) - [Create an Account](https://docs.anycrm.anyreach.ai/api-reference/accounts/create-account.md) - [List an Account's Contacts](https://docs.anycrm.anyreach.ai/api-reference/accounts/list-account-contacts.md) - [Update an Account](https://docs.anycrm.anyreach.ai/api-reference/accounts/update-account.md) - [Log an Activity on an Account](https://docs.anycrm.anyreach.ai/api-reference/accounts/log-activity.md): Log an activity (note, call, meeting, email, task) on an account. - [Refresh Account Health](https://docs.anycrm.anyreach.ai/api-reference/accounts/refresh-health.md) - [Get Latest Account Health](https://docs.anycrm.anyreach.ai/api-reference/accounts/get-health.md) - [Link an Activity to a Deal](https://docs.anycrm.anyreach.ai/api-reference/activities/link-deal.md): Attach an existing account-level activity to a deal. - [Link an Activity to an Account](https://docs.anycrm.anyreach.ai/api-reference/activities/link-account.md): Link an activity to an account. Clears any deal_id (a deal belongs to an account, so changing the account invalidates the deal link). - [Unlink an Activity from its Account](https://docs.anycrm.anyreach.ai/api-reference/activities/unlink-account.md): Clear an activity's account_id (and deal_id, since deals belong to accounts). - [Unlink an Activity from its Deal](https://docs.anycrm.anyreach.ai/api-reference/activities/unlink-deal.md): Clear an activity's deal_id (keeps the account link). - [Update an Activity](https://docs.anycrm.anyreach.ai/api-reference/activities/update-activity.md): Edit an activity's content (type/subject/body/contact_id) and deal link. - [Delete an Activity](https://docs.anycrm.anyreach.ai/api-reference/activities/delete-activity.md): Delete an activity (user-created only; system-generated rows are 403). - [List an Account's Activities](https://docs.anycrm.anyreach.ai/api-reference/activities/list-by-account.md): List activities for an account. - [List Meetings](https://docs.anycrm.anyreach.ai/api-reference/activities/list-meetings.md): List meetings (activities with type='meeting') for the active org. - [List Activities (Global Feed)](https://docs.anycrm.anyreach.ai/api-reference/activities/list-activities.md): Global activity feed for the active org with filters. - [Get an Activity](https://docs.anycrm.anyreach.ai/api-reference/activities/get-activity.md): Fetch a single activity (any type) with embedded account/deal/contact details. - [Get a Meeting](https://docs.anycrm.anyreach.ai/api-reference/activities/get-meeting.md): Fetch a single meeting with embedded account/deal/contact details. - [List Tags](https://docs.anycrm.anyreach.ai/api-reference/tags/list-tags.md) - [Create a Tag](https://docs.anycrm.anyreach.ai/api-reference/tags/create-tag.md) - [Delete a Tag](https://docs.anycrm.anyreach.ai/api-reference/tags/delete-tag.md) - [Initiate an Upload](https://docs.anycrm.anyreach.ai/api-reference/files/upload-init.md): Step 1 of the two-step upload flow. - [Confirm an Upload](https://docs.anycrm.anyreach.ai/api-reference/files/confirm-upload.md): Mark a file as `status='uploaded'` once the browser's S3 PUT succeeded. - [Abort an Upload](https://docs.anycrm.anyreach.ai/api-reference/files/abort-upload.md): Hard-delete a file row whose S3 PUT failed. - [List Files](https://docs.anycrm.anyreach.ai/api-reference/files/list-files.md): List files for the active org with optional filters. - [Get a Download URL](https://docs.anycrm.anyreach.ai/api-reference/files/download-url.md): Return a short-lived presigned GET URL for downloading a file. - [Get Extracted Text Content](https://docs.anycrm.anyreach.ai/api-reference/files/text-content.md): Return the decoded text of a text-like file for in-browser preview. - [Generate an AI Description](https://docs.anycrm.anyreach.ai/api-reference/files/generate-description.md): Generate an AI one-liner description for a file and persist it. - [Update a File](https://docs.anycrm.anyreach.ai/api-reference/files/update-file.md): Update file metadata (display_name, folder_id, tags, description). - [Delete a File](https://docs.anycrm.anyreach.ai/api-reference/files/delete-file.md): Soft-delete a file by setting archived_at. The S3 object is retained. - [Attach a File to an Entity](https://docs.anycrm.anyreach.ai/api-reference/files/attach.md): Attach an existing file to a CRM entity. - [Detach a File from an Entity](https://docs.anycrm.anyreach.ai/api-reference/files/detach.md): Remove a file↔entity link without deleting the file. - [List Files Attached to an Entity](https://docs.anycrm.anyreach.ai/api-reference/files/by-entity.md): List all non-archived files attached to a specific entity. - [List Folders](https://docs.anycrm.anyreach.ai/api-reference/folders/list-folders.md): List every non-archived folder for the active org (flat array). - [Create a Folder](https://docs.anycrm.anyreach.ai/api-reference/folders/create-folder.md): Create a folder. parent_id=NULL creates a root-level folder. - [Update a Folder](https://docs.anycrm.anyreach.ai/api-reference/folders/update-folder.md): Rename and/or move a folder. Rejects cycles. - [Delete a Folder](https://docs.anycrm.anyreach.ai/api-reference/folders/delete-folder.md): Soft-delete a folder. - [Emit a Notification Event](https://docs.anycrm.anyreach.ai/api-reference/notifications/emit-event.md) - [Get the Event Catalog](https://docs.anycrm.anyreach.ai/api-reference/notifications/event-catalog.md) - [Email an Activity Report](https://docs.anycrm.anyreach.ai/api-reference/reports/email-activity-report.md): Queue the activity report and email it to the caller. - [List Organization API Keys](https://docs.anycrm.anyreach.ai/api-reference/pats/list-org-keys.md) - [Create an Organization API Key](https://docs.anycrm.anyreach.ai/api-reference/pats/create-org-key.md) - [Delete an Organization API Key](https://docs.anycrm.anyreach.ai/api-reference/pats/delete-org-key.md) - [List User Personal Access Tokens](https://docs.anycrm.anyreach.ai/api-reference/pats/list-user-pats.md) - [Create a User Personal Access Token](https://docs.anycrm.anyreach.ai/api-reference/pats/create-user-pat.md) - [Rename a User Personal Access Token](https://docs.anycrm.anyreach.ai/api-reference/pats/rename-user-pat.md) - [Delete a User Personal Access Token](https://docs.anycrm.anyreach.ai/api-reference/pats/delete-user-pat.md) - [Exchange a PAT/Key for an Access Token](https://docs.anycrm.anyreach.ai/api-reference/pats/exchange.md) - [Sync Pipedream Apps](https://docs.anycrm.anyreach.ai/api-reference/integrations/sync-pipedream-apps.md): Sync the Pipedream app catalog into pipedream_apps. Can be called by any authenticated user. - [Issue Connect Token](https://docs.anycrm.anyreach.ai/api-reference/integrations/issue-connect-token.md): Issue a short-lived Pipedream Connect token for the frontend popup. - [List Connected Accounts](https://docs.anycrm.anyreach.ai/api-reference/integrations/list-connected-accounts.md): List the current user's Pipedream connected accounts for their active org. - [Save Connected Account](https://docs.anycrm.anyreach.ai/api-reference/integrations/save-connected-account.md): Upsert a Pipedream connected account after the user completes OAuth. - [Delete Connected Account](https://docs.anycrm.anyreach.ai/api-reference/integrations/delete-connected-account.md): Soft-delete (disconnect) a Pipedream connected account. - [Sync One Pipedream Account](https://docs.anycrm.anyreach.ai/api-reference/integrations/sync-one-pipedream-account.md): Trigger an immediate sync for a single connected account. Returns the raw outcome. - [List Organization Integrations](https://docs.anycrm.anyreach.ai/api-reference/integrations/list-organization-integrations.md): List all API credential integrations for the current org. - [Connect Organization Integration](https://docs.anycrm.anyreach.ai/api-reference/integrations/connect-organization-integration.md): Store org-level API credentials (admin only). - [Test Organization Integration](https://docs.anycrm.anyreach.ai/api-reference/integrations/test-organization-integration.md): Test API credentials before saving. - [Disconnect Organization Integration](https://docs.anycrm.anyreach.ai/api-reference/integrations/disconnect-organization-integration.md): Disconnect an org integration, clearing credentials (admin only). - [Chat Sse](https://docs.anycrm.anyreach.ai/api-reference/ai/chat-sse.md) - [Org Members](https://docs.anycrm.anyreach.ai/api-reference/ai/org-members.md) - [Resolve Company](https://docs.anycrm.anyreach.ai/api-reference/ai/resolve-company.md): Derive a company's name, domain, website and industry from one hint. - [Commit Account](https://docs.anycrm.anyreach.ai/api-reference/ai/commit-account.md) - [Commit Activity](https://docs.anycrm.anyreach.ai/api-reference/ai/commit-activity.md): Log an activity via the AI skill (scope: activities:manage). - [Suggest Deal Names](https://docs.anycrm.anyreach.ai/api-reference/ai/suggest-deal-names.md): Generate 4 concise deal name suggestions from account + description. - [Polish Deal Description](https://docs.anycrm.anyreach.ai/api-reference/ai/polish-deal-description.md): Rewrite a raw deal note into a polished 2–3 sentence description. - [Commit Deal](https://docs.anycrm.anyreach.ai/api-reference/ai/commit-deal.md): Create a deal via the AI skill (scope: deals:manage). - [List Conversations Endpoint](https://docs.anycrm.anyreach.ai/api-reference/ai/list-conversations-endpoint.md) - [Create Conversation Endpoint](https://docs.anycrm.anyreach.ai/api-reference/ai/create-conversation-endpoint.md) - [Get Messages Endpoint](https://docs.anycrm.anyreach.ai/api-reference/ai/get-messages-endpoint.md) - [Append Messages Endpoint](https://docs.anycrm.anyreach.ai/api-reference/ai/append-messages-endpoint.md) - [Assistant Chat](https://docs.anycrm.anyreach.ai/api-reference/analytics-assistant/assistant-chat.md) - [Feedback Attachment Upload Url](https://docs.anycrm.anyreach.ai/api-reference/feedback/feedback-attachment-upload-url.md): Presign a PUT URL for a feedback attachment. - [List My Feedback](https://docs.anycrm.anyreach.ai/api-reference/feedback/list-my-feedback.md): The caller's own tickets (privacy: filtered by the caller's email). - [Create Feedback](https://docs.anycrm.anyreach.ai/api-reference/feedback/create-feedback.md): File a feedback ticket. Any signed-in user; attributed by their email. - [Get My Feedback](https://docs.anycrm.anyreach.ai/api-reference/feedback/get-my-feedback.md): One of the caller's own tickets, with presigned attachments. - [Get Config](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-config.md): Org's saved BPO positioning + ICP — used to pre-fill the new-run form (and overridable per run). Always returns defaults when unset. - [Upsert Config](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/upsert-config.md): Save the org's default BPO positioning + ICP. - [Upload Document](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/upload-document.md): Store an uploaded lead document in S3 and return its key. The key is later passed in the run-create body and read by ci_extract_document. - [List Runs](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/list-runs.md) - [Create Run](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/create-run.md) - [Revise Deliverables](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/revise-deliverables.md): Rebuild one or more already-generated deliverables, optionally steered by free-text feedback. Re-builds + re-renders (+ re-polishes PDFs) the selected kinds; blank feedback is a plain redo. - [Get Result Deliverable Status](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-result-deliverable-status.md): Lightweight per-part status the Deliverable Studio editor polls: reads one result row and returns each kind's status/version + the CX report + demo state. No workflow, no fat re-read — the mutation endpoints do the work. - [Get Override Schema](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-override-schema.md): The tier-filtered override catalog for this result's present deliverables, plus the caller's `is_superadmin` flag. Drives the Studio's field rendering (advanced fields are omitted for non-superadmins). Read-only. - [Build Result Report](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/build-result-report.md): Build the full deliverable set for one already-researched company. - [Regenerate Demo](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/regenerate-demo.md): Re-provision the live demo agent and re-attach it to the existing CX report. Requires a CX report on the result (there's nothing to attach a demo to otherwise). Fully async: starts CustomerIntelDemoWorkflow on the cx-reports queue and returns 202; the editor polls status. - [Set Manual Demo](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/set-manual-demo.md): Attach an operator-supplied demo URL (the bot-blocked-site workaround) to the CX report — Anyreach staff only. The share page reflects it in place; with `rerender`, the PDF + deck re-render to embed it too. Returns 202. - [Edit Deliverable](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/edit-deliverable.md): Hand-edit a single-source deliverable (outreach email / stakeholder brief / ROI model). Fully queued: persists `pending`, then the edit-mode revise workflow writes the edited JSON and re-renders. Returns 202. - [Get Cx Report Content](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-cx-report-content.md): Return the CX report's editable content (from S3) so the editor can pre-fill fields. `editable` is False for legacy reports that predate copy-blobs.json (hand-editing needs a one-time regenerate first). Advanced buckets (`analysis`, `brand`) are returned only for Anyreach superadmins. - [Edit Cx Report](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/edit-cx-report.md): Hand-edit the shared CX-report content (narrative + analysis) and re-render the PDF + review xlsx + deck together via the render-only path (no scrape/analyze/copy LLM). Fully queued; returns 202. - [Preview Cx Report](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/preview-cx-report.md): Render the CX trio from the draft to throwaway preview keys — never the live files or the ``/share`` link. Supersedes any in-flight preview for this result. Fully queued; the status endpoint surfaces the preview URLs. - [Preview Deliverable](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/preview-deliverable.md): Render a draft schema-kind deliverable to throwaway preview keys — never the live file. Supersedes any in-flight preview for this part. Returns 202; the status endpoint surfaces the preview URL. - [Restore Cx Report](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/restore-cx-report.md): Restore the CX report to an archived revision — Anyreach staff only. Reads the archived source and re-commits it through the normal edit path, which snapshots the current version first (so the restore is itself reversible). - [List Run Exports](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/list-run-exports.md) - [Request Run Export](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/request-run-export.md): Start a durable server-side export of the run's targets (+ contacts) as CSV or XLSX. Deduped: an identical export already in flight is returned instead of starting a second one (partial unique index backs the race). - [Get Run](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-run.md) - [Rename Run](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/rename-run.md): Rename a run. Only the human-friendly `name` is editable; every other run field is workflow-owned. - [Get Run Status](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-run-status.md): Lightweight poll target for the run detail page: status + counters + gate + exports, but NOT the results array. `get_run` (above) reads every result row via a select-* over the fat JSONB — far too heavy to run every 5s — so the page's progress poller hits this instead and refreshes full results via… - [List Results](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/list-results.md) - [Get Result](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-result.md) - [Get Result File Url](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-result-file-url.md): Presign a single deliverable on demand. The run-detail table sends only file names; the browser calls this when the user opens or downloads one, so we never presign hundreds of URLs upfront (that pinned CPU on large runs). - [Submit Resolution](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/submit-resolution.md) - [Submit Shortlist](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/submit-shortlist.md) - [Cancel Run](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/cancel-run.md) - [Get Report Views](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/get-report-views.md): Who opened the shared brief — the share page's email gate logs every viewer into ``cx_report_public_views`` (RLS-scoped to the org); this surfaces it for the run page's engagement panel. - [Public Report](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/public-report.md): Public read for the shareable report page (no JWT). Gated by an optional HMAC token when CX_BRIEF_SHARE_SECRET is set; otherwise readable by UUID. - [Public Report Visit](https://docs.anycrm.anyreach.ai/api-reference/customer-intelligence/public-report-visit.md): Email-gate log: record an email that opened the public link (no JWT). - [Get Workspace Status](https://docs.anycrm.anyreach.ai/api-reference/outreach/get-workspace-status.md): Used by every Outreach page to decide connected vs "contact admin". - [List Domains](https://docs.anycrm.anyreach.ai/api-reference/outreach/list-domains.md) - [Buy Domain](https://docs.anycrm.anyreach.ai/api-reference/outreach/buy-domain.md) - [Search Domains](https://docs.anycrm.anyreach.ai/api-reference/outreach/search-domains.md) - [Get Domain](https://docs.anycrm.anyreach.ai/api-reference/outreach/get-domain.md) - [Delete Domain](https://docs.anycrm.anyreach.ai/api-reference/outreach/delete-domain.md) - [Get Domain Dns](https://docs.anycrm.anyreach.ai/api-reference/outreach/get-domain-dns.md) - [Set Domain Autorenew](https://docs.anycrm.anyreach.ai/api-reference/outreach/set-domain-autorenew.md) - [List Mailboxes](https://docs.anycrm.anyreach.ai/api-reference/outreach/list-mailboxes.md) - [Create Mailbox](https://docs.anycrm.anyreach.ai/api-reference/outreach/create-mailbox.md) - [Get Mailbox](https://docs.anycrm.anyreach.ai/api-reference/outreach/get-mailbox.md) - [Delete Mailbox](https://docs.anycrm.anyreach.ai/api-reference/outreach/delete-mailbox.md) - [Sync Mailboxes](https://docs.anycrm.anyreach.ai/api-reference/outreach/sync-mailboxes.md): "Refresh now" — start a per-org OutreachSyncWorkflow pass. - [List Campaigns](https://docs.anycrm.anyreach.ai/api-reference/outreach/list-campaigns.md) - [Create Campaign](https://docs.anycrm.anyreach.ai/api-reference/outreach/create-campaign.md) - [List Step Catalog](https://docs.anycrm.anyreach.ai/api-reference/outreach/list-step-catalog.md): The multichannel action + condition catalog that drives the builder's step picker. LinkedIn entries are excluded (no LinkedIn-account infra here), so only email/universal steps — which our email stack can run — are offered. Normalization lives in the integration layer so imported sequences are re-la… - [Get Campaign](https://docs.anycrm.anyreach.ai/api-reference/outreach/get-campaign.md) - [Delete Campaign](https://docs.anycrm.anyreach.ai/api-reference/outreach/delete-campaign.md): Delete a campaign: remove the Salesforge MC sequence (best-effort — a sequence that's already gone shouldn't block local cleanup), then the local record (enrollments cascade). - [Update Campaign](https://docs.anycrm.anyreach.ai/api-reference/outreach/update-campaign.md): Update editable campaign properties (rename, timezone), mirroring both to the Salesforge MC sequence. - [Set Campaign Definition](https://docs.anycrm.anyreach.ai/api-reference/outreach/set-campaign-definition.md): Save the workflow-builder graph. The canonical graph is the local ``definition`` (always persisted here, fast and authoritative), and is then materialized into the Salesforge MC node-graph via ``definition_to_mc`` so a draft's sequence stays in sync as it's built. The MC rebuild is idempotent, so re… - [Set Campaign Schedule](https://docs.anycrm.anyreach.ai/api-reference/outreach/set-campaign-schedule.md) - [Get Campaign Settings](https://docs.anycrm.anyreach.ai/api-reference/outreach/get-campaign-settings.md) - [Set Campaign Settings](https://docs.anycrm.anyreach.ai/api-reference/outreach/set-campaign-settings.md) - [Set Campaign Mailboxes](https://docs.anycrm.anyreach.ai/api-reference/outreach/set-campaign-mailboxes.md): Assign the sending pool. Validates + persists the selection and reconciles it onto the Salesforge sequence (as MC sender profiles) right away — drafts included, so what's selected in AnyCRM always matches Salesforge. The reconcile adds newly selected senders and detaches removed ones, and an empty s… - [Add Campaign Contacts](https://docs.anycrm.anyreach.ai/api-reference/outreach/add-campaign-contacts.md): Add contacts to the audience. Each contact is recorded in AnyCRM, then upserted into Salesforge (created if new, updated if the email already exists) and enrolled into the sequence right away. Allowed while the campaign is draft or paused (enrolling a not-yet-sending sequence is fine; leads simply w… - [Remove Campaign Contacts](https://docs.anycrm.anyreach.ai/api-reference/outreach/remove-campaign-contacts.md): Remove contacts from the audience: unassign the lead from the Salesforge sequence (enrollments/remove by id), then drop the local enrollment record. - [Email Media Upload Url](https://docs.anycrm.anyreach.ai/api-reference/outreach/email-media-upload-url.md): Presign a PUT for an image the rep drops into an email body. - [Launch Campaign](https://docs.anycrm.anyreach.ai/api-reference/outreach/launch-campaign.md): Go live. First launch reconciles the graph, imports the staged audience + sender pool into the MC sequence, then launches it; resuming a paused campaign just re-activates (its leads/senders are already attached). - [Pause Campaign](https://docs.anycrm.anyreach.ai/api-reference/outreach/pause-campaign.md) - [Refresh Campaign Report](https://docs.anycrm.anyreach.ai/api-reference/outreach/refresh-campaign-report.md) - [Salesforge Webhook](https://docs.anycrm.anyreach.ai/api-reference/outreach/salesforge-webhook.md): Receive a Salesforge engagement event for ``org_id`` and reconcile the enrolled contact. Always returns 202 (we never want Salesforge retrying on a contact we can't resolve); the body reports what was matched/applied. - [List Cards](https://docs.anycrm.anyreach.ai/api-reference/anycard/list-cards.md) - [Create Card](https://docs.anycrm.anyreach.ai/api-reference/anycard/create-card.md) - [Get Card](https://docs.anycrm.anyreach.ai/api-reference/anycard/get-card.md) - [Patch Card](https://docs.anycrm.anyreach.ai/api-reference/anycard/patch-card.md) - [Claim Handle](https://docs.anycrm.anyreach.ai/api-reference/anycard/claim-handle.md): Claim or change a card's handle. - [Add Card Field](https://docs.anycrm.anyreach.ai/api-reference/anycard/add-card-field.md) - [Delete Card Field](https://docs.anycrm.anyreach.ai/api-reference/anycard/delete-card-field.md) - [Patch Card Field](https://docs.anycrm.anyreach.ai/api-reference/anycard/patch-card-field.md) - [Card Photo Upload Url](https://docs.anycrm.anyreach.ai/api-reference/anycard/card-photo-upload-url.md): Issue a presigned PUT URL so the browser can upload a photo/logo directly to S3 without proxying the bytes through the API. - [Get Apple Wallet Pass](https://docs.anycrm.anyreach.ai/api-reference/anycard/get-apple-wallet-pass.md): Return a signed .pkpass bundle for an Apple Wallet install. - [Get Google Wallet Save Url](https://docs.anycrm.anyreach.ai/api-reference/anycard/get-google-wallet-save-url.md): Return a Google Wallet "Save to Google Wallet" URL for the card. - [Get Card Signature](https://docs.anycrm.anyreach.ai/api-reference/anycard/get-card-signature.md): Return the rep's email-signature HTML for paste into Gmail / Outlook / Apple Mail signature settings. - [Issue Capture Upload Url](https://docs.anycrm.anyreach.ai/api-reference/anycard/issue-capture-upload-url.md): Presigned PUT for a unique capture key. - [Extract Capture](https://docs.anycrm.anyreach.ai/api-reference/anycard/extract-capture.md): Run vision OCR on an already-uploaded capture. - [Confirm Capture](https://docs.anycrm.anyreach.ai/api-reference/anycard/confirm-capture.md): Write a `leads` row from a confirmed OCR result. - [Trigger Agent Demo](https://docs.anycrm.anyreach.ai/api-reference/anycard/trigger-agent-demo.md): Fire the Anyreach Platform's ``/core/agents/create-demo`` against a captured lead's company domain. - [Get Agent Demo Status](https://docs.anycrm.anyreach.ai/api-reference/anycard/get-agent-demo-status.md): Read the persisted agent_demo_* fields off the lead row. - [Issue Audio Note Upload Url](https://docs.anycrm.anyreach.ai/api-reference/anycard/issue-audio-note-upload-url.md): Presigned PUT for an audio note attached to a captured lead. - [Process Audio Note](https://docs.anycrm.anyreach.ai/api-reference/anycard/process-audio-note.md): Transcribe + summarize an uploaded audio note + attach to the lead. - [List Card Events](https://docs.anycrm.anyreach.ai/api-reference/anycard-events/list-card-events.md): List every event tag this org has captured leads under. - [List Event Goals](https://docs.anycrm.anyreach.ai/api-reference/anycard-events/list-event-goals.md): Every goal row in the org — used to overlay targets on the events list. Empty list when no goals are configured (UI hides progress). - [Get Event Goal](https://docs.anycrm.anyreach.ai/api-reference/anycard-events/get-event-goal.md): Return the saved goal for an event tag, or a clean empty shape so the UI doesn't need a 404 branch. - [Put Event Goal](https://docs.anycrm.anyreach.ai/api-reference/anycard-events/put-event-goal.md): Upsert goals for an event tag. Tag must already exist in the org's captures (we don't enforce this — a campaign can be set up *before* any leads land). - [Delete Event Goal](https://docs.anycrm.anyreach.ai/api-reference/anycard-events/delete-event-goal.md) - [Get Card Event Stats](https://docs.anycrm.anyreach.ai/api-reference/anycard-events/get-card-event-stats.md): Aggregated attribution stats for a single event tag. - [Get Public Card](https://docs.anycrm.anyreach.ai/api-reference/anycard-share-links/get-public-card.md) - [Get Public Card Vcard](https://docs.anycrm.anyreach.ai/api-reference/anycard-share-links/get-public-card-vcard.md) - [Submit Share Back](https://docs.anycrm.anyreach.ai/api-reference/anycard-share-links/submit-share-back.md) - [Get Public Media](https://docs.anycrm.anyreach.ai/api-reference/public-media/get-public-media.md): Stream one allowlisted image object. - [Get Account Readiness Summary](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-account-readiness-summary.md) - [Get Account Readiness Signals](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-account-readiness-signals.md) - [Get Profile Readiness](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-profile-readiness.md) - [Get Profile Champions](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-profile-champions.md) - [Get Profile History](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-profile-history.md) - [Get Profile Intelligence](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-profile-intelligence.md) - [Get Readiness Simulation Actions](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-readiness-simulation-actions.md) - [Post Readiness Simulate](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/post-readiness-simulate.md) - [Post Readiness Analyze](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/post-readiness-analyze.md) - [Get Readiness Workflow Status](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/get-readiness-workflow-status.md) - [Post Regenerate Intelligence](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/post-regenerate-intelligence.md) - [Post Readiness Summary](https://docs.anycrm.anyreach.ai/api-reference/account-readiness/post-readiness-summary.md) - [Health Check](https://docs.anycrm.anyreach.ai/api-reference/service-health/health-check.md) - [Overview & Setup](https://docs.anycrm.anyreach.ai/mcp/setup.md): Connecting an MCP client (Claude Code, Claude Desktop, or your own agent) to the AnyCRM backend - [Available Tools](https://docs.anycrm.anyreach.ai/mcp/tools.md): All 50 MCP tools, grouped by entity, with their read/write/cost classification - [Safety, Scopes & Errors](https://docs.anycrm.anyreach.ai/mcp/safety-and-errors.md): How tool calls are authorized, how org isolation is enforced, and the structured error contract every tool shares ## OpenAPI Specs - [openapi](https://docs.anycrm.anyreach.ai/openapi.json) - [openapi-generated](https://docs.anycrm.anyreach.ai/openapi-generated.json)