Plans
Description
A plan object represents the set of key provisioning, limiting and entitlement rules that will be granted to developers. The plan specifies access to the array of services, endpoints and methods included in a plan as well as the limits associated with said access.
NOTE:This object is available when API Packager is turned on for a customer. Please contact Support or your Account Manager if you have any questions about API Packager.
Object Fields
id
The id field is the primary identifier for the object.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
integer | no | yes | no | yes | no |
name
Name of the object
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | 255 | no | no | no | yes | no |
description
Description of the object
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | yes | no | no | yes | no |
notes
Administration notes; displayed only in the Dashboard.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | yes | no | no | yes | no |
rate_limit_ceiling
API Key specific Rate Limit the Proxy Service will enforce if both Rate Limit Enforcement is enabled and Rate Limit Overrides are allowed in the Dashboard API Settings Tab. This value takes precidence over the Service Definition Default Rate Limit. Note: The period ("Minute", "Hour", "Day", "Month") for the rate_limit_ceiling (Custom Rate Limit) is set in the Service Definition's Rate Limit Period configuration item in the Dashboard API Settings Tab.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
integer | yes | no | no | yes | no |
rate_limit_exempt
Toggle whether this key has an unlimited rate limit. This setting is only applied by the Proxy Service at runtime if the Rate Limit feature is enabled and the Default Rate Limit Override is allowed.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
boolean | no | no | no | yes | no |
rate_limit_package_key_override_allowed
Enable the plan limits, for calls per time period for the quota, to be overriden by the package key, i.e. set personalized limits at the developer level.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
boolean | no | no | no | yes | no |
rate_limit_period
Time period for which calls are counted and compared against the limit set.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | 8 | no | no | no | yes | no |
qps_limit_ceiling
API Key specific QPS Limit the Proxy Service will enforce if both Throttling Limit Enforcement is enabled and Throttling Limit Overrides are allowed in the Dashboard API Settings Tab. This value takes precedence over the Service Definition Default Rate Limit. This value is only enforced if the Aggregate QPS has not been reached for the Service Definition.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
integer | yes | no | no | yes | no |
qps_limit_exempt
Toggle whether this key allows unlimted qps. This setting is only applied by the Proxy Service at runtime if the Throttling Limit Enforcement feature is enabled and Throttling Limit Override is allowed. This setting does not take precidence over any Aggregate QPS setting on the service definition.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
boolean | no | no | no | yes | no |
qps_limit_package_key_override_allowed
Enable the plan limits, for queries per second, to be overriden by the package key, i.e. set personalized limits at the developer level.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
boolean | no | no | no | yes | no |
package_key_max
Maximum number of keys that can be given to or obtained by any given developer
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
integer | no | no | no | yes | no |
package_key_moderation_threshold
The number of keys that will be active when generated. Any key generated after the moderation threshold is reached will have to be approved by the administrator.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
integer | no | no | no | yes | no |
created
The date that this object was created.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | 20 | date-time | yes | yes | no | yes | no |
updated
The date this object was last updated.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | 20 | date-time | yes | yes | no | yes | no |
is_public
This option enables developers on your company portal to generate and issue keys to themselves without assistance from an administrator. The process for a developer self-generating/issuing a key occurs during the application registration workflow within the portal. During the application registration workflow, the developer chooses from a dynamically generated list which API Package Plan he will register his application against. If the is_public field is set to "true" for a specific Package Plan, then that Package Plan will be included in the list that the developer can choose from when registering an application. Once the application is registered, the key is automatically generated and issued for the developer for the selected Package Plan.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
boolean | no | no | no | yes | no |
is_moderated
This setting controls whether or not keys will be automatically enabled or require review and manual approval through the Dashboard or API.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
boolean | no | no | no | yes | no |
status
Status is restricted to a specific set of values: waiting, active or disabled.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | 16 | no | no | no | yes | no |
limits
Limits describe how this key may be limited, including information from the service definition. See below for a more detailed description of the elements of the limits array.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
array | yes | yes | no | no | no |
object_type
The type of the object.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | 32 | yes | yes | no | no | no |
Limit Fields
Each limit object describes a particular type of unit. A limit object has three fields.
period
The time period applicable for the limit. Possibile values are second, minute, hour, day, month.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | yes | yes | no | no | no |
source
Where the limit is defined in the mashery system. Possible values are "key" or "service"
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | yes | yes | no | no | no |
ceiling
Maximum number of events that can occur in the specified time period.
type | maxLength | format | default | optional | readonly | createonly | queryable | sortable |
---|---|---|---|---|---|---|---|---|
string | "key" | yes | yes | no | no | no |
Relationships
Limit
A Plan has one or many one related Limit objects. The related Limit objects can be accessed directly via the object.query API method by including this relationship in the query, e.g. select *, limits from plans.
Package
A Plan has one and only one related Package object. The relationship is indirect via the Plan object. The related Package object can be accessed directly via the object.query API method by including this relationship in the query, e.g. select *, package from plans.
Plan Service
A Plan has zero or many related Plan Service objects. The related Plan Service objects can be accessed directly via the object.query API method by including this relationship in the query, e.g. select *, plan_services from plans.
Plan Endpoint
A Plan has zero or many related Plan Endpoint object. The related Plan Endpoint objects can be accessed directly via the object.query API method by including this relationship in the query, e.g. select *, plan_endpoints from plans.
Plan Method
A Plan has zero or many related Plan Method objects. The related Plan Method objects can be accessed directly via the object.query API method by including this relationship in the query, e.g. select *, plan_methods from plans.
Plan Filter
A Plan has zero or many related Plan Filter objects. The relationship is indirect via the Plan Method object. The related Plan Filter objects can be accessed directly via the object.query API method by including this relationship in the query, e.g. select *, plan_filters from plans.
Object Methods
The plan namespace contains the following methods for manipulating services.
Docs Navigation
- API Documentation Portal
- IO Docs Definition
- Mashery API Documentation
- Mashery 3.0 API Guide
- Mashery 2.0 API Guide
- OAuth Supporting Methods
- Examples
- JSON RPC
- Authentication
- API Objects
- Fetching Objects
- Query Language
- Creating Objects
- Updating Objects
- Validating Fields
- Deleting Objects
- Applications
- General Object Methods
- Members
- Packages
- Plans
- Package Keys
- Keys
- Developer Classes
- Services
- Roles
- Mashery 2.0 Reporting API Guide
- Event Trigger API
- Differences between Roles and Portal Access Groups
- Managing a Portal Access Group Using Mashery V2 or V3 API
- Mashery Reporting Event Post API Guide
- Tips and Tricks
- Your Portal
- API Traffic Manager
- I/O Docs WSDL requirements