> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstpromoter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Promoter Signs Up

> Fired when a new promoter joins your affiliate program.

Your endpoint will receive this event each time a new promoter signs up to your affiliate program, whether through your signup page or via the API.

## Payload

<ResponseField name="event" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="number">
      Unique ID of the event.
    </ResponseField>

    <ResponseField name="type" type="string">
      Always `promoter_signed_up` for this event.
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp of when the event occurred.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="promoter" type="object">
      The newly signed-up promoter.

      <Expandable title="properties">
        <ResponseField name="id" type="number">ID of the promoter.</ResponseField>
        <ResponseField name="status" type="string">Status of the promoter. Will typically be `pending` until accepted, or `active` if auto-approval is enabled.</ResponseField>
        <ResponseField name="cust_id" type="string">External customer ID, if provided.</ResponseField>
        <ResponseField name="email" type="string">Email address of the promoter.</ResponseField>
        <ResponseField name="created_at" type="string">Timestamp of when the promoter was created.</ResponseField>
        <ResponseField name="temp_password" type="string">Auto-generated temporary password sent to the promoter on signup.</ResponseField>
        <ResponseField name="default_promotion_id" type="number">ID of the promoter's default promotion.</ResponseField>
        <ResponseField name="pref" type="string">Internal preference token.</ResponseField>
        <ResponseField name="default_ref_id" type="string">Default referral ID used in links.</ResponseField>
        <ResponseField name="note" type="string">Admin note on the promoter's profile.</ResponseField>
        <ResponseField name="w8_form_url" type="string">URL of the W-8 tax form, if uploaded.</ResponseField>
        <ResponseField name="w9_form_url" type="string">URL of the W-9 tax form, if uploaded.</ResponseField>
        <ResponseField name="parent_promoter_id" type="number">ID of the parent promoter in a multi-tier setup.</ResponseField>
        <ResponseField name="earnings_balance" type="object">Total commissions earned, broken down by unit.</ResponseField>
        <ResponseField name="current_balance" type="object">Current unpaid balance, broken down by unit.</ResponseField>
        <ResponseField name="paid_balance" type="object">Total paid out balance, broken down by unit.</ResponseField>
        <ResponseField name="auth_token" type="string">Authentication token for the promoter's affiliate dashboard.</ResponseField>

        <ResponseField name="profile" type="object">
          <Expandable title="properties">
            <ResponseField name="id" type="number">ID of the profile.</ResponseField>
            <ResponseField name="first_name" type="string">First name.</ResponseField>
            <ResponseField name="last_name" type="string">Last name.</ResponseField>
            <ResponseField name="website" type="string">Website URL.</ResponseField>
            <ResponseField name="company_name" type="string">Company name.</ResponseField>
            <ResponseField name="phone_number" type="string">Phone number.</ResponseField>
            <ResponseField name="address" type="string">Mailing address.</ResponseField>
            <ResponseField name="vat_id" type="string">VAT identification number.</ResponseField>
            <ResponseField name="country" type="string">Two-letter country code.</ResponseField>
            <ResponseField name="paypal_email" type="string">PayPal email for payouts.</ResponseField>
            <ResponseField name="avatar_url" type="string">URL of the promoter's avatar image.</ResponseField>
            <ResponseField name="description" type="string">Bio or description.</ResponseField>

            <ResponseField name="social_accounts" type="object">
              Social profile URLs keyed by platform (`twitter`, `youtube`, `facebook`, `linkedin`, `instagram`, `tiktok`, `twitch`). Each entry has a `url` string.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="promotions" type="array">
      Array of campaign promotions the promoter was enrolled in at signup. See [Lead Signup](/webhooks/lead-signup) for the full promotion object structure.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

<ResponseExample>
  ```json Response theme={null}
  {
    "event": {
      "id": 22733100,
      "type": "promoter_signed_up",
      "created_at": "2024-10-03T11:45:10.312Z"
    },
    "data": {
      "promoter": {
        "id": 9000800,
        "status": "pending",
        "cust_id": null,
        "email": "newaffiliate@example.com",
        "created_at": "2024-10-03T11:45:10.102Z",
        "temp_password": "XPQ-rT",
        "default_promotion_id": 11027500,
        "pref": "cx2mn4z",
        "default_ref_id": "cx2mn",
        "note": null,
        "w8_form_url": null,
        "w9_form_url": null,
        "parent_promoter_id": null,
        "earnings_balance": null,
        "current_balance": null,
        "paid_balance": null,
        "auth_token": "zK8mNpQwRtUvXyA2BcDeFgHiJkLmNoP",
        "profile": {
          "id": 9048200,
          "first_name": "Jane",
          "last_name": "Smith",
          "website": "https://www.janesmith.com",
          "company_name": "Smith Media",
          "phone_number": null,
          "address": "",
          "vat_id": "",
          "country": "US",
          "paypal_email": null,
          "avatar_url": null,
          "description": null,
          "social_accounts": {
            "tiktok": { "url": "" },
            "twitch": { "url": "" },
            "twitter": { "url": "https://twitter.com/janesmith" },
            "youtube": { "url": "" },
            "facebook": { "url": "" },
            "linkedin": { "url": "" },
            "instagram": { "url": "" }
          }
        }
      },
      "promotions": [
        {
          "id": 11027500,
          "status": "offer_running",
          "ref_id": "cx2mn",
          "promo_code": null,
          "customer_promo_code": null,
          "target_reached_at": null,
          "promoter_id": 9000800,
          "campaign_id": 13202,
          "referral_link": "https://www.example.com?_get=cx2mn",
          "current_offer": {
            "id": 67212,
            "name": "5% discount coupon",
            "amount": 5,
            "unit": "discount_per",
            "default_promo_code": "EXAMPLE-5"
          },
          "current_referral_reward": {
            "id": 128312,
            "amount": 0,
            "type": "per_referral",
            "unit": "cash",
            "name": "20% recurring commission",
            "per_of_sale": 20,
            "default_promo_code": ""
          },
          "current_promotion_reward": null,
          "current_target_reward": null,
          "campaign_name": "Main Campaign",
          "hidden": false,
          "visitors_count": 0,
          "leads_count": 0,
          "customers_count": 0,
          "refunds_count": 0,
          "cancellations_count": 0,
          "sales_count": 0,
          "sales_total": 0,
          "refunds_total": 0,
          "active_customers_count": 0
        }
      ]
    }
  }
  ```
</ResponseExample>
