Generated from the API's OpenAPI spec, so it always matches what the API serves.
Records are the CRM's rows: people and companies with their fields, timeline, notes, follow-ups, forms and files. Stage moves, form submissions, outside-party links and imports can be held for a person's approval. Guide: Records.
Generated from the API's OpenAPI spec: 50 operations. Request and response bodies for each are in the API reference. The MCP tool column names the tool in Finn's MCP server that makes the same call.
Records
| Endpoint | What it does | Scope | MCP tool | Notes |
|---|---|---|---|---|
GET /record_kinds | List record kinds | crm:read | ||
GET /fields | List fields | crm:read | ||
GET /contacts | List records | crm:read | page pages | |
POST /contacts | Create a record | crm:write | ||
GET /contacts/{id} | Retrieve a record | crm:read | ||
PATCH /contacts/{id} | Update a record | crm:write | ||
GET /contacts/{id}/timeline | List a record's timeline | crm:read | before pages | |
POST /contacts/{id}/notes | Add a note | crm:write |
CRM
| Endpoint | What it does | Scope | MCP tool | Notes |
|---|---|---|---|---|
GET /crm/setup | Get the CRM setup | crm:read | crm_get_schema | |
GET /crm/filter_schema | Get the filter schema | crm:read | crm_get_schema | |
POST /crm/records/search | Search records | crm:read | crm_search_records | |
POST /crm/records/query | Query records | crm:read | crm_search_records | |
POST /crm/records/query/count | Count records | crm:read | crm_count_records | |
POST /crm/records/query/stage_counts | Count records by stage | crm:read | crm_count_records | |
GET /crm/records/{id} | Get a record | crm:read | crm_get_record | |
PATCH /crm/records/{id} | Update a record's fields | crm:write | crm_update_fields | Idempotency-Key |
GET /crm/records/{id}/timeline | Get a record's timeline | crm:read | crm_get_timeline | before pages |
GET /crm/records/{id}/stage_gate | Get a stage gate | crm:read | crm_get_stage_gate | |
GET /crm/records/{id}/documents | List a record's documents | crm:read | crm_list_documents | |
GET /crm/records/{id}/files | List a record's files | crm:read | crm_list_documents | |
POST /crm/records/{id}/files | Attach a file | crm:docs:write | crm_attach_document | Idempotency-Key |
GET /crm/records/{id}/forms_checklist | Get a record's forms checklist | crm:read | crm_list_documents | |
GET /crm/records/{id}/submissions | List a record's form submissions | crm:read | crm_get_form_submissions | |
GET /crm/records/{id}/form_drafts | List a record's form drafts | crm:read | crm_get_form_submissions | |
GET /crm/forms | List forms | crm:read | crm_list_forms | |
GET /crm/follow_ups | List follow-ups | crm:read | crm_list_follow_ups | cursor pages |
GET /crm/follow_ups/stats | Get follow-up counts | crm:read | crm_list_follow_ups | |
GET /crm/my_work | Get my work | crm:read | crm_my_work | |
GET /crm/views | List saved views | crm:read | crm_list_views | |
POST /crm/views | Save a view | crm:write | crm_save_view | Idempotency-Key |
GET /crm/summary | Get the pipeline summary | crm:read | crm_get_pipeline_stats | |
GET /crm/stage_counts | Get counts per stage | crm:read | crm_get_pipeline_stats | |
GET /crm/speed | Get speed to lead | crm:read | crm_get_pipeline_stats | |
GET /crm/duplicates | Find duplicates | crm:read | crm_find_duplicates | |
POST /crm/ask | Ask the CRM | crm:read | crm_ask | |
POST /crm/records/{id}/notes | Add a note | crm:write | crm_add_note | Idempotency-Key |
POST /crm/records/{id}/follow_ups | Create a follow-up | crm:write | crm_create_follow_up | Idempotency-Key |
PATCH /crm/follow_ups/{id} | Update a follow-up | crm:write | crm_update_follow_up | Idempotency-Key |
POST /crm/records | Create a record | crm:write | crm_create_record | Idempotency-Key |
PUT /crm/records/{id}/stage_checks/{stage}/{check} | Tick a stage check | crm:write | crm_tick_stage_check | Idempotency-Key |
POST /crm/records/{id}/ref_no | Assign a reference number | crm:write | crm_assign_reference_no | Idempotency-Key |
POST /crm/records/{id}/documents/{type}/status | Set a document status | crm:write | crm_set_document_status | Idempotency-Key |
PUT /crm/records/{id}/forms/{form_id}/draft | Save a form draft | crm:write | crm_save_form_draft | Idempotency-Key |
POST /crm/records/{id}/doc_drafts | Draft a document | crm:write | crm_draft_document | Idempotency-Key |
POST /crm/records/{id}/stage_moves | Move a record to another stage | crm:stage | crm_move_stage | Idempotency-Key; can be held: 202 pending_approval |
POST /crm/records/{id}/forms/{form_id}/submissions | Submit a form | crm:stage | crm_submit_form | Idempotency-Key; can be held: 202 pending_approval |
POST /crm/records/{id}/forms/{form_id}/links | Share a form link | crm:share | crm_create_outside_party_link | Idempotency-Key; can be held: 202 pending_approval |
POST /crm/records/{id}/upload_links | Share an upload link | crm:share | crm_create_outside_party_link | Idempotency-Key; can be held: 202 pending_approval |
POST /crm/imports/columns | Map import columns | crm:import | crm_import_csv | Idempotency-Key |
POST /crm/imports | Import records | crm:import | crm_import_csv | Idempotency-Key; can be held: 202 pending_approval |