# Retrieve a coupon

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


**Important**  
For sites where both [legacy and latest](/docs/api/v2/pcv-1/upgrade#retrieving-api-responses-in-latest-api-format) product catalog versions are active, GET API requests return responses in a `compat` format by default. This format works with both latest and legacy Product Catalog.

**Override options:**

-   `chargebee-response-schema-type: items` → Return response in latest product catalog format only.
-   `chargebee-response-schema-type: plans_addons` → Return response in legacy product catalog format only.

This API retrieves a specific coupon using the coupon ID.

## Sample Request

#### cURL

```bash
curl  https://{site}.chargebee.com/api/v2/coupons/plan_only_coupon \
     -u {site_api_key}:
```

#### .NET

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

ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = Coupon.Retrieve("plan_only_coupon").Request();

Coupon coupon = result.Coupon;
```

#### Go

```go
package main
import (
    "fmt"
    "github.com/chargebee/chargebee-go/v3"
    couponAction "github.com/chargebee/chargebee-go/v3/actions/coupon"
)
func main() {
    chargebee.Configure("{site_api_key}","{site}");
    res,err := couponAction.Retrieve("plan_only_coupon").Request()
    if err != nil {
        fmt.Println(err)
    } else {
        Coupon := res.Coupon
    }
}
```

#### 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.CouponRetrieveRequest{
    Id : "plan_only_coupon",
}
  res, err := client.Coupon.Retrieve(req)
      if err != nil {
        fmt.Println(err)
    } else {
        Coupon := res.Coupon
    }
}
```

#### 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 = Coupon.retrieve("plan_only_coupon").request();

        Coupon coupon = result.coupon();
    }
}
```

#### Java

```java
import com.chargebee.v4.client.ChargebeeClient;
import com.chargebee.v4.models.coupon.Coupon;
import com.chargebee.v4.models.coupon.params.CouponRetrieveParams;
import com.chargebee.v4.models.coupon.responses.CouponRetrieveResponse;

public class CouponRetrieve {

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

        CouponRetrieveResponse response = client.coupons().retrieve("plan_only_coupon");

        Coupon coupon = response.getCoupon();
    }
}
```

#### Node.js

```node
import Chargebee from "chargebee";

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

try {
    const result = await chargebee.coupon.retrieve("plan_only_coupon");

    console.log(result);
    const coupon = result.coupon;
} 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->coupon()->retrieve("plan_only_coupon");
$coupon = $result->coupon;
```

#### Python

```python
from chargebee import Chargebee

cb_client = Chargebee(api_key="{site_api_key}", site="{site}")
response = cb_client.Coupon.retrieve("plan_only_coupon")
coupon = response.coupon
```

#### Ruby

```ruby
require 'chargebee'

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

result = ChargeBee::Coupon.retrieve("plan_only_coupon")

coupon = result.coupon
```

## Sample Response

```json
{
  "coupon": {
    "addon_constraint": "none",
    "apply_discount_on": "not_applicable",
    "apply_on": "each_specified_item",
    "created_at": 1595179384,
    "discount_percentage": 10,
    "discount_type": "percentage",
    "duration_type": "forever",
    "id": "plan_only_coupon",
    "name": "Plan Only Coupon",
    "object": "coupon",
    "plan_constraint": "all",
    "redemptions": 0,
    "status": "active"
  }
}
```

## URL Format

**GET** https://[site].chargebee.com/api/v2/coupons/{coupon-id}

## Returns

- `coupon` (Coupon object)
  Resource object representing coupon
