# Recruiting and equipping partners

The partner directory, messages to your promoters, importing a partner list, a file library, links to any page, campaign tags and the disclosure line.

Everything you use to find partners, equip them and keep them, and what your partners get
to share well: a listing in the partner directory, messages to your promoters, a partner
list brought across from another tool, a file library, links to any page with campaign
tags, and the disclosure line that keeps both of you inside the FTC's and the ASA's rules.

## The partner directory

BoltClaw has a directory where people who promote products find programs to join. It is
deliberately small and private:

- **Only signed-in BoltClaw accounts can open it.** It lives inside the dashboard, it is in no
  sitemap, search engines are told not to index it, and there is no API for it: an API would be
  a way to copy it out.
- **It lists only programs whose business switched listing on.** Listing is off for every
  program until you turn it on, and a program that is not listed is never found, not even by
  its exact name.
- **It never shows who promotes a program, or how many do.** No partner names, no partner
  counts, no revenue, and no id of yours: a listing is known only by a random id of its own.
- **Each account may load a limited number of pages** (60 a minute and 1,000 a day by default).

What a card shows: your program's name and logo, a category, your pitch (up to 280
characters), the rewards in plain sentences generated from your own reward rules (never typed,
so they cannot promise more than you pay), the cookie window, the payout schedule and minimum,
the payout providers you connected, the countries and languages you welcome, and when you were
listed.

**Who may list.** Every one of these must hold, or listing is refused with a sentence for each
that does not:

| Condition | Why |
|---|---|
| The program is active and anybody may apply (not invite-only) | A partner who finds it must be able to join |
| It has terms, and a reward for partners | They must know what they agree to and what they earn |
| Your organisation is at least 7 days old and not suspended | Cuts throwaway accounts |
| One real sale came in through your connected billing system, or your setup checklist is complete | Cuts "programs" that recruit promoters and never pay |

**Reports.** Any signed-in account may report a program ("it looks like a scam", "what it says
about rewards is not true", spam, offensive, something else). Reports from three different
accounts hide the listing until BoltClaw reviews it; a rule only ever hides a listing, and a
person decides. Partners apply from the directory exactly as through your signup link: your
terms, your questions, your approval.

Set it up on **Referrals, your program, Directory**, or with
`PATCH /v1/referrals/programs/{id}/listing`. An AI assistant asks you before it changes your
listing, unless your organisation lets assistants do it without asking.

## Messages to your promoters

Write to the approved promoters of one program: everyone, one group or level, or a list you
pick. The message is plain text with a little formatting: paragraphs, **bold**, *italic*,
`[links](https://example.com)` and lists. HTML and images are not accepted, links must be
`https://`, and every link is shown with its domain beside it, so "Click here" can never hide
where it goes. `{name}`, `{link}` and `{code}` are filled with each promoter's own display
name, referral link and discount code.

| Who | What they get |
|---|---|
| Partners (BoltClaw accounts) | An email from BoltClaw in your brand, with a one-click unsubscribe from your messages (it never stops payout or commission emails), and the message on their program page |
| Your own users in the in-app panel | Never an email from BoltClaw. The message appears in the panel's News, and your webhook receives `referral.broadcast.sent` so you can send your own: `GET /v1/referrals/broadcasts/{id}/referrers` lists them by your own ids |

Send yourself a test first: the dashboard sends a broadcast only after a test of its current
text. Emails go out a few at a time, so a large program takes a few minutes. A program may send
2 broadcasts in any 24 hours and 10 in any 30 days. Every send is recorded in your activity log,
and an AI assistant always asks you before it sends one.

## Bring a partner list across

Moving from another tool? Upload a CSV of up to 10,000 people with a header row:

| Column | Required | What it does |
|---|---|---|
| `name` | yes | What you call them; shown only to you |
| `email` | yes | Tells your rows apart. Kept only as a fingerprint, never as the address, and never emailed |
| `code` | no | A vanity code held for them: nobody else can take it meanwhile |
| `group` | no | A group or level of the program, by name |
| `rate` | no | A custom rate for them alone, as a percentage (`25` or `25%`) |
| `balance` and `currency` | no | An opening balance you owe them, in the program's currency |

The preview checks every row before anything is written (a code already taken, somebody already
invited or promoting, a group that does not exist) and the import is all or nothing. Each row
becomes an invite reserved for that person. **BoltClaw sends no invitation email**: download the
names with their personal links and send them from your own email. When a person signs in through
their link, they join approved (if your plan has room) with their code, group and rate, and an
opening balance becomes a bonus paid by hand, "Balance brought over", only at that moment, so
money is never owed to nobody. A file with balances needs the "Adjust commissions and pay
partners" permission.

Over the API: `POST /v1/referrals/programs/{id}/imports/preview`, then
`POST /v1/referrals/programs/{id}/imports`, 500 rows a call (`import_id` joins the parts of one
file), and `GET /v1/referrals/imports/{id}/invites` for the links.

## The file library

Give partners what they need to share well, per program:

- **Images**: banners and logos, PNG, JPEG or WebP up to 2 MiB, checked by their bytes. SVG, HTML
  and PDF are not accepted: each can carry active content.
- **Text snippets**: a post, an email, a pitch, up to 2,000 characters, with `{link}` and `{code}`
  filled with each partner's own. When a partner copies one, your disclosure line comes with it.
- **Links**: your brand guidelines or press kit, with their domain shown.

Each item may be shown to one group only. A snippet may also be shown to your own users in the
in-app panel.

## Links to any page, and campaign tags

A partner's link can open any page of your site, not only your product URL:

```
https://boltclaw.ai/r/jane?to=/pricing
https://boltclaw.ai/r/jane?to=/guide&host=docs.example.com
```

`to` is a path on your product URL's host. `host` picks another of your hosts, but only one you
listed as an allowed host AND proved with a TXT record (`_boltclaw.<host>` with the value shown
on **Settings** or by `GET /v1/referrals/programs/{id}/link-hosts`). Anything else (a path that is
not one, a host you have not proved) lands on your product URL: a referral link is never an open
redirect.

Add `sub` to tag a placement: `?sub=youtube`. The tag (lower-case letters, digits, `_` and `-`,
up to 80) is recorded on the click and passed to your site as `bc_sub`, which the version 2
website tag keeps beside the code (`BoltClawReferral.sub()`). Send it back with a conversion as
`referral.sub`, or in Stripe metadata as `boltclaw_sub`; otherwise the tag of the click that
brought the customer is used. Partners see their clicks, signups, sales and earnings by tag.
A link's own `utm_*` parameters are passed on unchanged.

## The disclosure line

Partners must tell people they earn from their link: the FTC expects you to train and watch your
affiliates, and "affiliate link" alone is not a disclosure; the UK's ASA asks for "Ad". Every
program has a disclosure sentence, filled in for your currency's region:

| Region | Default |
|---|---|
| United States and elsewhere | I earn a commission if you buy through my link. |
| United Kingdom | Ad · I earn a commission from this link. |
| European Union | Advertising: I earn a commission if you buy through this link. |

You can change the words; you cannot empty them. BoltClaw shows the sentence to a partner the
first time they copy a link or a code in your program and then monthly, every time they put a
link in a post, a bio page or an automation, after every library snippet they copy, and under
the share buttons in the in-app panel. It never stops anybody sharing. When a partner
acknowledges it, the date is shown on your Partners tab: evidence of the training the FTC
expects of you.

<!-- https://boltclaw.ai/docs/referral-growth as markdown. Generated from openapi.yaml; API version 1.22.0. -->
<!-- Every /docs page answers as markdown: add .md to its path, or send Accept: text/markdown. -->
