---
title: "Push a list's contacts into a connected CRM"
method: POST
path: "/business/lists/{listId}/crm-push"
tags: ["Lists"]
---

# Push a list's contacts into a connected CRM

`POST /business/lists/{listId}/crm-push`

## Request

- Base URL: `https://api.tryfuse.ai/api/v1`
- URL: `https://api.tryfuse.ai/api/v1/business/lists/{listId}/crm-push`
- Auth: HTTP basic

Pushes the list's contacts into a connected CRM. `crm` names which one (`hubspot`, `salesforce`, `zoho`, `attio`, `pipedrive`; several can be connected at once); the connection checked is the team's designated sync user's, so an unconnected CRM answers 422 CRM_NOT_CONNECTED. An explicit `contactIds` selection pushes just those contacts (the response still echoes the list id). Async, with no job to poll: the sync runs in the background against the field mapping saved in the app's CRM settings, and results appear in the CRM. No credits are spent.

Errors:
- `404` `LIST_NOT_FOUND` — No list with that id is visible to the token owner.
- `422` `CONTACT_LIST_REQUIRED` — The list is a company list; the push sends contacts.
- `422` `CRM_NOT_CONNECTED` — The team's sync user has no live connection to that CRM.
- `422` `VALIDATION_FAILED` — crm missing or outside the supported set, or contactIds outside 1-500.
- `429` `RATE_LIMITED` — The lists rate bucket (120 requests/minute, 10,000/day per token owner) is exhausted.

Requires one of the following token scopes: lists.

## Path parameters

- `listId` string, required: 24-character hex id of the list (from GET /business/lists).

## Request body

- object
  - `crm` 'hubspot' | 'salesforce' | 'zoho' | 'attio' | 'pipedrive', required: Which connected CRM receives the contacts: hubspot, salesforce, zoho, attio or pipedrive; an unconnected CRM answers 422 CRM_NOT_CONNECTED.
  - `contactIds` string[]: Push only these contacts (24-character hex ids, at most 500) instead of every contact in the list: the ids are the selection, so every one of them is pushed and nothing else is. They are taken as given rather than intersected with the list, and sending them also makes the push overwrite fields on records that already exist in the CRM — pushing the whole list leaves those untouched.

## Response `202`

Success

- object
  - `crm` 'hubspot' | 'salesforce' | 'zoho' | 'attio' | 'pipedrive', required
  - `listIds` string[], required

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `422`: Error
- `429`: Error
- `500`: Error

---

[API](https://skmtc.dev/fuseai/apis/fuse-business-api.md) · [All operations](https://skmtc.dev/fuseai/apis/fuse-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fuseai/apis/fuse-business-api/revisions/50d95e0536f4?raw)
