> For the complete documentation index, see [llms.txt](https://comet-3.gitbook.io/comet-sdk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://comet-3.gitbook.io/comet-sdk/reference/comet-sdk-reference/comet-rest-api/airdrops.md).

# Airdrops

## Launch Airdrop

You can quickly distribute tokens from collections you've launched with Comet by using the `POST /airdrop` API endpoint. You'll need to specify a list of recipients (either their Comet User IDs or Solana addresses), and for each recipient indicate which collection you want them to receive. An example request is below.

After you've launched your airdrop, Comet will return an `id` that you can use to monitor the status of the airdrop.

{% hint style="warning" %}
Keep in mind that you cannot mint any collection past its `maxSupply`, when applicable. If you try to airdrop more NFTs from a collection than there are available tokens, some recipients won't receive the airdrop.
{% endhint %}

{% hint style="warning" %}
Even if your NFT collection requires payment, recipients will receive your airdropped NFTs for free.
{% endhint %}

<details>

<summary>Example Request Body</summary>

```
{
  "airdrops": [
    { "collectionId": "9f46cddbd46f", "address": "AXkcPCWrWYGuayYgKp7y6LhugKzq5f3pqeKnrSod9ufy" },
    { "collectionId": "9f46cddbd46f", "userId": "c4367732ab0c" }
  ] 
}
```

</details>

## Send tokens to many users.

<mark style="color:green;">`POST`</mark> `https://api.withcomet.com/v1/airdrop`

#### Headers

| Name                                            | Type   | Description  |
| ----------------------------------------------- | ------ | ------------ |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer token |

#### Request Body

| Name                                       | Type   | Description                                                        |
| ------------------------------------------ | ------ | ------------------------------------------------------------------ |
| airdrops<mark style="color:red;">\*</mark> | String | List of recipients, specifying which collection each will receive. |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```javascript
{
    "id": "I4WTgq6ZHb2ncugUWBz1oSPDld5eJi5U",
    "count": 2
}
```

{% endtab %}

{% tab title="400: Bad Request " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

## Check Airdrop Status

## Get the status of a previously launched airdrop.

<mark style="color:blue;">`GET`</mark> `https://api.withcomet.com/v1/airdrop/:id`

#### Headers

| Name                                            | Type   | Description  |
| ----------------------------------------------- | ------ | ------------ |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer token |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```javascript
{
    "id": "I4WTgq6ZHb2ncugUWBz1oSPDld5eJi5U",
    "statuses": {
        "SUCCEEDED": [
            {
                "taskId": "a64445c3866c7080549051276f289937",
                "CometUserId": "c4367732ab0c",
                "address": "2yAEzsC4GPCT3kGq39K5KLAqPFo4xzvNShDZHqCWo4Gx"
            },
            {
                "taskId": "37e44b47a52368a95bc7a0b2170e2e5f",
                "CometUserId": null,
                "address": "AXkcPCWrWYGuayYgKp7y6LhugKzq5f3pqeKnrSod9ufy"
            }
        ]
    },
    "count": 2
}
```

{% endtab %}

{% tab title="400: Bad Request " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}
