# Update a coupon set

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


[Idempotency Supported](/docs/api/idempotency)

Use this API to update a specific coupon set by updating its `name` and the `meta_data`.

## Sample Request

#### cURL

```bash
curl  https://{site}.chargebee.com/api/v2/coupon_sets/cs_3Rtyuqop/update \
     -u {site_api_key}:\
     -d name="Promotional Offer"
```

#### .NET

```dotnet
using ChargeBee.Api;
using ChargeBee.Models;

ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = CouponSet.Update("cs_3Rtyuqop")
		.Name("Promotional Offer")
		.Request();

CouponSet couponSet = result.CouponSet;
```

#### Go

```go
package main
import (
    "fmt"
    "github.com/chargebee/chargebee-go/v3"
    couponsetAction "github.com/chargebee/chargebee-go/v3/actions/couponset"
    "github.com/chargebee/chargebee-go/v3/models/couponset"
)
func main() {
    chargebee.Configure("{site_api_key}","{site}");
    res,err := couponsetAction.Update("cs_3Rtyuqop", &couponset.UpdateRequestParams{
        Name : "Promotional Offer",
    }).Request()
    if err != nil {
        fmt.Println(err)
    } else {
        CouponSet := res.CouponSet
    }
}
```

#### Go

```go
package main

import (
  "fmt"
  "github.com/chargebee/chargebee-go/v4"
)

func main() {
  config := &chargebee.ClientConfig{
    SiteName: "{site}",
    ApiKey: "{site_api_key}",
  }    
  client := chargebee.NewClient(config)
  req := &chargebee.CouponSetUpdateRequest{
    Name : "Promotional Offer",
}
  res, err := client.CouponSet.Update("cs_3Rtyuqop", req)
      if err != nil {
        fmt.Println(err)
    } else {
        CouponSet := res.CouponSet
    }
}
```

#### Java

```java
import com.chargebee.*;
import com.chargebee.ListResult;
import com.chargebee.models.*;
import com.chargebee.models.enums.*;
import java.io.IOException;

public class Sample {

    public static void main(String args[]) throws IOException, Exception {
        Environment.configure("{site}", "{site_api_key}");
        Result result = CouponSet.update("cs_3Rtyuqop")
            .name("Promotional Offer")
            .request();

        CouponSet couponSet = result.couponSet();
    }
}
```

#### Java

```java
import com.chargebee.v4.client.ChargebeeClient;
import com.chargebee.v4.models.couponSet.CouponSet;
import com.chargebee.v4.models.couponSet.params.CouponSetUpdateParams;
import com.chargebee.v4.models.couponSet.responses.CouponSetUpdateResponse;

public class CouponSetUpdate {

    public static void main(String[] args) {
        ChargebeeClient client = ChargebeeClient.builder()
            .apiKey("{site_api_key}")
            .siteName("{site}")
            .build();

        CouponSetUpdateParams params = CouponSetUpdateParams.builder()
            .name("Promotional Offer")
            .build();

        CouponSetUpdateResponse response = client
            .couponSets()
            .update("cs_3Rtyuqop", params);

        CouponSet couponSet = response.getCouponSet();
    }
}
```

#### Node.js

```node
import Chargebee from "chargebee";

const chargebee = new Chargebee({
    site: "{site}",
    apiKey: "{site_api_key}",
});

try {
    const result = await chargebee.couponSet.update("cs_3Rtyuqop", {
        name: "Promotional Offer"
    });

    console.log(result);
    const couponSet = result.coupon_set;
} catch (err) {
    console.log(err);
}
```

#### PHP

```php
<?php

require __DIR__ . '/vendor/autoload.php';

use Chargebee\ChargebeeClient;

$chargebee = new ChargebeeClient(options: [
    "site" => "{site}",
    "apiKey" => "{site_api_key}",
]);
$result = $chargebee->couponSet()->update("cs_3Rtyuqop", [
    "name" => "Promotional Offer"
]);
$couponSet = $result->coupon_set;
```

#### Python

```python
from chargebee import Chargebee

cb_client = Chargebee(api_key="{site_api_key}", site="{site}")
response = cb_client.CouponSet.update("cs_3Rtyuqop",
    cb_client.CouponSet.UpdateParams(
        name="Promotional Offer"
    )
)
coupon_set = response.coupon_set
```

#### Ruby

```ruby
require 'chargebee'

ChargeBee.configure(:site => "{site}",
  :api_key => "{site_api_key}")

result = ChargeBee::CouponSet.update("cs_3Rtyuqop",{
  :name => "Promotional Offer"
})

coupon_set = result.coupon_set
```

## Sample Response

```json
{
  "coupon_set": {
    "archived_count": 0,
    "coupon_id": "beta3",
    "id": "cs_3Rtyuqop",
    "name": "Promotional Offer",
    "object": "coupon_set",
    "redeemed_count": 0,
    "total_count": 0
  }
}
```

## URL Format

**POST** https://[site].chargebee.com/api/v2/coupon_sets/{coupon-set-id}/update

## Input Parameters

- `name` (optional, string, max chars=50)
  Name of the coupon set.

- `meta_data` (optional, jsonobject)
  A collection of key-value pairs that provides extra information about the coupon set.
  
  **Note:** There's a character limit of 65,535.
  
  [Learn more](/docs/api/advanced-features) .

## Returns

- `coupon_set` (Coupon set object)
  Resource object representing coupon\_set
