Upsert a plan

Request

Creates or updates (upserts) a plan with a specified ID.

Security
SecretApiKey or JWT
Path
idstring, <= 50 characters^[@~\-\.\w]+$required

ID of the resource.

Bodyapplication/jsonrequired

Plan resource.

One of:

Details of the one-time sale plan. Use this plan for non-recurring, one-time, sales.

namestring, <= 255 charactersrequired

Name of the plan. This name is displayed on invoices and receipts.

descriptionstring, <= 65535 characters

Plain-text description of the plan. This field accepts plain-text only.

richDescriptionstring, <= 65535 characters

Rich-text description of the plan. This field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.

productIdstring, <= 50 charactersrequired

ID of the related product.

Example:"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"
productOptionsobject or null

Name-value pairs that specify the product options.

Example:
{ "color": "red", "size": "xxl" }
currencystring, = 3 characters(CurrencyCode)required

Currency code in ISO 4217 format.

Example:"USD"
pricingobject(PlanPriceFormula)required
setupobject or null(PlanSetup)

Setup fee information for the plan.

customFieldsobject(ResourceCustomFields)

Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. For more information, see Custom fields.

Default:{}
Example:
{ "foo": "bar" }
isActiveboolean

Specifies if the plan is active.

Default:true
curl -i -X PUT \
  'https://www.rebilly.com/_mock/catalog/all/plans/{id}' \
  -H 'Content-Type: application/json' \
  -H 'REB-APIKEY: YOUR_API_KEY_HERE' \
  -d '{
    "name": "string",
    "description": "string",
    "richDescription": "string",
    "productId": "prod_0YV7DES3WPC5J8JD8QTVNZBZNZ",
    "productOptions": {
      "color": "red",
      "size": "xxl"
    },
    "currency": "USD",
    "pricing": {
      "formula": "fixed-fee",
      "price": 99.95
    },
    "setup": {
      "price": 0.1
    },
    "customFields": {
      "foo": "bar"
    },
    "isActive": true
  }'

Responses

Plan updated.

Headers
X-RateLimit-Limitinteger

Total number of rate limit tokens for this request within a rate limit period. For more information, see Rate limits.

Example:3600
X-RateLimit-Remaininginteger

Remaining number of rate limit tokens for this request within the rate limit period. For example, in the sandbox environment, rate limits for non-GET endpoints are set at 3000 requests per 10 minutes.

Example:3600
Bodyapplication/json
One of:

Details of the one-time sale plan. Use this plan for non-recurring, one-time, sales.

idstring, <= 50 charactersread-onlyrequired

ID of the plan.

Example:"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"
namestring, <= 255 charactersrequired

Name of the plan. This name is displayed on invoices and receipts.

descriptionstring, <= 65535 characters

Plain-text description of the plan. This field accepts plain-text only.

richDescriptionstring, <= 65535 characters

Rich-text description of the plan. This field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.

productIdstring, <= 50 charactersrequired

ID of the related product.

Example:"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"
productOptionsobject or null

Name-value pairs that specify the product options.

Example:
{ "color": "red", "size": "xxl" }
currencystring, = 3 characters(CurrencyCode)required

Currency code in ISO 4217 format.

Example:"USD"
currencySignstringread-only

Currency sign.

pricingobject(PlanPriceFormula)required
setupobject or null(PlanSetup)

Setup fee information for the plan.

customFieldsobject(ResourceCustomFields)

Use custom fields to extend a resource scheme to include custom data that is not provided as a common field. For more information, see Custom fields.

Default:{}
Example:
{ "foo": "bar" }
isActiveboolean

Specifies if the plan is active.

Default:true
revisionintegerread-only

Number of times the plan is modified. Compare this value with materialized subscription item revision values.

isTrialOnlybooleanread-only

Specifies if a plan is a trial that does not have recurring instructions.

Value:false
recurringIntervalnullread-only

Service interval settings.

trialnullread-only

Trial configuration setting.

createdTimestring, (date-time)(CreatedTime)read-only

Date and time when the resource is created. This value is set automatically when the resource is created.

updatedTimestring, (date-time)(UpdatedTime)read-only

Date and time when the resource is updated. This value is set automatically when the resource is updated.

Response
{ "id": "plan_0YV7DENSVGDBW9S71XZNNYYQ0X", "name": "string", "description": "string", "richDescription": "string", "productId": "prod_0YV7DES3WPC5J8JD8QTVNZBZNZ", "productOptions": { "color": "red", "size": "xxl" }, "currency": "USD", "currencySign": "string", "pricing": { "formula": "fixed-fee", "price": 99.95 }, "setup": { "price": 0.1 }, "customFields": { "foo": "bar" }, "isActive": true, "revision": 0, "isTrialOnly": false, "recurringInterval": null, "trial": null, "createdTime": "2019-08-24T14:15:22Z", "updatedTime": "2019-08-24T14:15:22Z", "_links": [ {} ] }