> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Additional field details of ProductRatePlan

> Additional details of the fields of the ProductRatePlan object.

Additional details of the fields of the ProductRatePlan object.

## ActiveCurrencies

Queries

You can query the contents of the `ActiveCurrencies` field and the `id` field, using a WHERE clause that specifies the rate plan `id`, as shown here:

`Select id,ActiveCurrencies from ProductRatePlan where id='402892b43d909624013d90ae7f030002'`

In effect, this allows you to discover the active currencies for the specified rate plan. However, you cannot query `ActiveCurrencies` and any other fields (besides `id`) at the same time.

Number of currencies

There is no practical limit on the number of active currencies (or the size of the `ActiveCurrencies` field), but the maximum number of codes that can be changed in a single call is four. For instance, in a single call you could activate four currencies, or deactivate four currencies, or activate two and deactivate two. To make more than four changes always requires more than one call.

The create() call creates a new ProductRatePlan with up to four active currencies. A query() at any time returns the current list of active currencies. And if an update() call includes the `ActiveCurrencies` field, that field should include the desired list of active currencies, always remembering that the new list can never have more than four differences from the existing list.

The update() call expects the full list of active currencies you want, not just incremental changes. For each active currency update, provide the following currencies in your list:

`Current active currencies + up to four changes (additions or deletions)`

SOAP API Example

If you have four existing active currencies (AED, AFN, ALL, AMD) and you want to add four more currencies (BAM, BBD, BDT, BGN), the call would look like this:

```
<ns1:update>
 <ns1:zObjects xsi:type="ns2:ProductRatePlan">
  <ns2:Id>4028e6963087b8f201308cdbddc04228</ns2:Id>
  <ns2:ActiveCurrencies>AED,AFN,ALL,AMD,BAM,BBD,BDT,BGN﻿</ns2:ActiveCurrencies>
 </ns1:zObjects>
</ns1:update>
```

The following table shows an example for a series of calls and the result.

| Call     | Operation                                                   | ActiveCurrencies field value           | Active currencies after the call       |
| -------- | ----------------------------------------------------------- | -------------------------------------- | -------------------------------------- |
| create() | Create a new `DataRatePlan` object with 4 active currencies | AED, AFN, ALL, AMD                     | AED, AFN, ALL, AMD                     |
| update() | Activate 4 more currencies                                  | AED, AFN, ALL, AMD, BAM, BBD, BDT, BGN | AED, AFN, ALL, AMD, BAM, BBD, BDT, BGN |
| update() | Deactivate 2, and activate 2 more                           | AED, AFN, ALL, BAM, BBD, BDT, CAD, CDF | AED, AFN, ALL, BAM, BBD, BDT, CAD, CDF |

## id

The `id` field contains the unique ID of this object, automatically assigned by Zuora upon creation. You use this ID later when you work with the object. For example, if you send an amend() call to modify an existing subscription, then you need to include the specific Subscription object's ID with the call.

The ID for the ProductRatePlan object is `ProductRatePlanId` .