Create a plan

Create a plan for a product. product_type/period_type/level define the plan and cannot be changed once it has purchases — collect them from the user, never guess. Store distributions (SKUs) are managed separately, via the distributions endpoints.

Required scope: setup.plans:create

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Public ID of the resource.

Query Params
fields[]
array of strings

Field selection for token economy: an explicit list of field names to include in the response, or ["*"] for every field. Omit for this endpoint's own default field set.

fields[]
Body Params
string

iOS App Store commitment billing mode for a subscription (optional). "up_front" = charged the full period at purchase ("1 Year Upfront", the default behavior). "monthly" = "Monthly with 12-Month Commitment" — charged monthly with a 12-month commitment; requires a matching SKU in App Store Connect (SDK v6.0+, iOS 26.4+). Worth surfacing for yearly subscription plans; leave blank otherwise.

string

Confirmation token from a prior confirmation_required response; required to actually create the plan.

string

Public ID of the screen (pres_…) to use as this plan's default.

string

Internal-only notes, never shown to end users.

integer
required

Ranking level (integer) used to compare plans for upgrade/downgrade detection. Ask the user which level this plan should have; do not guess or default it.

string
required

Display name shown in console.

string

ISO-8601-ish billing period, e.g. P1M, P1Y. REQUIRED for subscription plans (RENEWING_SUBSCRIPTION / NON_RENEWING_SUBSCRIPTION); leave blank for CONSUMABLE / NON_CONSUMABLE. Effectively permanent once the plan has purchases — ask the user.

string
required

Public ID of the product (prod_…) this plan belongs to.

string
required

One of CONSUMABLE, NON_CONSUMABLE, NON_RENEWING_SUBSCRIPTION, RENEWING_SUBSCRIPTION. PERMANENT — cannot be changed once the plan has purchases. Ask the user; never guess.

promo_offers
array of objects

Promo offers for this plan.

promo_offers
string
required

Unique vendor identifier for this plan, scoped to the mobile application.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json