POST /api/partner-network/postbacks/<public-tracking-key>/conversions
Report a paid one-time order that carries a Refermate click. Post only orders with a click; an order without one is rejected and shows as a tracking error.
| Field | Description |
|---|
order_idRequired | Your stable order ID, up to 500 characters. It is the idempotency key: resending the same order is safe. |
|---|
click_idRequired | The rm_click value the capture script stored for this shopper. An order without one is rejected with 422 missing_referral_click. |
|---|
currencyRequired | Three-letter currency code. Only USD is accepted. |
|---|
order_subtotal_centsRequired | Order subtotal in cents, a whole number of 0 or more. |
|---|
occurred_atRequired | When it happened, in ISO 8601 with an explicit offset and 0 to 3 fractional digits, for example 2026-09-28T17:05:00.000Z. JavaScript's toISOString() qualifies; truncate microseconds from other languages. |
|---|
eligible_amount_centsOptional | The commissionable part of the subtotal. Defaults to the subtotal and cannot exceed it. |
|---|
line_itemsOptional | [{ product_id, amount_minor_units, quantity }], summing to the eligible amount. Required when the program pays per product. |
|---|
order_nameOptional | A customer-facing order number. |
|---|
customer_idOptional | Your customer ID, for your own reporting. |
|---|
discount_codeOptional | A discount code used on the order. |
|---|
metadataOptional | An object of your own data, up to 4 KiB. |
|---|
testOptional | true only for the verification order from your setup page. |
|---|
{
"click_id": "a1B2c3D4e5F6g7H8",
"currency": "USD",
"eligible_amount_cents": 10000,
"occurred_at": "2026-09-28T17:05:00.000Z",
"order_id": "ORDER-1001",
"order_name": "#1001",
"order_subtotal_cents": 10000
}
POST /api/partner-network/postbacks/<public-tracking-key>/reversals
Report a full refund or cancellation of a one-time order. Partial refunds are not accepted yet. A refund that arrives after Refermate has billed you for the commission returns 422 paid_conversion_not_auto_reversed and reverses nothing; contact support to settle it.
| Field | Description |
|---|
order_idRequired | The same order ID you sent to conversions. |
|---|
occurred_atOptional | When it happened, in ISO 8601. Defaults to when we receive the request; send it when you replay a late event. |
|---|
reasonOptional | A short reason such as refunded or cancelled. |
|---|
{
"occurred_at": "2026-10-02T09:30:00.000Z",
"order_id": "ORDER-1001",
"reason": "refunded"
}
POST /api/partner-network/postbacks/<public-tracking-key>/v2/recurring/relationships
Bind a new subscription to the Refermate click that started it. Send this once, when the subscription is created. Add a subscription commission rule for the product in Partners first: a bind with no matching rule returns no_matching_subscription_rule and keeps that subscription at zero commission, even after you add a rule.
| Field | Description |
|---|
event_idRequired | Your unique ID for this event; resending it is safe. |
|---|
relationship_idRequired | Your stable subscription ID. |
|---|
click_idRequired | The rm_click value for this shopper. |
|---|
product_idRequired | The subscribed product. |
|---|
price_idOptional | The subscribed price or plan. |
|---|
currencyRequired | Only USD is accepted. |
|---|
environmentRequired | Always live for production traffic. |
|---|
occurred_atOptional | When it happened, in ISO 8601. Defaults to when we receive the request; send it when you replay a late event. |
|---|
{
"click_id": "a1B2c3D4e5F6g7H8",
"currency": "USD",
"environment": "live",
"event_id": "evt-sub-1001-created",
"occurred_at": "2026-09-28T17:05:00.000Z",
"product_id": "plan-pro",
"relationship_id": "sub-1001"
}
POST /api/partner-network/postbacks/<public-tracking-key>/v2/recurring/billing-events
Report each invoice of a bound subscription, paid or not. Never send a click here: the relationship already names it.
| Field | Description |
|---|
event_idRequired | Your unique ID for this event. |
|---|
relationship_idRequired | The subscription ID you bound. |
|---|
invoice_idRequired | Your invoice ID. |
|---|
payment_stateRequired | paid, failed, open, void, or uncollectible. Only paid can earn a reward. |
|---|
amount_paid_minor_unitsRequired | Amount paid, in cents. |
|---|
eligible_amount_minor_unitsOptional | The commissionable part. Defaults to the amount paid and cannot exceed it. |
|---|
product_idRequired | The billed product. A product or price different from the bound one holds the subscription for review. |
|---|
price_idOptional | The billed price or plan. |
|---|
currencyRequired | Only USD is accepted. |
|---|
environmentRequired | Always live for production traffic. |
|---|
occurred_atRequired | When it happened, in ISO 8601 with an explicit offset and 0 to 3 fractional digits, for example 2026-09-28T17:05:00.000Z. JavaScript's toISOString() qualifies; truncate microseconds from other languages. |
|---|
{
"amount_paid_minor_units": 1999,
"currency": "USD",
"environment": "live",
"event_id": "evt-inv-1001-paid",
"invoice_id": "inv-1001",
"occurred_at": "2026-09-28T17:05:00.000Z",
"payment_state": "paid",
"product_id": "plan-pro",
"relationship_id": "sub-1001"
}
POST /api/partner-network/postbacks/<public-tracking-key>/v2/recurring/reversals
Report a full refund of one subscription invoice.
| Field | Description |
|---|
event_idRequired | Your unique ID for this event. |
|---|
relationship_idRequired | The subscription ID. |
|---|
invoice_idRequired | The refunded invoice. |
|---|
reasonOptional | A short reason. |
|---|
environmentRequired | Always live for production traffic. |
|---|
occurred_atOptional | When it happened, in ISO 8601. Defaults to when we receive the request; send it when you replay a late event. |
|---|
{
"environment": "live",
"event_id": "evt-inv-1001-refunded",
"invoice_id": "inv-1001",
"occurred_at": "2026-10-02T09:30:00.000Z",
"reason": "refunded",
"relationship_id": "sub-1001"
}
POST /api/partner-network/postbacks/<public-tracking-key>/v2/recurring/relationships/end
Report that a subscription ended. Later invoices for it are rejected.
| Field | Description |
|---|
event_idRequired | Your unique ID for this event. |
|---|
relationship_idRequired | The subscription ID. |
|---|
reasonOptional | A short reason. |
|---|
environmentRequired | Always live for production traffic. |
|---|
occurred_atOptional | When it happened, in ISO 8601. Defaults to when we receive the request; send it when you replay a late event. |
|---|
{
"environment": "live",
"event_id": "evt-sub-1001-ended",
"occurred_at": "2026-12-28T17:05:00.000Z",
"reason": "canceled",
"relationship_id": "sub-1001"
}