← All action domains

Affiliates

16 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

Set up with Stripe

affiliates.connect_stripewrite

Start (or resume) Stripe Express onboarding so the caller can be paid straight to their bank. Returns a one-time Stripe URL the person must open in a browser and complete themselves — the platform never sees their bank details, and this capability cannot finish onboarding on their behalf. Safe to call repeatedly: the Stripe account is created once and reused, and the link is short-lived so a fresh one is minted each time.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.connect_stripe \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_connect_stripe at https://app.chirply.io/api/mcp, same bearer token, same input.

Your team

affiliates.downlineread

List the affiliates the caller recruited — the people whose sales earn them tier-2 commission — with how many paying customers each has brought in and how much each has earned the caller. Read-only.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.downline \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_downline at https://app.chirply.io/api/mcp, same bearer token, same input.

Your affiliate link

affiliates.get_programread

Get the caller's own affiliate link, referral code, and exactly what they earn at BOTH tiers — tier 1 on customers they refer directly, tier 2 on customers referred by affiliates they recruited. Also returns which campaign and rate table (everyone vs partner) they're on. Read-only; costs nothing. Every account holder is an affiliate automatically, so this always returns something.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.get_program \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_get_program at https://app.chirply.io/api/mcp, same bearer token, same input.

Leaderboard

affiliates.leaderboardread

The live affiliate leaderboard — who has the most paying customers, the most signups, or the most clicks, across everyone promoting the platform. Returns counts only, never anyone's earnings, and excludes affiliates who opted out. Also returns the caller's own position even when they're outside the top of the board. Use it to find who to reward. Read-only.

Parameters

FieldTypeRequiredDescription
metric"customers" | "referrals" | "clicks"optionalWhat to rank by. 'customers' = paying customers referred (the only one that is revenue), 'referrals' = signups, 'clicks' = unique link clicks. Default: "customers"
limitintegeroptionalHow many places to return. Default: 25

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.leaderboard \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "metric": "customers",
    "limit": 25
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_leaderboard at https://app.chirply.io/api/mcp, same bearer token, same input.

Chirply affiliate campaigns

affiliates.list_campaignsread

List campaigns in Chirply's own affiliate program (users earning commission for referring new Chirply customers — not a tenant's own affiliate programs), with their full rate tables: for each campaign, whether it is one tier or two, and what each audience (everyone vs partners) earns at each tier. Read-only. Available to any signed-in caller, since an affiliate is entitled to see the terms on offer.

Parameters

FieldTypeRequiredDescription
include_archivedbooleanoptionalInclude retired campaigns. Default: false

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.list_campaigns \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "include_archived": false
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_list_campaigns at https://app.chirply.io/api/mcp, same bearer token, same input.

Your commissions

affiliates.list_commissionsread

List the caller's individual commission entries — one per payment a referred customer made, including renewals, at both tiers. Shows what the customer paid, what the affiliate earned, which tier it came from, whether it has cleared the hold period / been paid out / been reversed by a refund, and WHO each one is for: on tier-1 rows `person_email`/`person_name` is the customer who paid; on tier-2 rows it's the team member (the affiliate the caller recruited) whose sale generated the override. Read-only.

Parameters

FieldTypeRequiredDescription
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0
status"pending" | "paid" | "reversed" | "rejected"optionalOnly commissions in this state.
tier1 | 2optional1 = their own referrals. 2 = commission from their team's sales.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.list_commissions \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 25,
    "offset": 0
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_list_commissions at https://app.chirply.io/api/mcp, same bearer token, same input.

Offers & links

affiliates.list_offersread

List every public offer the caller can promote, including their ready-to-share tracked link, the audience and promise for each funnel, every upsell/downsell in buyer order, what the customer pays at each step, and the caller's exact tier-1 payout on that payment. Read-only; creates no links in a third-party system and spends nothing.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.list_offers \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_list_offers at https://app.chirply.io/api/mcp, same bearer token, same input.

Your payouts

affiliates.list_payoutsread

List the caller's payout requests and their state — requested, sending, paid, failed or cancelled. Read-only.

Parameters

FieldTypeRequiredDescription
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.list_payouts \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 25,
    "offset": 0
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_list_payouts at https://app.chirply.io/api/mcp, same bearer token, same input.

People you referred

affiliates.list_referralsread

List the people the caller referred and where each one got to — signed up, paying, cancelled, or voided — along with the commission terms locked in for each. A voided referral carries the reason it earns nothing (self_referral, fraud, duplicate, dispute, other). Read-only.

Parameters

FieldTypeRequiredDescription
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0
status"pending" | "customer" | "churned" | "rejected"optionalOnly referrals in this state. 'customer' means they're paying.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.list_referrals \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 25,
    "offset": 0
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_list_referrals at https://app.chirply.io/api/mcp, same bearer token, same input.

How each offer is doing

affiliates.offer_statsread

Break the caller's affiliate numbers down by which of the published offers produced them — for every offer separately: visitors, total clicks, opt-ins, paying customers, opt-in rate, conversion rate, earnings per visitor, and the commission that offer has earned split into ready-to-withdraw, still clearing, already paid, reversed, and the tier-1/tier-2 split. Also names the offer that has earned the most so far. Two rows are not offers and are never named as the best: 'other' is referred traffic that landed on pages outside any funnel, such as the blog or pricing, and 'untracked' is earnings recorded before per-offer tracking existed, which cannot be traced to a funnel. Read-only; spends nothing and changes nothing.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.offer_stats \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_offer_stats at https://app.chirply.io/api/mcp, same bearer token, same input.

Chirply affiliate dashboard

affiliates.overviewread

Everything on the caller's Chirply Affiliates page in one call — their own account in Chirply's affiliate program (earning by referring new Chirply customers, not a tenant's own affiliate programs): their link and both tiers of terms, balances, click and referral counts, their team, and their most recent referrals, commissions and payouts. Use this instead of several separate reads when summarising someone's Chirply affiliate activity. Read-only.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.overview \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_overview at https://app.chirply.io/api/mcp, same bearer token, same input.

Save automatic delivery

affiliates.set_contact_deliverywriteconfirm

Turn automatic affiliate lead delivery on or off for the caller's current account. Enabling saves the destination immediately, starts creating or matching contacts for every existing attributed opt-in and customer in the background, then keeps delivering future opt-ins and sales with source and offer tags. Newly created contacts can trigger the account's contact-created automations, which may send real email or SMS, place calls, or incur provider charges. Disabling stops future delivery and never deletes contacts already delivered.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
enabledbooleanrequiredTrue to start backfilling existing attributed leads and customers in the background and automatically deliver future ones into this account; false to stop future delivery without deleting existing contacts.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.set_contact_delivery \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_set_contact_delivery at https://app.chirply.io/api/mcp, same bearer token, same input.

Save payout details

affiliates.set_payout_methodwriteconfirm

Set where the caller's affiliate commission should be sent — a PayPal email address, their already-connected Stripe Express account, or free-text bank details for a manual transfer. THIS IS A PAYMENT DESTINATION: it overwrites whatever was there before, with no record of the old value, and affiliates.send_payout later pays real money to exactly what is stored here. A wrong PayPal address bounces the payment at best and pays a stranger at worst, so the address must be confirmed with the person it belongs to before this is saved. 'stripe' requires affiliates.connect_stripe to have already been completed — set this before that and it is refused, since a payout method that can't be paid to would only surface as a failure at withdrawal. Only the affiliate themselves can call it — an API key, OAuth token or installed app is refused, because an account credential is not the person whose money this is.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
method"paypal" | "stripe" | "manual"required'paypal' pays automatically to an email address; 'stripe' pays automatically to their already-connected Stripe Express account (see affiliates.connect_stripe); 'manual' means a human sends it to the details in `notes`.
paypal_emailstringoptionalThe email on their PayPal account. Required when method is 'paypal'.
notesstringoptionalWhere to send a manual payment — bank details, Wise, etc. Required when method is 'manual'.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.set_payout_method \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "paypal"
  }'
Test with your API key

Over MCP the same operation is the tool affiliates_set_payout_method at https://app.chirply.io/api/mcp, same bearer token, same input.

Your affiliate earnings

affiliates.statsread

The caller's affiliate numbers: how much is due to be paid out, how much is still in the clearing period, how much has been paid out all time, the split between tier-1 earnings (their own referrals) and tier-2 earnings (their team's), and how many people clicked, signed up, and became paying customers. Read-only.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.stats \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_stats at https://app.chirply.io/api/mcp, same bearer token, same input.

Stripe payout status

affiliates.stripe_statusread

Check whether the caller's Stripe Express account is ready to receive payouts. Re-reads the account from Stripe rather than trusting the stored copy, so it reflects onboarding they finished seconds ago. Read-only.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/affiliates.stripe_status \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool affiliates_stripe_status at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=affiliates — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.