# Export differential price

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


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

[Eventually Consistent](/docs/api/read-consistency)

This API triggers export of differential price data. The exported zip file contains CSV files with differential price-related data.

## Sample Request

#### cURL

```bash
curl  https://{site}.chargebee.com/api/v2/exports/differential_prices \
     -u {site_api_key}:\
     -d "differential_price[parent_item_id][is]"="ssl"
```

#### .NET

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

ApiConfig.Configure("{site}","{site_api_key}");
EntityResult result = Export.DifferentialPrices()
		.DifferentialPriceParentItemId().Is("ssl")
		.Request();

Export export = result.Export;
```

#### Go

```go
package main
import (
    "fmt"
    "github.com/chargebee/chargebee-go/v3"
    "github.com/chargebee/chargebee-go/v3/filter"
    exportAction "github.com/chargebee/chargebee-go/v3/actions/export"
    "github.com/chargebee/chargebee-go/v3/models/export"
)
func main() {
    chargebee.Configure("{site_api_key}","{site}");
    res,err := exportAction.DifferentialPrices(&export.DifferentialPricesRequestParams{
        DifferentialPrice : &export.DifferentialPricesDifferentialPriceParams{
            ParentItemId : &filter.StringFilter{
                Is : "ssl",
            },
        },
    }).Request()
    if err != nil {
        fmt.Println(err)
    } else {
        Export := res.Export
    }
}
```

#### 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.ExportDifferentialPricesRequest{
    DifferentialPrice : &chargebee.ExportDifferentialPricesDifferentialPrice{
        ParentItemId : &chargebee.StringFilter{
            Is : "ssl",
        },
    },
}
  res, err := client.Export.DifferentialPrices(req)
      if err != nil {
        fmt.Println(err)
    } else {
        Export := res.Export
    }
}
```

#### 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 = Export.differentialPrices().differentialPriceParentItemId().is("ssl").request();

        Export export = result.export();
    }
}
```

#### Java

```java
import com.chargebee.v4.client.ChargebeeClient;
import com.chargebee.v4.models.export.Export;
import com.chargebee.v4.models.export.params.ExportDifferentialPricesParams;
import com.chargebee.v4.models.export.responses.ExportDifferentialPricesResponse;

public class ExportDifferentialPrices {

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

        ExportDifferentialPricesParams.DifferentialPriceParams differentialPrice =
            ExportDifferentialPricesParams.DifferentialPriceParams.builder()
                .parentItemId()
                .is("ssl")
                .build();

        ExportDifferentialPricesParams params = ExportDifferentialPricesParams.builder()
            .differentialPrice(differentialPrice)
            .build();

        ExportDifferentialPricesResponse response = client.exports().differentialPrices(params);

        Export export = response.getExport();
    }
}
```

#### Node.js

```node
import Chargebee from "chargebee";

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

try {
    const result = await chargebee.export.differentialPrices({
        differential_price: {
            parent_item_id: {
                is: "ssl"
            }
        }
    });

    console.log(result);
    const export_response = result.export;
} 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->export()->differentialPrices([
    "differential_price" => [
        "parent_item_id" => [
            "is" => "ssl"
        ]
    ]
]);
$export = $result->export;
```

#### Python

```python
import chargebee
from chargebee import Chargebee, Filters

cb_client = Chargebee(api_key="{site_api_key}", site="{site}")
response = cb_client.Export.differential_prices(
    cb_client.Export.DifferentialPricesParams(
        differential_price=cb_client.Export.DifferentialPricesDifferentialPriceParams(
            parent_item_id=Filters.StringFilter(IS="ssl")
        )
    )
)
export = response.export
```

#### Ruby

```ruby
require 'chargebee'

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

result = ChargeBee::Export.differential_prices({
  "differential_price[parent_item_id][is]" => "ssl"
})

export = result.export
```

## Sample Response

```json
{
  "export": {
    "created_at": 1527791400,
    "id": "__test__8at0kS38wN74R",
    "mime_type": "zip",
    "object": "export",
    "operation_type": "Differential Prices",
    "status": "in_process"
  }
}
```

## URL Format

**POST** https://[site].chargebee.com/api/v2/exports/differential_prices

## Input Parameters

- `item_id` (optional, string)
  optional, string filter
  
  Item Id of Addon / Charge item price for which differential pricing is applied to. **Supported operators :** is, is\_not, starts\_with, in, not\_in
  
  **Example →** _item\_id\[is\] = "day-pass"_

- `differential_price` (optional, string)
  Parameters for differential\_price
  - `item_price_id` (optional, string)
    The id of the item price (`addon` or `charge` ) whose price should change according to the plan-item it is applied to.
  - `id` (optional, string)
    A unique and immutable id for the differential price. It is auto-generated when the differential price is created.
  - `parent_item_id` (optional, string)
    The id of the plan-item, in relation to which, the differential pricing for the addon or charge is defined. For example, this would be the id of the _Standard_ or _Enterprise_ plans-items mentioned in the [examples above](/docs/api/differential_prices) .

## Returns

- `export` (Export object)
  Resource object representing export
