---
title: "POST /refund"
method: POST
path: "/refund"
---

# POST /refund

`POST /refund`

The refund call is similar to the sale call. It works the same way, except that it generates negative commissions. <Tip>**HTTP Request** <br/>`POST https://api.firstpromoter.com/api/v2/track/refund`</Tip>

## Headers

- `Account-ID` string, required

## Request body

- union
  - object
    - `email` string, required — Email of the lead/sign-up. Required if uid is not provided.
    - `uid` string — uid of the lead added on signup tracking. Required if email is not provided.
    - `event_id` string, required — Transaction or refund event ID. Required to avoid generating duplicate refunds.
    - `amount` string, required — The refund amount in cents. Used to calculate negative commissions/rewards.
    - `currency` string — This field is only required if the currency of the sale/refund is not the same as the one set on FirstPromoter settings. We'll automatically convert the amount from this currency to the default one set on your FirstPromoter account.
    - `quantity` string — Number of subscriptions/items refunded. Optional if quantity is 1.
    - `sale_event_id` string — The event id of the sale for which the refund is processed. Should match the event_id from the sales tracking API call. Required for accurate tracking of multiple products or changing commission levels.
    - `skip_email_notification` boolean — Set true to skip email notifications. Default is false.
  - object
    - `email` string — Email of the lead/sign-up. Required if uid is not provided.
    - `uid` string, required — uid of the lead added on signup tracking. Required if email is not provided.
    - `event_id` string, required — Transaction or refund event ID. Required to avoid generating duplicate refunds.
    - `amount` string, required — The refund amount in cents. Used to calculate negative commissions/rewards.
    - `currency` string — This field is only required if the currency of the sale/refund is not the same as the one set on FirstPromoter settings. We'll automatically convert the amount from this currency to the default one set on your FirstPromoter account.
    - `quantity` string — Number of subscriptions/items refunded. Optional if quantity is 1.
    - `sale_event_id` string — The event id of the sale for which the refund is processed. Should match the event_id from the sales tracking API call. Required for accurate tracking of multiple products or changing commission levels.
    - `skip_email_notification` boolean — Set true to skip email notifications. Default is false.

## Response `200`

Success response

- object
  - `id` integer
  - `type` string
  - `amount_cents` integer
  - `reward` object
    - `id` integer
    - `status` string
    - `amount` integer
    - `unit` string
    - `created_at` string, date-time
    - `lead` Lead
      - `id` integer
      - `state` string
      - `email` string
      - `uid` string, nullable
      - `customer_since` string, date-time
      - `cancelled_at` string, date-time
      - `plan_name` string, nullable
      - `suspicion` string
      - `username` string, nullable
      - `website` string, nullable
      - `created_at` string, date-time
      - `split_promotion_id` string, nullable
      - `custom_fields` string, nullable
      - `split_percentage_value` string, nullable
      - `visitor_sub_id` string, nullable
    - `event_id` string
    - `conversion_amount` integer
    - `tier_level` integer
    - `split_type` string, nullable
  - `lead` Lead
    - `id` integer
    - `state` string
    - `email` string
    - `uid` string, nullable
    - `customer_since` string, date-time
    - `cancelled_at` string, date-time
    - `plan_name` string, nullable
    - `suspicion` string
    - `username` string, nullable
    - `website` string, nullable
    - `created_at` string, date-time
    - `split_promotion_id` string, nullable
    - `custom_fields` string, nullable
    - `split_percentage_value` string, nullable
    - `visitor_sub_id` string, nullable
  - `promoter` Promoter
    - `id` integer — ID of the promoter
    - `status` string — Status of the promoter
    - `cust_id` string
    - `email` string — Email of the promoter
    - `created_at` string, date-time — ISO date of when the promoter was created
    - `temp_password` string, nullable — Temporary password created for the promoter
    - `default_promotion_id` integer
    - `pref` string
    - `default_ref_id` string — Default referral id of the promoter
    - `note` string, nullable — A note/description of promoter
    - `w8_form_url` string, nullable — Url of the w8 form
    - `w9_form_url` string, nullable — Url of the w9 form
    - `parent_promoter_id` integer — Parent promoter id
    - `earnings_balance` object — Earning balance of the promoter
      - `cash` integer
    - `current_balance` object — Current balance of the promoter
      - `cash` integer
    - `paid_balance` object — Paid balance of the promoter
      - `cash` integer
    - `auth_token` string — Authentication token generated when the promoter was created

## Other responses

- `204` — No Content
- `400` — Bad Request
- `409` — Conflict

---

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