---
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` — Account or destination not found.
- `405` — Platform does not support updating destinations.
- `429` — LinkedIn rate limit hit. Retry with backoff.

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/versions/51932b099b2f/schema)
