## Retrieve Rate Schedule `client.v1.contracts.retrieveRateSchedule(ContractRetrieveRateScheduleParamsparams, RequestOptionsoptions?): ContractRetrieveRateScheduleResponse` **post** `/v1/contracts/getContractRateSchedule` Get the rate schedule for the rate card on a given contract. ### Parameters - **params:** `ContractRetrieveRateScheduleParams` - **contract\_id:** `string` Body param: ID of the contract to get the rate schedule for. - **customer\_id:** `string` Body param: ID of the customer for whose contract to get the rate schedule for. - **limit:** `number` Query param: Max number of results that should be returned - **next\_page:** `string` Query param: Cursor that indicates where the next page of results should start. - **at:** `string` Body param: optional timestamp which overlaps with the returned rate schedule segments. When not specified, the current timestamp will be used. - **selectors:** `Array` Body param: List of rate selectors, rates matching ANY of the selectors will be included in the response. Passing no selectors will result in all rates being returned. - **billing\_frequency:** `"MONTHLY" | "QUARTERLY" | "ANNUAL" | "WEEKLY"` Subscription rates matching the billing frequency will be included in the response. - `"MONTHLY"` - `"QUARTERLY"` - `"ANNUAL"` - `"WEEKLY"` - **partial\_pricing\_group\_values:** `Record` List of pricing group key value pairs, rates containing the matching key / value pairs will be included in the response. - **pricing\_group\_values:** `Record` List of pricing group key value pairs, rates matching all of the key / value pairs will be included in the response. - **product\_id:** `string` Rates matching the product id will be included in the response. - **product\_tags:** `Array` List of product tags, rates matching any of the tags will be included in the response. ### Returns - `ContractRetrieveRateScheduleResponse` - **data:** `Array` - **entitled:** `boolean` - **list\_rate:** `Rate` - **product\_custom\_fields:** `Record` - **product\_id:** `string` - **product\_name:** `string` - **product\_tags:** `Array` - **rate\_card\_id:** `string` - **starting\_at:** `string` - **billing\_frequency:** `"MONTHLY" | "QUARTERLY" | "ANNUAL" | "WEEKLY"` - `"MONTHLY"` - `"QUARTERLY"` - `"ANNUAL"` - `"WEEKLY"` - **commit\_rate:** `CommitRate` A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit. - **rate\_type:** `"FLAT" | "PERCENTAGE" | "SUBSCRIPTION" | 2 more` - `"FLAT"` - `"PERCENTAGE"` - `"SUBSCRIPTION"` - `"TIERED"` - `"CUSTOM"` - **price:** `number` Commit rate price. For FLAT rate_type, this must be >=0. - **tiers:** `Array` Only set for TIERED rate_type. - **price:** `number` - **size:** `number` - **ending\_before:** `string` - **override\_rate:** `Rate` - **pricing\_group\_values:** `Record` - **next\_page:** `string | null` ### Example ```node import Metronome from '@metronome/sdk'; const client = new Metronome({ bearerToken: 'My Bearer Token', }); const response = await client.v1.contracts.retrieveRateSchedule({ contract_id: 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc', customer_id: '13117714-3f05-48e5-a6e9-a66093f13b4d', at: '2020-01-01T00:00:00.000Z', selectors: [ { product_id: 'd6300dbb-882e-4d2d-8dec-5125d16b65d0', partial_pricing_group_values: { region: 'us-west-2', cloud: 'aws' }, }, ], }); console.log(response.data); ```