---
title: "Update a conversion destination"
method: PATCH
path: "/v1/accounts/{accountId}/conversion-destinations/{destinationId}"
tags: ["Conversions"]
---

# Update a conversion destination

`PATCH /v1/accounts/{accountId}/conversion-destinations/{destinationId}`

Partial-update a conversion rule. LinkedIn-only today. Whitelisted
fields: `name`, `enabled`, attribution windows, `valueType`, `value`,
`attributionType`. The rule's `type` and parent ad account are
intentionally not exposed for update. Recreate the rule if those
need to change.

## Path parameters

- `accountId` string, required
- `destinationId` string, required

## Request body

- object — At least one mutable field beyond `adAccountId` is required; the route returns 400 if no patch fields are provided.
  - `adAccountId` string, required
  - `name` string
  - `enabled` boolean — Setting `false` is equivalent to calling DELETE: the rule will appear as `inactive` afterwards.
  - `attributionType` 'LAST_TOUCH_BY_CAMPAIGN' | 'LAST_TOUCH_BY_CONVERSION'
  - `postClickAttributionWindowSize` 1 | 7 | 30 | 90 | 365 — 365 only allowed for LEAD, PURCHASE, ADD_TO_CART, QUALIFIED_LEAD, SUBMIT_APPLICATION rule types.
  - `viewThroughAttributionWindowSize` 1 | 7 | 30 | 90 | 365 — 365 only allowed for LEAD, PURCHASE, ADD_TO_CART, QUALIFIED_LEAD, SUBMIT_APPLICATION rule types.
  - `valueType` 'DYNAMIC' | 'FIXED' | 'NO_VALUE'
  - `value` object — Used when `valueType=FIXED`.
    - `currencyCode` string — ISO 4217.
    - `amount` string — Decimal string (e.g. "49.99").

## Response `200`

Destination updated (re-fetched canonical state)

- object
  - `platform` 'linkedinads'
  - `destination` ConversionDestination — A discoverable conversion destination on an ad platform: a Meta pixel, Google conversion action, or LinkedIn conversion rule. Returned by `listConversionDestinations`, `getConversionDestination`, `createConversionDestination`, and `updateConversionDestination`.
    - `id` string, required — Platform-native identifier. Pass back as `destinationId` on event send and as the path segment on CRUD endpoints.
    - `name` string, required
    - `type` string — Present when the platform locks the event type/category to the destination (Google conversion actions, LinkedIn conversion rules). Absent for Meta pixels (which accept any event name per request).
    - `status` 'active' | 'inactive' — For LinkedIn, `inactive` means the rule is soft-deleted (`enabled: false`).
    - `adAccountId` string — Set by adapters whose destinations are scoped to a specific ad account (LinkedIn). Pass back on subsequent CRUD calls to identify the parent ad account.

## Other responses

- `400` — Invalid body or LinkedIn validation failure.
- `401` — Unauthorized
- `403` — Ads add-on or LinkedIn reconnect required.
- `404` — The account or requested resource was not found or is not accessible. An account ID may have been disconnected and removed. Read GET /v1/accounts for current account IDs.
- `405` — Platform does not support updating destinations.
- `409` — The account exists but is inactive or needs reconnection. Reconnect it, then read GET /v1/accounts for its current account ID before retrying. Code: ads_connection_required.
- `429` — LinkedIn rate limit hit. Retry with backoff.

## Changes

- **2026-09-16** `3e6ddf2a99ea` — 2 info
  - added the optional property `details/budgetScope` to the response with the `404` status
  - added the optional property `details/budgetScope` to the response with the `409` status
- **2026-09-15** `0dba7d004d75` — 4 info
  - added the optional property `details/quotaExhausted` to the response with the `404` status
  - added the optional property `details/quotaExhausted` to the response with the `409` status
  - added the optional property `details/quotaScope` to the response with the `404` status
  - added the optional property `details/quotaScope` to the response with the `409` status
- **2026-09-10** `e70ed06e7150` — 2 info
  - added the media type `application/json` for the response with the status `404`
  - added the non-success response with the status `409`

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/accounts/:accountId/conversion-destinations/:destinationId/patch.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/a0d8f21b5abe?raw)
