# Retrieve a differential price

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


Retrieve a differential price using a `differential_price_id` and `item_price_id` .

## Sample Request

### Default

#### cURL

```bash
curl  https://{site}.chargebee.com/api/v2/differential_prices/9d6e5ac7-5c3a-4b63-a148-c182d51ed122 \
     -G  \
     -u {site_api_key}:\
     -d item_price_id="sample-addon-weekly-usd"
```

#### .NET

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

ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = DifferentialPrice.Retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122")
		.ItemPriceId("sample-addon-weekly-usd")
		.Request();

DifferentialPrice differentialPrice = result.DifferentialPrice;
```

#### Go

```go
package main
import (
    "fmt"
    "github.com/chargebee/chargebee-go/v3"
    differentialpriceAction "github.com/chargebee/chargebee-go/v3/actions/differentialprice"
    "github.com/chargebee/chargebee-go/v3/models/differentialprice"
)
func main() {
    chargebee.Configure("{site_api_key}","{site}");
    res,err := differentialpriceAction.Retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122", &differentialprice.RetrieveRequestParams{
        ItemPriceId : "sample-addon-weekly-usd",
    }).Request()
    if err != nil {
        fmt.Println(err)
    } else {
        DifferentialPrice := res.DifferentialPrice
    }
}
```

#### 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.DifferentialPriceRetrieveRequest{
    ItemPriceId : "sample-addon-weekly-usd",
}
  res, err := client.DifferentialPrice.Retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122", req)
      if err != nil {
        fmt.Println(err)
    } else {
        DifferentialPrice := res.DifferentialPrice
    }
}
```

#### 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 = DifferentialPrice.retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122")
            .itemPriceId("sample-addon-weekly-usd")
            .request();

        DifferentialPrice differentialPrice = result.differentialPrice();
    }
}
```

#### Java

```java
import com.chargebee.v4.client.ChargebeeClient;
import com.chargebee.v4.models.differentialPrice.DifferentialPrice;
import com.chargebee.v4.models.differentialPrice.params.DifferentialPriceRetrieveParams;
import com.chargebee.v4.models.differentialPrice.responses.DifferentialPriceRetrieveResponse;

public class DifferentialPriceRetrieve {

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

        DifferentialPriceRetrieveParams params = DifferentialPriceRetrieveParams.builder()
            .itemPriceId("sample-addon-weekly-usd")
            .build();

        DifferentialPriceRetrieveResponse response = client
            .differentialPrices()
            .retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122", params);

        DifferentialPrice differentialPrice = response.getDifferentialPrice();
    }
}
```

#### Node.js

```node
import Chargebee from "chargebee";

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

try {
    const result = await chargebee.differentialPrice.retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122", {
        item_price_id: "sample-addon-weekly-usd"
    });

    console.log(result);
    const differentialPrice = result.differential_price;
} 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->differentialPrice()->retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122", [
    "item_price_id" => "sample-addon-weekly-usd"
]);
$differentialPrice = $result->differential_price;
```

#### Python

```python
from chargebee import Chargebee

cb_client = Chargebee(api_key="{site_api_key}", site="{site}")
response = cb_client.DifferentialPrice.retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122",
    cb_client.DifferentialPrice.RetrieveParams(
        item_price_id="sample-addon-weekly-usd"
    )
)
differential_price = response.differential_price
```

#### Ruby

```ruby
require 'chargebee'

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

result = ChargeBee::DifferentialPrice.retrieve("9d6e5ac7-5c3a-4b63-a148-c182d51ed122",{
  :item_price_id => "sample-addon-weekly-usd"
})

differential_price = result.differential_price
```

### Retrieve A Differential Price For A Charge

#### cURL

```bash
curl  https://{site}.chargebee.com/api/v2/differential_prices/c4518c7d-d077-43ed-9a43-89c6c5dafa61 \
     -G  \
     -u {site_api_key}:\
     -d item_price_id="additional-charge-daily-USD"
```

#### .NET

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

ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = DifferentialPrice.Retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61")
		.ItemPriceId("additional-charge-daily-USD")
		.Request();

DifferentialPrice differentialPrice = result.DifferentialPrice;
```

#### Go

```go
package main
import (
    "fmt"
    "github.com/chargebee/chargebee-go/v3"
    differentialpriceAction "github.com/chargebee/chargebee-go/v3/actions/differentialprice"
    "github.com/chargebee/chargebee-go/v3/models/differentialprice"
)
func main() {
    chargebee.Configure("{site_api_key}","{site}");
    res,err := differentialpriceAction.Retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61", &differentialprice.RetrieveRequestParams{
        ItemPriceId : "additional-charge-daily-USD",
    }).Request()
    if err != nil {
        fmt.Println(err)
    } else {
        DifferentialPrice := res.DifferentialPrice
    }
}
```

#### 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.DifferentialPriceRetrieveRequest{
    ItemPriceId : "additional-charge-daily-USD",
}
  res, err := client.DifferentialPrice.Retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61", req)
      if err != nil {
        fmt.Println(err)
    } else {
        DifferentialPrice := res.DifferentialPrice
    }
}
```

#### 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 = DifferentialPrice.retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61")
            .itemPriceId("additional-charge-daily-USD")
            .request();

        DifferentialPrice differentialPrice = result.differentialPrice();
    }
}
```

#### Java

```java
import com.chargebee.v4.client.ChargebeeClient;
import com.chargebee.v4.models.differentialPrice.DifferentialPrice;
import com.chargebee.v4.models.differentialPrice.params.DifferentialPriceRetrieveParams;
import com.chargebee.v4.models.differentialPrice.responses.DifferentialPriceRetrieveResponse;

public class DifferentialPriceRetrieve {

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

        DifferentialPriceRetrieveParams params = DifferentialPriceRetrieveParams.builder()
            .itemPriceId("additional-charge-daily-USD")
            .build();

        DifferentialPriceRetrieveResponse response = client
            .differentialPrices()
            .retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61", params);

        DifferentialPrice differentialPrice = response.getDifferentialPrice();
    }
}
```

#### Node.js

```node
import Chargebee from "chargebee";

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

try {
    const result = await chargebee.differentialPrice.retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61", {
        item_price_id: "additional-charge-daily-USD"
    });

    console.log(result);
    const differentialPrice = result.differential_price;
} 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->differentialPrice()->retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61", [
    "item_price_id" => "additional-charge-daily-USD"
]);
$differentialPrice = $result->differential_price;
```

#### Python

```python
from chargebee import Chargebee

cb_client = Chargebee(api_key="{site_api_key}", site="{site}")
response = cb_client.DifferentialPrice.retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61",
    cb_client.DifferentialPrice.RetrieveParams(
        item_price_id="additional-charge-daily-USD"
    )
)
differential_price = response.differential_price
```

#### Ruby

```ruby
require 'chargebee'

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

result = ChargeBee::DifferentialPrice.retrieve("c4518c7d-d077-43ed-9a43-89c6c5dafa61",{
  :item_price_id => "additional-charge-daily-USD"
})

differential_price = result.differential_price
```

## Sample Response

```json
{
  "differential_price": {
    "created_at": 1594110588,
    "currency_code": "USD",
    "id": "9d6e5ac7-5c3a-4b63-a148-c182d51ed122",
    "item_price_id": "sample-addon-weekly-usd",
    "object": "differential_price",
    "parent_item_id": "basic",
    "price": 100,
    "resource_version": 1594110588325,
    "status": "active",
    "updated_at": 1594110588
  }
}
```

## URL Format

**GET** https://[site].chargebee.com/api/v2/differential_prices/{differential-price-id}

## Input Parameters

- `item_price_id` (required, string, max chars=100)
  The id of the item price (`addon` or `charge` ) whose price should change according to the plan-item it is applied to.

## Returns

- `differential_price` (Differential price object)
  Resource object representing differential\_price
