You are viewing the Apigee Management API reference documentation. For the main product docs, and to search all docs, go to https://docs.apigee.com.

Create a rate plan revision (or future rate plan)

Resource Summary

Security

Content Type

application/json

Category

Rate plans,

Create a rate plan revision (or future rate plan)

POST

Create a rate plan revision (or future rate plan)

Create a revision of an existing rate plan. A revision is a new plan; the original plan and the revision both exist as rate plans.

After an existing rate plan is published, the only property you can change is its end date. However, you can create a new version of the plan that includes changed properties, such as changed rate plan rates. You can set up the revision to go into effect at a future date. The original rate plan ends when the revision goes into effect.

Developers are notified about the revision. Those developers who accept the original rate plan are automatically registered for the revision (but have the option of rejecting the revision).

See also Creating a future rate plan using the API.

Resource URL

https://api.enterprise.apigee.com/v1/mint /organizations/{org_name}/monetization-packages/{package_id}/rate-plans/{plan_id}/revision

Header Parameters

Name Values Description
Content-Type
(required)

Request content type.

Request Body

{ "advance": { "type": "boolean", "description": "Flag that specifies whether or not the recurring fee is charged in advance. For example, if set to true and the period is 1 month, the recurring fee is charged on the invoice generated when the prior billing month ends. If set to false, the recurring fee is charged on the invoice generated when the current month ends. Defaults to false." }, "contractDuration": { "type": "number", "description": "Length of the contract for the plan together with contractDurationType. For example, to specify a contract duration of 6 months, set contractDuration to 6 and contractDurationType to MONTH." }, "contractDurationType": { "type": "string", "description": "Length of the contract for the plan together with contractDuration. Valid values include: DAY, WEEK, MONTH, QUARTER, or YEAR." }, "currency": { "properties": { "id": { "type": "string", "description": "ISO 4217 code for the currency, such as usd for United States dollar or chf for Swiss franc." } } }, "description": { "type": "string", "description": "Description of the rate plan." }, "developer": { "properties": { "id": { "type": "string", "description": "ID of the developer." }, "legalName": { "type": "string", "description": "Legal name of the developer." }, "name": { "type": "string", "description": "Name of the developer." } } }, "developerCategory": { "properties": { "id": { "type": "string", "description": "ID of the developer category." }, "name": { "type": "string", "description": "Name of the developer category." }, "description": { "type": "string", "description": "Description of the developer category." } } }, "displayName": { "type": "string", "description": "User-friendly display name for the rate plan." }, "earlyTerminationFee": { "type": "integer", "description": "One-time fee that is charged if the developer ends the plan before the renewal term." }, "endDate": { "type": "string", "description": "Date and time that the plan ends. Use the following format: YYYY-MM-DD HH:mm:ss. If you do not specify a timestamp (not recommended), 00:00:00 (midnight) is used by default. Developers are not able to view the rate plan after this date. If you do not want the rate plan to end on a specific date, specify a null value.

The rate plan will be in effect until the end of the day on the date specified. If you want to expire a rate plan on December 1, 2016, for example, you should set the endDate value to 2016-11-30. In this case, the rate plan will expire at the end of the day on November 30, 2016; all requests on December 1, 2016 will be blocked.

Note: When viewing the rate plan using the API, the endDate time stamp is specified as YYYY-MM-DD 00:00:00, which may be misleading.

" }, "freemiumDuration": { "type": "integer", "description": "Period of time for the freemium period together with freemiumDurationType. For example, to specify that the freemium period is 30 days, set freemiumDuration to 30 and freemiumDurationType to DAY." }, "freemiumDurationType": { "type": "string", "description": "Period of time for the freemium period together with freemiumDuration. Valid values include: DAY, WEEK, MONTH, QUARTER, or YEAR." }, "freemiumUnit": { "type": "string", "description": "Freemium quantity. The value can be the number of transactions or the number of units pertaining to a custom attribute recorded in the transaction recording policy." }, "frequencyDuration": { "type": "integer", "description": "Period of time between recurring fee charges together with frequencyDurationType . For example, to specify that the period of time between fee charges is 30 days, set frequencyDuration to 30 and frequencyDurationTime to DAY." }, "fequencyDurationType": { "type": "string", "description": "Period of time between recurring fee charges. Valid values include: DAY, WEEK, MONTH, QUARTER, or YEAR." }, "isPrivate": { "type": "boolean", "description": "Flag that specifies whether the rate plan is public or private. Defaults to false (public)." }, "keepOriginalStartDate": { "type": "boolean", "description": "Flag that specifies whether to maintain the start date of the parent rate plan. Defaults to false." }, "monetizationPackage": { "properties": { "id": { "type": "string", "description": "ID of the API package." } } }, "name": { "type": "string", "description": "Name of the rate plan." }, "organization": { "properties": { "id": { "type": "string", "description": "ID of the organization." } } }, "parentRatePlan": { "properties": { "id": { "type": "string", "description": "ID of the rate plan for which you are creating a revision. The parent rate plan must be defined for the same API package, must be published, and must not already have a revision." } } }, "paymentDueDays": { "type": "integer", "description": "Number of days at which time the fees are due." }, "prorate": { "type": "boolean", "description": "Flag that specifies whether the recurring fee is prorated. This flag pertains to the developer starting or ending the plan part of the way through a month. If set to true, the initial fee is prorated based on the number of days until the end of the period or the number of days used in the period. Defaults to false." }, "published": { "type": "boolean", "description": "Flag that specifies whether the rate plan should be published, making it available to developers." }, "ratePlanDetails": { "type": "array", "description": "Details for the rate plan.", "items": { "properties": { "aggregateFreemiumCounters": { "type": "boolean", "description": "Flag that specifies whether or not aggregate counters are enabled to determine if usage of an API product is in the free range. Aggregate counters must be enabled to set up a freemium plan for a product." }, "aggregateStandardCounters": { "type": "boolean", "description": "Flag that specifies whether or not aggregate counters are used to determine the band of usage (such as a volume band for a rate card plan)." }, "currency": { "properties": { "id": { "type": "string", "description": "ISO 4217 code for the currency, such as usd for United States dollar or chf for Swiss franc." } } }, "duration": { "type": "number", "description": "Period of time for the aggregation basis, together with durationType. For example, set duration to 30 and durationType to DAY to specify an aggregation basis of 30 days." }, "durationType": { "type": "string", "description": "Period of time for the aggregation basis, together with durationType. Valid values include: DAY, WEEK, MONTH, QUARTER, or YEAR." }, "freemiumDuration": { "type": "integer", "description": "Period of time for the freemium period for an individual API product together with freemiumDurationType. For example, to specify that the freemium period is 30 days, set freemiumDuration to 30 and freemiumDurationType to DAY." }, "freemiumDurationType": { "type": "string", "description": "Period of time for the freemium period for an individual API product together with freemiumDuration. Valid values include: DAY, WEEK, MONTH, QUARTER, or YEAR." }, "freemiumUnit": { "type": "string", "description": "Freemium quantity for an API product. The value can be the number of transactions or the number of units pertaining to a custom attribute recorded in the transaction recording policy." }, "meteringType": { "type": "string", "description": "Charging model for a rate card plan. Valid values include: UNIT (flat rate), VOLUME (volume-banded), STAIR_STEP (bundled), or DEV_SPECIFIC (adjustable notification revenue model only)." }, "paymentDueDays": { "type": "number", "description": "Payment due date for a postpaid developer. For example, set the value to 30 to indicate that payment is due in 30 days." }, "ratePlanRates": { "type": "array", "description": "Rate plan rate details, such as the type of rate plan (REVSHARE or RATECARD), the rate for a rate card plan, the revenue share for a revenue share plan, and the range (starting unit and ending unit for which the rate plan rate applies).", "items": { "properties": { "endUnit": { "type": "number", "description": "End unit." }, "id": { "type": "string", "description": "ID of the rate plan rate. Only valid and required when you are updating a draft rate plan rate." }, "rate": { "type": "number", "description": "Rate for the rate card plan. Specify for RATECARD plans only." }, "revshare": { "type": "number", "description": "Revenue share. Specify for REVSHARE plans only." }, "startUnit": { "type": "number", "description": "Start unit." }, "type": { "type": "string", "description": "Type of the rate plan. Valid values include: REVSHARE or RATECARD." } } } }, "ratingParameter": { "type": "string", "description": "Basis for the rate plan. The rate plan is based on transactions or on a custom attribute. Valid values include: VOLUME (based on volume of transactions) or MINT_CUSTOM_ATTRIBUTE_{num}. If you set it to MINT_CUSTOM_ATTRIBUTE_{num}, then the rate plan is based on a custom attribute, where {num} is an integer for example, MINT_CUSTOM_ATTRIBUTE_1. This value is defined in the transaction recording policy for the API product and is valid for rate card plans only. The custom attribute name cannot be defined as VOLUME." }, "ratingParameterUnit": { "type": "string", "description": "Unit that applies to the ratingParameter." }, "revenueType": { "type": "string", "description": "Basis of the revenu share in a revenue share plan. Valid values include: GROSS (based on percentage of the gross price of a transaction) and NET (based on a percentage of the net price of a transaction)." }, "type": { "type": "string", "description": "Revenue model for the plan. Valid values include: REVSHARE, RATECARD, REVSHARE_RATECARD, USAGE_TARGET (adjustable notifications)." } } } }, "recurringFee": { "type": "integer", "description": "Fee that is charged to the developer on an on-going basis until the developer ends the plan." }, "recurringStartUnit": { "type": "number", "description": "Day of the month to charge the recurring fee. Valid only if recurringType is set to CALENDAR. For example, if the recurring fee is charged monthly and recurringStartUnit is set to 1, the recurring fee is charged on the first day of each month." }, "recurringType": { "type": "string", "description": "Schedule for the recurring fee. Valid values include: CALENDAR or CUSTOM (for custom date)." }, "setUpFee": { "type": "integer", "description": "One-time fee that is charged to each developer on the start date of the plan (that is, the date the developer purchases the plan)." }, "startDate": { "type": "string", "description": "Date and time when the rate plan starts in UTC. You must specify a date in the future. Use the following format: YYYY-MM-DD HH:mm:ss. If you do not specify a timestamp (not recommended), 00:00:00 (midnight) is used by default. " }, "type": { "type": "string", "description": "Type of rate plan. Valid values include: STANDARD (all developers), DEVELOPER_CATEGORY (developers within a category), or DEVELOPER (specific developer)." } }

org_name Name of your organization. true

package_id ID of the API package. true

plan_id ID of the rate plan. true

HTTP Basic

OAuth 2.0

API Key

Reset

Make a request and see the response.

Make a request and see the response.

Make a request and see the response.

Working...

Help or comments?

  • If something's not working: Ask the Apigee Community or see Apigee Support.
  • If something's wrong with the docs: Click the "Send Feedback" button.
    (Incorrect? Unclear? Broken link? Typo?)