---
title: "Update a group"
url: "https://docs.unified.to/ads/group/Update_a_group"
description: "API reference for Update a group. Launch multiple pre-built Group integrations today with zero maintenance — all through a single API."
generated_at: "2026-07-02T14:04:44.436Z"
---
# Update a group

 PUT/ads/{connection\_id}/group/{id}

## Parameters

**fields**string array 

id

created\_at

updated\_at

name

parent\_id

campaign\_id

organization\_id

insertionorder\_id

status

targeting

bid\_amount

bid\_strategy

budget\_amount

budget\_period

budget\_allocation\_type

start\_at

end\_at

budget\_unit

budget\_max\_amount

type

has\_eu\_political\_ads

pacing

frequency\_cap

creative\_ids

optimization\_goal

billing\_event

currency

promoted

raw

Fields to return

**raw**string 

Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar

**connection\_id**string  required 

ID of the connection

**id**string  required 

ID of the Group

## Payload

**id**string 

**created\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**updated\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**name**string 

**parent\_id**string 

**campaign\_id**string 

**organization\_id**string 

**insertionorder\_id**string 

**status** enum

Valid values:

 "UNSPECIFIED" 

 "ACTIVE" 

 "PAUSED" 

 "ARCHIVED" 

 "DRAFT" 

**targeting**object 

**bid\_amount**number 

**bid\_strategy**object 

YOUTUBE\_AND\_PARTNERS

**budget\_amount**number 

**budget\_period** enum

Valid values:

 "DAILY" 

 "MONTHLY" 

 "TOTAL" 

 "LIFETIME" 

**budget\_allocation\_type** enum

Valid values:

 "UNSPECIFIED" 

 "AUTOMATIC" 

 "FIXED" 

 "UNLIMITED" 

**start\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**end\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**budget\_unit** enum

Valid values:

 "UNSPECIFIED" 

 "CURRENCY" 

 "IMPRESSIONS" 

**budget\_max\_amount**number 

**type** enum

Valid values:

 "TEXT" 

 "IMAGE" 

 "VIDEO" 

 "RESPONSIVE" 

 "SHOPPING" 

**has\_eu\_political\_ads**boolean 

**pacing**object 

**frequency\_cap**object 

**creative\_ids**string array 

**optimization\_goal** enum

Valid values:

 "REACH" 

 "IMPRESSIONS" 

 "LINK\_CLICKS" 

 "LANDING\_PAGE\_VIEWS" 

 "CONVERSIONS" 

Optimization goals for ads\_group (cross-platform; platform-specific values allowed as pass-through)

**billing\_event** enum

Valid values:

 "IMPRESSIONS" 

 "LINK\_CLICKS" 

 "VIDEO\_VIEWS" 

 "APP\_INSTALLS" 

 "ENGAGEMENT" 

Billing events for ads\_group (what you pay for; cross-platform; platform-specific values allowed as pass-through)

**currency**string 

**promoted** array 

**raw**any 

## Returns

[AdsGroup](/ads/group/model)

**id**string 

**created\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**updated\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**name**string 

**parent\_id**string 

**campaign\_id**string 

**organization\_id**string 

**insertionorder\_id**string 

**status** enum

Valid values:

 "UNSPECIFIED" 

 "ACTIVE" 

 "PAUSED" 

 "ARCHIVED" 

 "DRAFT" 

**targeting**object 

**bid\_amount**number 

**bid\_strategy**object 

YOUTUBE\_AND\_PARTNERS

**budget\_amount**number 

**budget\_period** enum

Valid values:

 "DAILY" 

 "MONTHLY" 

 "TOTAL" 

 "LIFETIME" 

**budget\_allocation\_type** enum

Valid values:

 "UNSPECIFIED" 

 "AUTOMATIC" 

 "FIXED" 

 "UNLIMITED" 

**start\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**end\_at**date 

(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)

**budget\_unit** enum

Valid values:

 "UNSPECIFIED" 

 "CURRENCY" 

 "IMPRESSIONS" 

**budget\_max\_amount**number 

**type** enum

Valid values:

 "TEXT" 

 "IMAGE" 

 "VIDEO" 

 "RESPONSIVE" 

 "SHOPPING" 

**has\_eu\_political\_ads**boolean 

**pacing**object 

**frequency\_cap**object 

**creative\_ids**string array 

**optimization\_goal** enum

Valid values:

 "REACH" 

 "IMPRESSIONS" 

 "LINK\_CLICKS" 

 "LANDING\_PAGE\_VIEWS" 

 "CONVERSIONS" 

Optimization goals for ads\_group (cross-platform; platform-specific values allowed as pass-through)

**billing\_event** enum

Valid values:

 "IMPRESSIONS" 

 "LINK\_CLICKS" 

 "VIDEO\_VIEWS" 

 "APP\_INSTALLS" 

 "ENGAGEMENT" 

Billing events for ads\_group (what you pay for; cross-platform; platform-specific values allowed as pass-through)

**currency**string 

**promoted** array 

**raw**any 

## Code Samples

### Node.js SDK

```
import { UnifiedTo } from '@unified-api/typescript-sdk';

const sdk = new UnifiedTo({
    security: {
        jwt: '<YOUR_API_KEY_HERE>',
    },
});

const connectionId = '5de520f96e439b002043d8dc';

const id = '1234';

const results = await sdk.ads.updateAdsGroup({ connectionId, id, adsGroup: { }, 
    fields: '',
    raw: '',
 });
```

### Node.js (axios)

```
const options = {
  method: 'PUT',
  url: 'https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8',
  headers: {
    authorization: 'bearer .....'
  },
  data: undefined,
  params: {
    fields: '',
    raw: '',
  }
};

const results = await axios.request(options);
```

### Java

```
AsyncHttpClient client = new DefaultAsyncHttpClient();

client.prepare("PUT", "https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8?fields=&raw=")
  .setHeader("accept", "application/json")
  .setHeader("authorization", ".....")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
```

### Go

```
import (
	"fmt"
	"net/http"
	"io/ioutil"
)

url := `https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8?fields=&raw=

req, _ := http.NewRequest("PUT", url, nil)

req.Header.Add("accept", "application/json")
req.Header.Add("authorization", ".....")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
```

### Python

```
import requests

url = "https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8?fields=&raw="

headers = {
    "accept": "application/json",
    "authorization": "....."
}

response = requests.put(url, headers=headers)
```

### PHP

```
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8?fields=&raw=",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "authorization: ....."
  ],
]);
```

### Ruby

```
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8?fields=&raw=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["accept"] = 'application/json'
request["authorization"] = '....'

response = http.request(request)
puts response.read_body
```

### cURL

```
curl --request PUT \
  --url 'https://api.unified.to/ads/5de520f96e439b002043d8dc/group/5de520f96e439b002043d8d8?fields=&raw=' \
  --header 'accept: application/json' \
  --header 'authorization: .....'
```
