---
title: "Update Incoming External Purchase Product Mapping"
method: PUT
path: "/webhooks/incoming/external_purchase_product_mappings/{id}"
tags: ["Webhooks::Incoming::ExternalPurchaseProductMapping"]
---

# Update Incoming External Purchase Product Mapping

`PUT /webhooks/incoming/external_purchase_product_mappings/{id}`

## Request

- Base URL: `https://myworkspace.myclickfunnels.com/api/v2`
- URL: `https://myworkspace.myclickfunnels.com/api/v2/webhooks/incoming/external_purchase_product_mappings/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://accounts.myclickfunnels.com/oauth/authorize`
    - Token URL: `https://accounts.myclickfunnels.com/oauth/token`
- TypeScript: <https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/docs/webhooks/incoming/external_purchase_product_mappings/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Update the external identifier, ClickFunnels variant, or ClickFunnels price for a mapping.

## Path parameters

- `id` string, required

## Request body

- object
  - `external_purchase_product_mapping` WebhooksIncomingExternalPurchaseProductMappingParametersUpdate, required: Mutable fields for an incoming external purchase product mapping.
    - `external_product_sku` string: Provider product, plan, or SKU identifier. For Whop, use the plan ID.
    - `products_variant_id` union: Integer database id or obfuscated public_id.
      - integer
      - string
    - `products_price_id` union: Integer database id or obfuscated public_id.
      - integer
      - string

## Response `200`

OK

- WebhooksIncomingExternalPurchaseProductMappingAttributes: Maps an external provider product, plan, or SKU to the ClickFunnels variant and price used when an incoming purchase creates an order.
  - `id` integer: Mapping ID.
  - `public_id` string: Obfuscated mapping ID.
  - `external_purchase_endpoint_id` integer: Incoming external purchase endpoint that owns this mapping.
  - `external_product_sku` string: The identifier the provider reports for what was bought. It is the provider's own id for the thing purchased, which is not always its product id: `clickbank` reports the item number (`itemNo`), `copecart` reports the product id, and `whop` reports the plan id (`plan_...`), because one Whop product can hold several plans.
  - `clickfunnels_product` object: ClickFunnels product associated with the mapped price.
    - `id` integer: Product ID.
    - `public_id` string: Obfuscated product ID.
    - `name` string: Product name.
  - `clickfunnels_variant` object: ClickFunnels product variant selected by this mapping.
    - `id` integer: Variant ID.
    - `public_id` string: Obfuscated variant ID.
    - `name` string, nullable: Variant name.
  - `clickfunnels_price` object: ClickFunnels price selected by this mapping.
    - `id` integer: Price ID.
    - `public_id` string: Obfuscated price ID.
    - `name` string, nullable: Price name.
    - `currency` string: ISO 4217 currency code.
    - `payment_type` 'one_time' | 'subscription' | 'payment_plan' | 'null', nullable: ClickFunnels price payment type.
    - `amount` string: Price amount as a decimal string.
  - `created_at` string, date-time: Created at.
  - `updated_at` string, date-time: Updated at.

## Other responses

- `400`: The JSON body is invalid or the required wrapper is missing.
- `401`: Unauthorized
- `403`: The access token does not grant write access to Webhooks.
- `404`: The mapping or selected ClickFunnels catalog record does not exist in this workspace.
- `422`: Mapping validation failed, including a duplicate external identifier or a price and variant from different products.

## Changes

- **2026-11-03** `511d88b30aea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/changes/webhooks/incoming/external_purchase_product_mappings/:id/put.md)

---

[API](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api.md) - [All operations](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/revisions/511d88b30aea?raw)
