# Create affiliate

This endpoint allows merchants to create affiliates on demand.

Both normal affiliates and customer referrers can be created through this endpoint. To create a customer referrer, simply pass the `stripe_customer_id` parameter that indicates the Stripe Customer that should receive account credits as rewards.

{% hint style="info" %}
Rewardful does not send a "Welcome Email" or require email confirmation for affiliates created through the REST API. If you would like to send a "Welcome Email" to these affiliates, you can do so from your application after making the API call, respond to the [`affiliate.created` webhook](https://developers.getrewardful.com/webhooks/event-types#affiliates), or configure on of our [email integrations](https://help.getrewardful.com/en/collections/2290354-email-integrations-webhooks).
{% endhint %}

## Request

| Method | URL                                          |
| ------ | -------------------------------------------- |
| `POST` | `https://api.getrewardful.com/v1/affiliates` |

### Parameters

| Parameter            | Required? | Description                                                                                                                                                                       |
| -------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `first_name`         | Yes       | The affiliate's first name.                                                                                                                                                       |
| `last_name`          | Yes       | The affiliate's last name.                                                                                                                                                        |
| `email`              | Yes       | The affiliate's email address.                                                                                                                                                    |
| `state`              | No        | A string indicating the [affiliate's state](https://developers.rewardful.com/rest-api/object#state). Defaults to `active`.                                                        |
| `stripe_customer_id` | No        | For customer referral programs, this is the Stripe Customer that will receive account credits as rewards. ***Note:** the customer must exist in your Stripe account in livemode.* |
| `token`              | No        | Alphanumeric code to be used for links, ex: `?via=token` Must contain only letters, numbers, and dashes.                                                                          |
| `campaign_id`        | No        | <p>The UUID of the campaign this affiliate should be added to. Affiliate will be added to your default campaign if this parameter is </p><p>blank.</p>                            |
| `paypal_email`       | No        | The PayPal address that commissions should be paid to.                                                                                                                            |
| `wise_email`         | No        | The Wise address that commissions should be paid to.                                                                                                                              |

`receive_new_commission_notifications` may also be optionally provided. This parameter indicates whether or not the affiliate should receive emails when new rewards and commissions are earned. Accepts `true` (default) or `false`.

### Example

```bash
curl --request POST \
  --url https://api.getrewardful.com/v1/affiliates \
  -u YOUR_API_SECRET: \
  -d first_name=James \
  -d last_name=Bond \
  -d email=jb007@mi6.co.uk \
  -d token=jb007 \
  -d stripe_customer_id=cus_ABC123
```

## Response

{% tabs %}
{% tab title="Success" %}

| Response code | Body                                                                                      |
| ------------- | ----------------------------------------------------------------------------------------- |
| 200           | An [affiliate object](https://developers.rewardful.com/rest-api/affiliates/object) (JSON) |
| {% endtab %}  |                                                                                           |

{% tab title="Failures" %}

### Invalid parameters

| Response code | Body                                      |
| ------------- | ----------------------------------------- |
| `422`         | JSON object describing validation errors. |

```javascript
{
  "error": "Could not create affiliate.",
  "details": ["Email can't be blank"]
}
```

### Authentication failure

| Response code | Body                                       |
| ------------- | ------------------------------------------ |
| `401`         | Description of the authentication failure. |

```javascript
{  "error": "Invalid API Secret." }
```

{% endtab %}
{% endtabs %}
