Skip to main content
POST
/
commissions
Create a commission
curl --request POST \
  --url https://api.firstpromoter.com/api/v2/company/commissions \
  --header 'Account-ID: <account-id>' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "commission_type": "sale",
  "referral_id": 123,
  "plan_id": 123,
  "promoter_campaign_id": 123,
  "sale_amount": 123,
  "amount": 123,
  "event_id": "<string>",
  "event_date": "2023-12-25",
  "internal_note": "<string>",
  "unit": "cash",
  "notify_promoter": true,
  "billing_period": "monthly"
}'
[
  {
    "id": 123,
    "status": "pending",
    "metadata": {},
    "is_self_referral": true,
    "commission_type": "sale",
    "created_by_user_email": "<string>",
    "created_by_user_at": "2023-11-07T05:31:56Z",
    "sale_amount": 123,
    "original_sale_amount": 123,
    "original_sale_currency": "<string>",
    "event_id": "<string>",
    "plan_id": "<string>",
    "tier": 123,
    "internal_note": "<string>",
    "external_note": "<string>",
    "unit": "cash",
    "fraud_check": "no_suspicion",
    "amount": 123,
    "is_paid": true,
    "is_split": true,
    "created_at": "2023-11-07T05:31:56Z",
    "status_updated_at": "2023-11-07T05:31:56Z",
    "promoter_campaign": {
      "id": 123,
      "campaign_id": 123,
      "promoter_id": 123,
      "created_at": "2023-11-07T05:31:56Z",
      "promoter": {
        "id": 123,
        "email": "<string>",
        "name": "<string>"
      },
      "campaign": {
        "id": 123,
        "name": "<string>",
        "color": "<string>"
      }
    },
    "referral": {
      "id": 123,
      "email": "<string>",
      "uid": "<string>"
    },
    "reward": {
      "id": 123,
      "name": "<string>"
    }
  }
]

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
commission_type
enum<string>
required

The commission type

Available options:
sale,
custom
sale_amount
integer
required

Sale amount required only for sale commission type

amount
integer
required

Commission amount required only for custom commission type

referral_id
integer

Referral id required only for sale commission type

plan_id
integer

One of the items id from price_ids

promoter_campaign_id
integer

PromoterCampaign id required for custom commission type. This ID is not the promoter’s ID or the campaign’s ID. It’s the linking record that defines the promoter’s participation in that campaign. You can find this id in each object in the promoter_campaigns array when you get the details of the promoter.

event_id
string

The ID of the event that generated the sale from billing provider

event_date
string<date>

The date of the event that generated the sale

internal_note
string

Internal note visible only by the team

unit
enum<string>

Set the reward unit type

Available options:
cash,
credits,
points,
free_months,
mon_discount,
discount_per
notify_promoter
boolean

If true a notification email is sent to promoter if enabled on Emails section

billing_period
enum<string>

The billing period of the event that generated the sale

Available options:
monthly,
yearly,
one_time

Response

Successfully retrieved commissions

id
integer

Commission ID

status
enum<string>

Current status of the commission

Available options:
pending,
approved,
denied
metadata
object

Additional metadata about the commission

is_self_referral
boolean | null

Whether this is a self-referral

commission_type
enum<string>

Type of commission

Available options:
sale,
custom
created_by_user_email
string | null

Email of the user who created the commission

created_by_user_at
string<date-time> | null

Timestamp when the user created the commission

sale_amount
integer

Amount of the sale

original_sale_amount
integer

Original amount of the sale

original_sale_currency
string | null

Currency of the original sale

event_id
string | null

ID of the event that generated the commission

plan_id
string | null

Plan ID associated with the commission

tier
integer

Reward tier

internal_note
string | null

Internal note visible only to the team

external_note
string | null

External note visible to the promoter

unit
enum<string>

Unit type for the reward

Available options:
cash,
credits,
points,
free_months,
mon_discount,
discount_per
fraud_check
enum<string> | null

Result of fraud check

Available options:
no_suspicion,
same_ip_suspicion,
same_promoter_email,
ad_source
amount
integer

Commission amount

is_paid
boolean

Whether the commission has been paid

is_split
boolean

Whether the commission is split among multiple promoters

created_at
string<date-time>

Creation timestamp

status_updated_at
string<date-time> | null

Last status update timestamp

promoter_campaign
object
referral
object | null
reward
object
I