younifyd
Menu

Build Offering

Build an offering

POST/v2/subscriptions/offerings/build

Use it in a workflow

  1. Add a step and choose the Elastic Path connector.
  2. Pick the Build Offering action (under Subscriptions).
  3. Fill in the fields below, then reference the result from later steps as {{buildOffering.response.data}}.

Request

Request body

Enter the body as JSON in the step's Body field.

dataobjectrequired
external_refstring

A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.

namestringrequired

The name of the offering.

descriptionstring

The offering description to display to customers.

proration_policy_idstring

The unique ID or external ref of the proration policy

configured_featuresobject

Map of feature configurations keyed by plan UUID or external_ref

pricing_option_associationsobject

A map of plans keyed by plan UUID or external_ref to a list of associated pricing options, similarly keyed.

featuresarray<oneOf>

Either references of existing features (id or external_ref) to be attached to the offering or feature information to be created directly within the offering

plansarray<oneOf>required

Plan information to be created within the offering

pricing_optionsarray<object>required15 fields

Pricing options information to be created within the offering

json
{
  "data": {
    "name": "Magazine",
    "plans": [
      null
    ],
    "pricing_options": [
      {
        "name": "Monthly",
        "billing_interval_type": "month",
        "billing_frequency": 1,
        "plan_length": 12,
        "end_behavior": "close",
        "can_pause": false,
        "can_resume": false,
        "can_cancel": false,
        "external_ref": "abc123",
        "description": "A monthly subscription.",
        "trial_period": 7,
        "lead_time": {
          "type": "day",
          "time": 14
        }
      }
    ],
    "external_ref": "abc123",
    "description": "A lovely magazine that is published every month.",
    "proration_policy_id": "11111111-2222-3333-4444-555555555555",
    "configured_features": {},
    "pricing_option_associations": {},
    "features": [
      null
    ]
  }
}

Response

Returns 201 with an object. Read it in later steps with {{buildOffering.response.data.<field>}}.

dataobject
idstring (uuid)

The unique identifier.

typestringrequired

One ofsubscription_offering

attributesanyrequired
relationshipsany

Relationships are established between different subscription entities. For example, a plan and a pricing option are related to an offering, as both are attached to it.

metaobjectrequired3 fields
json
{
  "data": {
    "type": "subscription_offering",
    "attributes": null,
    "meta": {
      "external_plan_refs": [
        "97dddc65-eabd-45d8-b45b-2ece5cfc8c50"
      ],
      "owner": "store",
      "timestamps": {
        "updated_at": "2017-01-10T11:41:19.244842Z",
        "created_at": "2017-01-10T11:41:19.244842Z"
      }
    },
    "id": "11111111-2222-3333-4444-555555555555",
    "relationships": {
      "pricing-options": {
        "links": {
          "related": "/offerings/:offering-id/pricing-options",
          "self": "/offerings/:offering-id"
        },
        "data": {
          "type": "offering-pricing-option",
          "id": "625fe958-7b4b-40a0-a2c0-dbb8f31eec0d"
        }
      }
    }
  }
}

Need more? See the Elastic Path guide for connection setup and behaviour shared by every action.