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

# POST /signup

`POST /signup`

Capture a lead when they sign-up or fill an optin form. This endpoint is used to track leads and sign-ups. It's not for tracking the actual sales and commissions. <br/>  <br/> Sign-ups are tracked as leads in FirstPromoter so when a person referred by the promoter/affiliate signs up, a new referral should be added inside FirstPromoter **(you can see them inside the `Referrals` section as `Leads`)**. <br/><br/><Tip>The recommended way to do this is to grab the `_fprom_tid` **(_fprom_track for accounts created prior to April 2021)** cookie value(which keeps the tracking id and referral identification) on your server and send it along with the sign-up data through the tid parameter. <br/><br/> **Alternative:** In some special cases, you can refer sign ups directly to a promoter, by passing the referral id through ref_id parameter. Be careful when using this because the referral id can be modified by the promoter by default, however you can disable that from the campaign configuration page.</Tip><Tip>**HTTP Request** <br/>`POST https://api.firstpromoter.com/api/v2/track/signup`</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 — ID to match the sale with the lead if the email can be changed before the first sale. Required if email is not provided.
    - `tid` string — Visitor tracking ID. It's set when the visitor tracking script tracks the referral visit on our system. The value is found inside _fprom_tid cookie. Required if ref_id is not provided.
    - `ref_id` string — Default referral id of the promoter. Use this only when you want to assign the lead to a specific promoter. Required if tid is not provided.
    - `ip` string — IP of the visitor who generated the sign up. It's used for fraud analysis.
    - `created_at` string — ISO date string of the date of the signup event
    - `skip_email_notification` boolean — Set this to 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 — ID to match the sale with the lead if the email can be changed before the first sale. Required if email is not provided.
    - `tid` string — Visitor tracking ID. It's set when the visitor tracking script tracks the referral visit on our system. The value is found inside _fprom_tid cookie. Required if ref_id is not provided.
    - `ref_id` string — Default referral id of the promoter. Use this only when you want to assign the lead to a specific promoter. Required if tid is not provided.
    - `ip` string — IP of the visitor who generated the sign up. It's used for fraud analysis.
    - `created_at` string — ISO date string of the date of the signup event
    - `skip_email_notification` boolean — Set this to true to skip email notifications. Default is false.

## Response `200`

Successful signup response

- object
  - `id` integer
  - `etype` string
  - `sale_amount` integer, nullable
  - `original_sale_amount` integer, nullable
  - `original_sale_currency` string, nullable
  - `event_id` string, nullable
  - `plan_id` string, nullable
  - `billing_period` string, nullable
  - `created_at` string, date-time
  - `referral` object
    - `id` integer
    - `email` string
    - `uid` string, nullable
  - `commissions` unknown[]
    - unknown

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `422` — Unprocessable Entity

---

[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/revisions/e15f0d026ccf/schema)
