---
title: "PUT /api/v1/admin/affiliation/offers/{id}"
method: PUT
path: "/api/v1/admin/affiliation/offers/{id}"
tags: ["Affiliation administration"]
---

# PUT /api/v1/admin/affiliation/offers/{id}

`PUT /api/v1/admin/affiliation/offers/{id}`

Replaces the editable configuration of an Offer without changing its status.

## Path parameters

- `id` integer, required

## Cookies

- `billing_session` string

## Request body

- union
  - object
    - `allowDirectTraffic` boolean, required
    - `countryId` integer, nullable
    - `name` string, required
    - `payout` integer, required
    - `payoutType` 'TS' | 'TS5' | 'TC' | 'INS', required
    - `revenue` integer, required
    - `typeId` integer, required
    - `checkoutLandingDesignId` integer, required
    - `kind` 'internal', required
  - object
    - `allowDirectTraffic` boolean, required
    - `countryId` integer, nullable
    - `name` string, required
    - `payout` integer, required
    - `payoutType` 'TS' | 'TS5' | 'TC' | 'INS', required
    - `revenue` integer, required
    - `typeId` integer, required
    - `advertiserId` integer, required
    - `destinationUrl` string, required
    - `kind` 'external', required

## Response `200`

The resource was updated.

- object
  - `id` integer, required
  - `status` 'active' | 'disabled', required

## Other responses

- `400` — The request is invalid.
- `401` — No valid Admin session exists.
- `403` — The request did not originate from this portal.
- `404` — The resource was not found.
- `409` — The requested relation conflicts with active affiliation data.
- `503` — The Offer changed, but the Landing Pages cache refresh could not be queued.

---

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