Skip to main content
POST
/
sale
cURL
curl --request POST \
  --url https://v2.firstpromoter.com/api/v2/track/sale \
  --header 'Account-ID: <account-id>' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "email": "<string>",
  "uid": "<string>",
  "event_id": "<string>",
  "amount": 123,
  "quantity": 123,
  "plan": "<string>",
  "currency": "<string>",
  "mrr": "<string>",
  "promo_code": "<string>",
  "tid": "<string>",
  "ref_id": "<string>",
  "skip_email_notification": true
}'
{
  "id": 45831949,
  "etype": "sale",
  "sale_amount": 2000,
  "original_sale_amount": 2000,
  "original_sale_currency": null,
  "event_id": null,
  "plan_id": null,
  "billing_period": null,
  "created_at": "2025-04-25T09:39:42.289Z",
  "referral": {
    "id": 29203686,
    "email": "[email protected]",
    "uid": null
  },
  "commissions": [
    {
      "id": 13533003,
      "status": "approved",
      "metadata": {},
      "is_self_referral": false,
      "commission_type": "sale",
      "created_by_user_email": null,
      "created_by_user_at": null,
      "sale_amount": 2000,
      "original_sale_amount": 2000,
      "original_sale_currency": null,
      "event_id": null,
      "plan_id": null,
      "tier": 1,
      "internal_note": null,
      "external_note": null,
      "unit": "cash",
      "fraud_check": "no_suspicion",
      "amount": 400,
      "is_paid": false,
      "is_split": false,
      "created_at": "2025-04-25T09:39:42Z",
      "status_updated_at": null,
      "promoter_campaign": {
        "id": 14850130,
        "campaign_id": 28004,
        "promoter_id": 8262622,
        "created_at": "2025-01-16T18:16:41Z",
        "promoter": {
          "id": 8262622,
          "email": "[email protected]",
          "name": "Test Promoter"
        },
        "campaign": {
          "id": 28004,
          "name": "Quinn Ramirez",
          "color": "#EC4899"
        }
      },
      "referral": {
        "id": 29203686,
        "email": "[email protected]",
        "uid": null
      },
      "reward": {
        "id": 157427,
        "name": "20% recurring commission"
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

API key passed as a Bearer token in the Authorization header. You can find your API Key on Your FirstPromoter Dashboard. Navigate to Settings → Integrations section → Manage API Keys

Headers

Account-ID
string
required

Account id. You can find your Account ID on Your FirstPromoter Dashboard. Navigate to Settings → Integrations

Body

application/json
  • Option 1
  • Option 2
email
string
required

Email of the lead/sign-up. Required if uid is not provided.

event_id
string
required

Transaction or sale event ID. Required to avoid duplicate sales.

amount
integer
required

The sale amount in cents. For zero-decimal currencies like JPY, amount should be whole values.

uid
string

uid of the lead added on signup tracking. Required if email is not provided.

quantity
integer

Number of subscriptions/items. Optional if quantity is 1.

plan
string

Customer plan ID from billing provider. Used for plan-level rewards.

currency
string

Required only if different from FirstPromoter settings default currency.

mrr
string

Monthly Recurring Revenue generated by the customer.

promo_code
string

For promo code tracking.

tid
string

Visitor tracking ID from _fprom_tid cookie.

ref_id
string

Referral ID of the promoter.

skip_email_notification
boolean

Set true to skip email notifications. Default is false.

Response

Sale tracked successfully

id
integer
Example:

45831949

etype
string
Example:

"sale"

sale_amount
integer
Example:

2000

original_sale_amount
integer
Example:

2000

original_sale_currency
string | null
Example:

null

event_id
string | null
Example:

null

plan_id
string | null
Example:

null

billing_period
string | null
Example:

null

created_at
string<date-time>
Example:

"2025-04-25T09:39:42.289Z"

referral
object
commissions
object[]
I