• Register

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.

plan.delete
Delete a plan  .
plan.fetch
Get a specific plan or a list of plans  .
plan.validate
Validate a plan  .
plan.update
Update a plan  .
plan.clone
Accept a plan specification and clone that plan.
plan.create
Create a plan  .

Docs Navigation