# Update ad group

> Change a TikTok ad group's budget, end date or name.

Canonical: <https://www.tryadeli.com/docs/api/ads/update-ad-group>

`PATCH https://app.tryadeli.com/api/v1/ads/ad-groups/{adGroupId}`

Authorization: `Bearer <API key>` — see [Authentication](https://www.tryadeli.com/docs/authentication)

**TikTok Ads only.** Changes an ad group's daily budget, end date or name. The
`adGroupId` is an entry in a campaign's `adSets` from the
[campaign tree](https://www.tryadeli.com/docs/api/ads/get-campaign-tree); TikTok calls ad sets ad groups.

**Body**

| Name          | Type     | Required | Description                                                                                                                                      |
| ------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `adAccountId` | `string` | Yes      | The TikTok advertiser id the ad group belongs to.                                                                                                |
| `dailyBudget` | `number` |          | Whole units of the ad account's currency. TikTok's minimum is 20 USD a day; Adeli refuses less for a USD account with 400 before calling TikTok. |
| `endDate`     | `date`   |          | YYYY-MM-DD. The ad group stops delivering at the end of that day in the ad account's timezone.                                                   |
| `name`        | `string` |          | Shown in TikTok Ads Manager.                                                                                                                     |

Give at least one of `dailyBudget`, `endDate` or `name`. A Meta account returns
`400 unsupported_for_platform`.

## Request examples

**cURL**

```bash
curl -X PATCH "https://app.tryadeli.com/api/v1/ads/ad-groups/1800000000000000002?accountId=00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer $ADELI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "adAccountId": "7000000000000000001",
  "dailyBudget": 25
}'
```

**JavaScript**

```javascript
const response = await fetch("https://app.tryadeli.com/api/v1/ads/ad-groups/1800000000000000002?accountId=00000000-0000-0000-0000-000000000000", {
  method: "PATCH",
  headers: {
    Authorization: `Bearer ${process.env.ADELI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    adAccountId: "7000000000000000001",
    dailyBudget: 25,
  }),
});
console.log(await response.json());
```

**Python**

```python
import os

import requests

response = requests.patch(
    "https://app.tryadeli.com/api/v1/ads/ad-groups/1800000000000000002",
    headers={"Authorization": f"Bearer {os.environ['ADELI_API_KEY']}"},
    params={
        "accountId": "00000000-0000-0000-0000-000000000000",
    },
    json={
        "adAccountId": "7000000000000000001",
        "dailyBudget": 25,
    },
)
print(response.json())
```

## Responses

### 200

```json
{
  "platform": "tiktok_ads",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "adAccountId": "7000000000000000001",
  "adGroup": { "adGroupId": "1800000000000000002", "dailyBudget": 25 }
}
```

### 400

```json
{
  "error": {
    "code": "invalid_request",
    "message": "TikTok's minimum ad group budget is $20 a day"
  }
}
```
