Apigee API . organizations . apiproducts . rateplans

Instance Methods

close()

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

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.

delete(name, x__xgafv=None)

Deletes a rate plan.

get(name, x__xgafv=None)

Gets the details of a rate plan.

list(parent, count=None, expand=None, orderBy=None, startKey=None, state=None, x__xgafv=None)

Lists all the rate plans for an API product.

update(name, body=None, x__xgafv=None)

Updates an existing rate plan.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, x__xgafv=None)
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.

Args:
  parent: string, Required. Name of the API product that is associated with the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Rate plan details.
  "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
  "billingPeriod": "A String", # Frequency at which the customer will be billed.
  "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
    { # API call volume range and the fees charged when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
  "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
  "currencyCode": "A 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.
  "description": "A String", # Description of the rate plan.
  "displayName": "A String", # Display name of the rate plan.
  "endTime": "A String", # 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.
  "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
  "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
  "name": "A String", # Output only. Name of the rate plan.
  "paymentFundingModel": "A String", # 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.
  "revenueShareRates": [ # Details of the revenue sharing model.
    { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "sharePercentage": 3.14, # 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.
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
  "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
  "state": "A String", # Current state of the rate plan (draft or published).
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Rate plan details.
  "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
  "billingPeriod": "A String", # Frequency at which the customer will be billed.
  "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
    { # API call volume range and the fees charged when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
  "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
  "currencyCode": "A 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.
  "description": "A String", # Description of the rate plan.
  "displayName": "A String", # Display name of the rate plan.
  "endTime": "A String", # 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.
  "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
  "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
  "name": "A String", # Output only. Name of the rate plan.
  "paymentFundingModel": "A String", # 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.
  "revenueShareRates": [ # Details of the revenue sharing model.
    { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "sharePercentage": 3.14, # 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.
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
  "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
  "state": "A String", # Current state of the rate plan (draft or published).
}
delete(name, x__xgafv=None)
Deletes a rate plan.

Args:
  name: string, Required. ID of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Rate plan details.
  "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
  "billingPeriod": "A String", # Frequency at which the customer will be billed.
  "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
    { # API call volume range and the fees charged when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
  "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
  "currencyCode": "A 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.
  "description": "A String", # Description of the rate plan.
  "displayName": "A String", # Display name of the rate plan.
  "endTime": "A String", # 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.
  "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
  "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
  "name": "A String", # Output only. Name of the rate plan.
  "paymentFundingModel": "A String", # 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.
  "revenueShareRates": [ # Details of the revenue sharing model.
    { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "sharePercentage": 3.14, # 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.
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
  "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
  "state": "A String", # Current state of the rate plan (draft or published).
}
get(name, x__xgafv=None)
Gets the details of a rate plan.

Args:
  name: string, Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Rate plan details.
  "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
  "billingPeriod": "A String", # Frequency at which the customer will be billed.
  "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
    { # API call volume range and the fees charged when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
  "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
  "currencyCode": "A 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.
  "description": "A String", # Description of the rate plan.
  "displayName": "A String", # Display name of the rate plan.
  "endTime": "A String", # 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.
  "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
  "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
  "name": "A String", # Output only. Name of the rate plan.
  "paymentFundingModel": "A String", # 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.
  "revenueShareRates": [ # Details of the revenue sharing model.
    { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "sharePercentage": 3.14, # 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.
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
  "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
  "state": "A String", # Current state of the rate plan (draft or published).
}
list(parent, count=None, expand=None, orderBy=None, startKey=None, state=None, x__xgafv=None)
Lists all the rate plans for an API product.

Args:
  parent: string, Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` Use `organizations/{org}/apiproducts/-` to return rate plans for all API products within the organization. (required)
  count: integer, Number of rate plans to return in the API call. Use with the `startKey` parameter to provide more targeted filtering. The maximum limit is 1000. Defaults to 100.
  expand: boolean, Flag that specifies whether to expand the results. Set to `true` to get expanded details about each API. Defaults to `false`.
  orderBy: string, Name of the attribute used for sorting. Valid values include: * `name`: Name of the rate plan. * `state`: State of the rate plan (`DRAFT`, `PUBLISHED`). * `startTime`: Time when the rate plan becomes active. * `endTime`: Time when the rate plan expires. **Note**: Not supported by Apigee at this time.
  startKey: string, Name of the rate plan from which to start displaying the list of rate plans. If omitted, the list starts from the first item. For example, to view the rate plans from 51-150, set the value of `startKey` to the name of the 51st rate plan and set the value of `count` to 100.
  state: string, State of the rate plans (`DRAFT`, `PUBLISHED`) that you want to display.
    Allowed values
      STATE_UNSPECIFIED - State of the rate plan is not specified.
      DRAFT - Rate plan is in draft mode and only visible to API providers.
      PUBLISHED - Rate plan is published and will become visible to developers for the configured duration (between `startTime` and `endTime`).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for ListRatePlans.
  "nextStartKey": "A String", # Value that can be sent as `startKey` to retrieve the next page of content. If this field is omitted, there are no subsequent pages.
  "ratePlans": [ # List of rate plans in an organization.
    { # Rate plan details.
      "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
      "billingPeriod": "A String", # Frequency at which the customer will be billed.
      "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
        { # API call volume range and the fees charged when the total number of API calls is within the range.
          "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
          "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
            "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
            "nanos": 42, # 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.
            "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
          },
          "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
        },
      ],
      "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
      "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
      "currencyCode": "A 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.
      "description": "A String", # Description of the rate plan.
      "displayName": "A String", # Display name of the rate plan.
      "endTime": "A String", # 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.
      "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
      "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
      "name": "A String", # Output only. Name of the rate plan.
      "paymentFundingModel": "A String", # 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.
      "revenueShareRates": [ # Details of the revenue sharing model.
        { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
          "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
          "sharePercentage": 3.14, # 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.
          "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
        },
      ],
      "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
      "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
      "state": "A String", # Current state of the rate plan (draft or published).
    },
  ],
}
update(name, body=None, x__xgafv=None)
Updates an existing rate plan.

Args:
  name: string, Required. Name of the rate plan. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}/rateplans/{rateplan}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Rate plan details.
  "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
  "billingPeriod": "A String", # Frequency at which the customer will be billed.
  "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
    { # API call volume range and the fees charged when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
  "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
  "currencyCode": "A 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.
  "description": "A String", # Description of the rate plan.
  "displayName": "A String", # Display name of the rate plan.
  "endTime": "A String", # 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.
  "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
  "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
  "name": "A String", # Output only. Name of the rate plan.
  "paymentFundingModel": "A String", # 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.
  "revenueShareRates": [ # Details of the revenue sharing model.
    { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "sharePercentage": 3.14, # 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.
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
  "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
  "state": "A String", # Current state of the rate plan (draft or published).
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Rate plan details.
  "apiproduct": "A String", # Name of the API product that the rate plan is associated with.
  "billingPeriod": "A String", # Frequency at which the customer will be billed.
  "consumptionPricingRates": [ # 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 `STAIRSTEP` and the ranges are defined as follows: ``` { "start": 1, "end": 100, "fee": 75 }, { "start": 101, "end": 200, "fee": 100 }, } ``` Then the following fees would be charged based on the total number of API calls (assuming the currency selected is `USD`): * 1 call costs $75 * 50 calls cost $75 * 150 calls cost $100 The number of API calls cannot exceed 200.
    { # API call volume range and the fees charged when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "fee": { # Represents an amount of money with its currency type. # Fee to charge when total number of API calls falls within this range.
        "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
        "nanos": 42, # 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.
        "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
      },
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "consumptionPricingType": "A String", # Pricing model used for consumption-based charges.
  "createdAt": "A String", # Output only. Time that the rate plan was created in milliseconds since epoch.
  "currencyCode": "A 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.
  "description": "A String", # Description of the rate plan.
  "displayName": "A String", # Display name of the rate plan.
  "endTime": "A String", # 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.
  "fixedFeeFrequency": 42, # Frequency at which the fixed fee is charged.
  "fixedRecurringFee": { # Represents an amount of money with its currency type. # Fixed amount that is charged at a defined interval and billed in advance of use of the API product. The fee will be prorated for the first billing period.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "lastModifiedAt": "A String", # Output only. Time the rate plan was last modified in milliseconds since epoch.
  "name": "A String", # Output only. Name of the rate plan.
  "paymentFundingModel": "A String", # 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.
  "revenueShareRates": [ # Details of the revenue sharing model.
    { # API call volume range and the percentage of revenue to share with the developer when the total number of API calls is within the range.
      "end": "A String", # Ending value of the range. Set to 0 or `null` for the last range of values.
      "sharePercentage": 3.14, # 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.
      "start": "A String", # Starting value of the range. Set to 0 or `null` for the initial range of values.
    },
  ],
  "revenueShareType": "A String", # Method used to calculate the revenue that is shared with developers.
  "setupFee": { # Represents an amount of money with its currency type. # Initial, one-time fee paid when purchasing the API product.
    "currencyCode": "A String", # The three-letter currency code defined in ISO 4217.
    "nanos": 42, # 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.
    "units": "A String", # The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
  },
  "startTime": "A String", # Time when the rate plan becomes active in milliseconds since epoch.
  "state": "A String", # Current state of the rate plan (draft or published).
}