Skip to main content
POST
Create Campaign Application
Submits an applicant from your own signup form directly into a Growi campaign — so you can host the signup experience on your domain while Growi handles creator onboarding, approval, and tracking. The endpoint creates the creator account if it doesn’t exist yet, files a pending application to the campaign (or accepted, when the campaign auto-accepts applicants), and stores any marketing attribution you send. When the creator is later approved, or generates a sale, the attribution is echoed back on the corresponding webhook events so you can match the creator in your ad platform (for example, forwarding to the Meta Conversions API).
Requires a full-access API key (read-only keys are rejected).
Idempotent: repeat submissions for the same email + campaign_id return the existing application with created: false instead of creating a duplicate. Attribution keys not seen before are merged in; existing values are never overwritten. This endpoint is also exempt from the 2-second request-interval limit, so bursts of near-simultaneous form submissions are safe.

Request Body

Attribution fields (all optional)

Everything below is stored verbatim and echoed back inside the attribution object on webhook events.

Request Example

Response Example

A repeat submission returns 200 with the same shape and "created": false.

Response Fields

Error Responses

403 — plan or key
404 — campaign not found for your organization
422 — validation

Use Cases

  • Host your own signup form: keep the application experience on your domain (with your pixels and analytics firing natively) while applicants flow straight into Growi for review.
  • Meta ads attribution: send fbp/fbc/event_id with each applicant, then forward the campaign_affiliate.activated and affiliate_sale.created webhook events — which echo the same identifiers — to the Meta Conversions API so your media team can optimize on approvals and revenue.
  • CRM sync: pass your internal applicant id; it comes back as attribution.external_id on webhook events for painless matching.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
campaign_id
integer
required

Growi campaign the applicant is applying to

email
string
required

Applicant's email address

first_name
string

Applicant's first name

last_name
string

Applicant's last name

tiktok_handle
string

TikTok handle or profile URL — the account is attached to the creator's profile

id
integer

Your internal applicant id, stored as attribution external_id

created_at
string

When the applicant submitted your form, stored as attribution submitted_at

fbp
string

Meta browser id cookie (_fbp)

fbc
string

Meta click id cookie (_fbc)

fbclid
string

Meta click id from the landing page URL

event_id
string

Your event id — echoed back on webhook events so you can deduplicate against Meta Conversions API

event_name
string

Your event name (e.g. AffiliateLead)

event_source_url
string

URL the applicant submitted the form from

client_ip_address
string

Applicant's IP address

client_user_agent
string

Applicant's browser user agent

referrer
string

HTTP referrer of the signup page

utm_source
string
utm_medium
string
utm_campaign
string
utm_content
string
utm_term
string
follower_count
integer

Applicant's TikTok follower count

likes_count
integer

Applicant's TikTok likes count

video_count
integer

Applicant's TikTok video count

tiktok_verified
integer

1 when the TikTok account is verified

enriched_at
string

When you enriched the TikTok profile data

Response

Repeat submission — the existing application is returned and new attribution keys are merged

data
object