Skip to main content
PUT
Set a campaign's commission rule

Authorizations

Authorization
string
header
required

Workspace API key, e.g. sa_live_…. Scopes: read / write / track / *.

Path Parameters

id
string<uuid>
required

Body

application/json
amount
number

Percentage (0–100), a flat amount when type=flat, or the count of units when reward_type=non_cash. Required unless library_reward_id is passed.

library_reward_id
string<uuid>

Author the rate FROM a reusable library reward (GET /v1/rewards) instead of inline values — copies the template's terms onto the campaign (copy-on-assign).

type
enum<string>
default:percent

Ignored for non-cash rewards.

Available options:
percent,
flat
reward_type
enum<string>
default:cash

cash = a monetary commission; non_cash pays credits / points / free months via the fulfilment webhook.

Available options:
cash,
non_cash
unit
string

Non-cash unit label (e.g. credits, points, free months). Required when reward_type=non_cash.

Example:

"credits"

duration
enum<string>
default:lifetime
Available options:
lifetime,
first_order,
capped
length_months
integer

Required when duration is capped.

Required range: x >= 1
product_ids
string[]

Stripe product ids (prod_…) or Affixo product uuids to scope this rule to. Mutually exclusive with billing_interval; omit for the catch-all.

billing_interval
enum<string>

Scope the rule to a billing cadence. Mutually exclusive with product_ids.

Available options:
one_time,
month,
year

Response

Updated commission rule

object
string
Example:

"commission_rule"

campaign
string
data
object

A campaign's promoter-side reward (the rate affiliates earn).