---
title: "POST /v1/{+parent}/rateplans"
method: POST
path: "/v1/{+parent}/rateplans"
tags: ["organizations"]
---

# POST /v1/{+parent}/rateplans

`POST /v1/{+parent}/rateplans`

Create a rate plan that is associated with an API product in an organization. Using rate plans, API product owners can monetize their API products by configuring one or more of the following: - Billing frequency - Initial setup fees for using an API product - Payment funding model (postpaid only) - Fixed recurring or consumption-based charges for using an API product - Revenue sharing with developer partners An API product can have multiple rate plans associated with it but *only one* rate plan can be active at any point of time. **Note: From the developer's perspective, they purchase API products not rate plans.

## Path parameters

- `parent` string, required

## Request body

- GoogleCloudApigeeV1RatePlan — Rate plan details.
  - `state` 'STATE_UNSPECIFIED' | 'DRAFT' | 'PUBLISHED' — Current state of the rate plan (draft or published).
  - `description` string — Description of the rate plan.
  - `currencyCode` string — Currency to be used for billing. Consists of a three-letter code as defined by the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard.
  - `fixedFeeFrequency` integer — Frequency at which the fixed fee is charged.
  - `createdAt` string, int64 — Output only. Time that the rate plan was created in milliseconds since epoch.
  - `lastModifiedAt` string, int64 — Output only. Time the rate plan was last modified in milliseconds since epoch.
  - `billingPeriod` 'BILLING_PERIOD_UNSPECIFIED' | 'WEEKLY' | 'MONTHLY' — Frequency at which the customer will be billed.
  - `name` string — Output only. Name of the rate plan.
  - `apiproduct` string — Name of the API product that the rate plan is associated with.
  - `fixedRecurringFee` GoogleTypeMoney — Represents an amount of money with its currency type.
    - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
    - `currencyCode` string — The three-letter currency code defined in ISO 4217.
  - `endTime` string, int64 — Time when the rate plan will expire in milliseconds since epoch. Set to 0 or `null` to indicate that the rate plan should never expire.
  - `startTime` string, int64 — Time when the rate plan becomes active in milliseconds since epoch.
  - `setupFee` GoogleTypeMoney — Represents an amount of money with its currency type.
    - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
    - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
    - `currencyCode` string — The three-letter currency code defined in ISO 4217.
  - `displayName` string — Display name of the rate plan.
  - `revenueShareType` 'REVENUE_SHARE_TYPE_UNSPECIFIED' | 'FIXED' | 'VOLUME_BANDED' — Method used to calculate the revenue that is shared with developers.
  - `consumptionPricingType` 'CONSUMPTION_PRICING_TYPE_UNSPECIFIED' | 'FIXED_PER_UNIT' | 'BANDED' | 'TIERED' | 'STAIRSTEP' — Pricing model used for consumption-based charges.
  - `revenueShareRates` GoogleCloudApigeeV1RevenueShareRange[] — Details of the revenue sharing model.
    - `start` string, int64 — Starting value of the range. Set to 0 or `null` for the initial range of values.
    - `sharePercentage` number, double — Percentage of the revenue to be shared with the developer. For example, to share 21 percent of the total revenue with the developer, set this value to 21. Specify a decimal number with a maximum of two digits following the decimal point.
    - `end` string, int64 — Ending value of the range. Set to 0 or `null` for the last range of values.
  - `paymentFundingModel` 'PAYMENT_FUNDING_MODEL_UNSPECIFIED' | 'PREPAID' | 'POSTPAID' — DEPRECATED: This field is no longer supported and will eventually be removed when Apigee Hybrid 1.5/1.6 is no longer supported. Instead, use the `billingType` field inside `DeveloperMonetizationConfig` resource. Flag that specifies the billing account type, prepaid or postpaid.
  - `consumptionPricingRates` GoogleCloudApigeeV1RateRange[] — API call volume ranges and the fees charged when the total number of API calls is within a given range. The method used to calculate the final fee depends on the selected pricing model. For example, if the pricing model is `BANDED` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 2 }, { "start": 101, "end": 200, "fee": 1.50 }, { "start": 201, "end": 0, "fee": 1 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 50 calls cost 50 x $2 = $100 * 150 calls cost 100 x $2 + 50 x $1.5 = $275 * 250 calls cost 100 x $2 + 100 x $1.5 + 50 x $1 = $400 * 500 calls cost 100 x $2 + 100 x $1.5 + 300 x $1 = $650
    - `end` string, int64 — Ending value of the range. Set to 0 or `null` for the last range of values.
    - `fee` GoogleTypeMoney — Represents an amount of money with its currency type.
      - `units` string, int64 — The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      - `nanos` integer — Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
      - `currencyCode` string — The three-letter currency code defined in ISO 4217.
    - `start` string, int64 — Starting value of the range. Set to 0 or `null` for the initial range of values.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/apigee.md) · [All operations](https://skmtc.net/google/apis/apigee/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/apigee/versions/6e272fa448a7/schema)
