Skip to main content
PUT
/
promoters
/
{id}
Update promoter
curl --request PUT \
  --url https://api.firstpromoter.com/api/v2/company/promoters/{id} \
  --header 'Account-ID: <account-id>' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "jsmith@example.com",
  "find_by": "email",
  "cust_id": "<string>",
  "custom_fields": "<array>",
  "profile": {
    "id": 123,
    "first_name": "<string>",
    "last_name": "<string>",
    "website": "<string>",
    "company_name": "<string>",
    "company_number": "<string>",
    "phone_number": "<string>",
    "vat_id": "<string>",
    "country": "US",
    "address": "<string>",
    "avatar": "<string>",
    "w8_form_url": "<string>",
    "w9_form_url": "<string>",
    "description": "<string>",
    "invoice_details_validation_errors": {},
    "should_validate_invoice_details": true,
    "instagram_url": "<string>",
    "youtube_url": "<string>",
    "linkedin_url": "<string>",
    "facebook_url": "<string>",
    "twitter_url": "<string>",
    "twitch_url": "<string>",
    "tiktok_url": "<string>"
  },
  "profile[_destroy_w8form]": true,
  "profile[_destroy_w9form]": true
}
'
{
  "id": 123,
  "email": "<string>",
  "name": "<string>",
  "cust_id": "<string>",
  "note": "<string>",
  "stats": {
    "clicks_count": 123,
    "referrals_count": 123,
    "sales_count": 123,
    "customers_count": 123,
    "revenue_amount": 123,
    "active_customers_count": 123
  },
  "is_customized": true,
  "fraud_suspicions": [
    "<string>"
  ],
  "is_confirmed": true,
  "invoice_details_status": "pending",
  "profile": {
    "id": 123,
    "first_name": "<string>",
    "last_name": "<string>",
    "website": "<string>",
    "company_name": "<string>",
    "company_number": "<string>",
    "phone_number": "<string>",
    "vat_id": "<string>",
    "country": "US",
    "address": "<string>",
    "avatar": "<string>",
    "w8_form_url": "<string>",
    "w9_form_url": "<string>",
    "description": "<string>",
    "invoice_details_validation_errors": {},
    "should_validate_invoice_details": true,
    "instagram_url": "<string>",
    "youtube_url": "<string>",
    "linkedin_url": "<string>",
    "facebook_url": "<string>",
    "twitter_url": "<string>",
    "twitch_url": "<string>",
    "tiktok_url": "<string>"
  },
  "joined_at": "2023-11-07T05:31:56Z",
  "last_login_at": "2023-11-07T05:31:56Z",
  "archived_at": "2023-11-07T05:31:56Z",
  "custom_fields": {},
  "password_setup_url": "<string>",
  "first_event_at": "2023-11-07T05:31:56Z",
  "promoter_campaigns": [
    {
      "id": 123,
      "campaign_id": 123,
      "promoter_id": 123,
      "state": "pending",
      "created_at": "2023-11-07T05:31:56Z",
      "campaign": {
        "id": 123,
        "name": "<string>",
        "color": "<string>"
      },
      "coupon": "<string>",
      "ref_token": "<string>",
      "ref_link": "<string>"
    }
  ],
  "balances": {
    "cash": 123,
    "credits": 123,
    "points": 123,
    "free_months": 123,
    "discount": 123
  },
  "track_ad_traffic": true,
  "auth_provider": "<string>",
  "selected_payout_method": {
    "id": 123,
    "method": "<string>",
    "date_added": "2023-11-07T05:31:56Z",
    "is_disabled": true
  },
  "parent_promoter": {
    "id": 123,
    "email": "<string>",
    "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

Path Parameters

id
integer
required

Id of the promoter

Body

application/json
email
string<email>

Email address of the promoter

find_by
enum<string>

Find by attribute. Required when you want to find the promoter using another parameter like the email, auth_token, ref_token, or promo_code instead of an ID.

Your request should follow the format https://api.firstpromoter.com/api/v2/company/promoters/{email, auth_token, ref_token, or promo_code}

Available options:
email,
auth_token,
ref_token,
promo_code
cust_id
string | null

Cust ID of the promoter

custom_fields
array

Custom fields must be a Hash with the keys being the ones from the company custom fields and values must be String or Array of Strings. These are based on the custom fields that you set in your Settings > Affiliate portal > Custom fields.

Note: Each item will have to be set as custom_fields[my_custom_field_key]: my_custom_field_value

profile
object
profile[_destroy_w8form]
boolean

Destroy W8 form

profile[_destroy_w9form]
boolean

Destroy W9 form

Response

Promoter updated successfully

id
integer

Id of the promoter

email
string

Email address of the promoter

name
string

Full name of the promoter

cust_id
string | null

Cust ID of the promoter

note
string | null

Optional note about the promoter

stats
object

Performance statistics for the promoter

is_customized
boolean

Whether the promoter has customized settings

fraud_suspicions
string[]

List of potential fraud flags

is_confirmed
boolean

Whether the promoter has confirmed their account

invoice_details_status
enum<string>

Status of the promoter's invoice details

Available options:
pending,
approved,
denied
profile
object
joined_at
string<date-time>

Date and time when the promoter joined.

last_login_at
string<date-time> | null

Date and time of the promoter's last login.

archived_at
string<date-time> | null

Date and time when the promoter was archived, if applicable.

custom_fields
object

Custom fields for the promoter, based on company settings. This is a key-value pair object where keys are custom field identifiers and values are the corresponding data.

password_setup_url
string | null

URL for the promoter to set up their password

first_event_at
string<date-time>

Date and time of the promoter's first activity.

promoter_campaigns
object[]

List of campaigns associated with the promoter

balances
object

Earnings balance breakdown for the promoter

track_ad_traffic
boolean | null

Whether ad traffic tracking is enabled for this promoter. Null means the campaign default is used.

auth_provider
string | null

OAuth provider used to authenticate (e.g. google). Null if using email/password.

selected_payout_method
object

The promoter's currently selected payout method. Omitted when the exclude_payout_method=true query parameter is set.

parent_promoter
object

The parent promoter (for sub-affiliate relationships). Only included when the include_parent_promoter=true query parameter is set.