---
title: "Update integration bulk sync and list targeting"
method: PATCH
path: "/integrations/{id}"
tags: ["Integrations"]
---

# Update integration bulk sync and list targeting

`PATCH /integrations/{id}`

Controls what a connected integration does to the contact list. Two independent settings - `syncEnabled` turns bulk imports and backfills on or off, and `listIds` chooses which lists the contacts the provider's live webhook creates join. Neither stops that webhook: disabling bulk sync only pauses full imports, and list targeting changes membership only. Contacts are still created, their attributes still sync, sync-rule tags still apply, and default any_contact sequences still enroll them. Explicit any_list and specific-list sequences require a matching membership and do not enroll a list-less contact. `listIds` takes effect on future provider writes: nothing is applied retroactively and nobody is ever removed from a list. Wix or Webflow submissions, Shopify customer updates, and Supabase resubscriptions can add an existing contact to the new targets; Stripe applies targeting only when its webhook creates a subscriber. Provider support is declared in the catalog's `actions` as set_list_targeting. At least one field is required, an in-flight sync must finish before bulk sync can be disabled, and setting the current state succeeds with `changed: false`. Requires the integrations:manage scope.

## Path parameters

- `id` string, required

## Request body

- object — At least one field is required.
  - `syncEnabled` boolean — True to enable bulk imports and backfills, false to pause them. This does not stop the provider's live webhook creating contacts.
  - `listIds` string[], nullable — Lists that contacts created by this integration join, applied from the provider's next write onward. `null` clears the choice so they follow the workspace default lists; `[]` means they join no list; a populated array means exactly those lists. Every ID must belong to this company.

## Response `200`

Ingestion controls updated

- object
  - `success` boolean
  - `integrationId` string
  - `provider` string
  - `syncEnabled` boolean — Bulk import and backfill state after the update.
  - `listTargeting` 'company_default' | 'none' | 'specific', nullable — Where contacts created by this integration land. Null for providers that ignore per-integration list targeting.
  - `listIds` string[], nullable — Configured target lists. Null means new contacts follow the workspace default lists.
  - `changed` boolean — False when the integration was already in the requested state.
  - `changedFields` string[] — Which controls actually moved.
  - `message` string

## Other responses

- `400` — Integration is disconnected, no field was provided, the provider does not expose the requested control, or a list ID is invalid or belongs to another company
- `401` — Unauthorized
- `404` — Integration not found
- `409` — A sync is already in progress; wait for it to finish before disabling

## Changes

- **2026-08-19** `ba3a29c6eb33` — 9 info
  - added the new optional request property `listIds`
  - the request property `syncEnabled` became optional
  - added the optional property `changedFields` to the response with the `200` status
  - added the optional property `listIds` to the response with the `200` status
  - …5 more
- **2026-08-16** `6fd2903b91ce` — 4 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `401` status
  - added the optional property `code` to the response with the `404` status
  - added the optional property `code` to the response with the `409` status
- **2026-08-02** `36f92fc0caa2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/integrations/:id/patch.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/revisions/11b6d27ba1de/schema)
