Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Elastic Path Offerings API

An offering is a combination of plans and pricing options; plans are combined with one or more pricing options to form an offering. For example, your company provides online streaming of movies, web-series, and music. Your customers can purchase these services through either a weekly or monthly pricing option.Offering plans can be either:- a subscription plan, created within an offering.- a Product Experience Manager product, see [**Create a product**](/docs/api/pxm/products/create-product)### Offering ExamplesOfferings can have any combination of plans and pricing options. The pricing of an offering is determined by the pricing you have configured for your plans and pricing options.| Example | Plan | Pricing options | Offering || --- | --- | --- | --- || Single plan and pricing option | One plan with a plan price of $50 | A monthly pricing option with a 5% discount | An offering with a monthly pricing option for $47.50 a month || Single plan with multiple pricing options | One plan with a plan price of $50 | A monthly pricing option with a 5% discountA yearly pricing option with a 10% discount | An offering with two pricing options: A monthly pricing option for $47.50 a monthA yearly pricing option for $45 a month || Multiple plans and pricing option | Two plans: One plan with a plan price of $50.One plan with a plan price of $75. | A monthly pricing option with a 5% discount. | An offering with a monthly pricing option for $118.75 a month. | | Multiple plans with multiple pricing options | Two plans: One plan with a plan price of $50.One plan with a plan price of $75. | A monthly pricing option with a 5% discountA yearly pricing option with a 10% discount | An offering with two pricing options: A monthly pricing option for $118.75 a monthA yearly pricing option for $112.50 a month | ### Building an OfferingWhen you are building an offering:- you can create new pricing options and plans.- you can modify existing plans and pricing options. For example, you can modify the plan price or any attributes of a pricing option included in the offering.Here's how you build an offering:When [**building your offerings**](/docs/api/subscriptions/build-offering) you must supply the plans and pricing options that a customer can choose. An offering can consist of many combinations of a plan or pricing options, depending on the plans and services you offer.Plans can either be subscription plans or Product Experience Manager products. To create a Product Experience Manager product, see [**Create a product**](/docs/api/pxm/products/create-product)Pricing options are the rules that govern your subscription, for example, any discount. - You can combine and reuse pricing options for as many plans as you want, making it quick and easy to create your subscription offerings. - An offering must have at least one pricing option. - Each plan must have the appropriate pricing option associated with itWhen a [**customer**](/docs/api/subscriptions/subscribers) chooses a plan and pricing option, a subscription is created. See [**Subscriptions**](/docs/api/subscriptions/subscriptions). Elastic Path Subscriptions manages the billing and recurring payments associated with the subscription. See [**Invoicing and Billing**](/docs/api/subscriptions/jobs).### Editing OfferingsAfter saving an offering, you can, at any time:- update an offering's details, for example, name or description. See [**Update an Offering**](/docs/api/subscriptions/update-offering).- update an existing plan in an offering. See [**Update a plan in an offering**](/docs/api/subscriptions/update-offering-plan)- add a new plan in an offering. See [**Create a plan inside an offering**](/docs/api/subscriptions/create-offering-plan)- remove plans. See [**Remove a plan from an offering**](/docs/api/subscriptions/delete-offering-plan).- update an existing pricing option in an offering. See [**Update a pricing option in an offering**](/docs/api/subscriptions/update-offering-pricing-option)- add a new pricing option to an offering. See [**Create a pricing option inside an offering**](/docs/api/subscriptions/create-offering-pricing-option).- remove pricing options. See [**Removing a pricing option from an offering**](/docs/api/subscriptions/delete-offering-plan).Any modifications that you make to offerings, and plans or pricing options in an offering, does not affect any active subscriptions. The changes take effect on all new subscriptions that are created.

Elastic Path Offerings API is one of 100 APIs that Elastic Path publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Offerings. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 25 operations across 11 paths, and defines 97 schemas. It is described by OpenAPI 3.1.0, at version 25.1126.6886238.

Requests are made against 2 base URLs: https://useast.api.elasticpath.com, https://euwest.api.elasticpath.com.

25 operations 11 paths 97 schemas 5 DELETE9 GET7 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
25.1126.6886238
Base URL
https://useast.api.elasticpath.com
Authentication
HTTP Bearer
License
Resource Areas
1

Authentication & Security 1

Elastic Path Offerings API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerToken). By default, every request must be authenticated.

Paths & Operations 25

Across 11 paths, the API surfaces 25 operations — 5 DELETE, 9 GET, 7 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

Offerings 25

An offering is a combination of plans and pricing options; plans are combined with one or more pricing options to form an offering. For example, your company provides online strea…

POST
/v2/subscriptions/offerings
Create an offering
CreateOffering 1 param body → 201400500
GET
/v2/subscriptions/offerings
List offerings
ListOfferings 4 params → 200400500
POST
/v2/subscriptions/offerings/build
Build an offering
BuildOffering body → 201400500
GET
/v2/subscriptions/offerings/{offering_uuid}
Get offering
GetOffering 2 params → 200400404500
DELETE
/v2/subscriptions/offerings/{offering_uuid}
Delete offering
DeleteOffering 1 param → 204500
PUT
/v2/subscriptions/offerings/{offering_uuid}
Update an offering
UpdateOffering 1 param body → 200400403404409500
GET
/v2/subscriptions/offerings/{offering_uuid}/features/{feature_uuid}
Get a feature in an offering
GetOfferingFeature 2 params → 200400404500
PUT
/v2/subscriptions/offerings/{offering_uuid}/features/{feature_uuid}
Updates a feature in an offering
UpdateOfferingFeature 2 params body → 200400403404409500
DELETE
/v2/subscriptions/offerings/{offering_uuid}/features/{feature_uuid}
Remove a feature from an offering
DeleteOfferingFeature 2 params → 204400403
POST
/v2/subscriptions/offerings/{offering_uuid}/features/attach
Attach a feature
AttachOfferingFeature 1 param body → 200400403404500
GET
/v2/subscriptions/offerings/{offering_uuid}/pricing-options
List an offering's pricing options
ListOfferingPricingOptions 3 params → 200404500
POST
/v2/subscriptions/offerings/{offering_uuid}/pricing-options
Create a pricing option inside an offering
CreateOfferingPricingOption 1 param body → 201400403404409500
GET
/v2/subscriptions/offerings/{offering_uuid}/pricing-options/{pricing_option_uuid}
Get a pricing option in an offering
GetOfferingPricingOption 2 params → 200400404500
PUT
/v2/subscriptions/offerings/{offering_uuid}/pricing-options/{pricing_option_uuid}
Update a pricing option in an offering
UpdateOfferingPricingOption 2 params body → 200400403404409500
DELETE
/v2/subscriptions/offerings/{offering_uuid}/pricing-options/{pricing_option_uuid}
Remove a pricing option from an offering
DeleteOfferingPricingOption 2 params → 204400403
GET
/v2/subscriptions/offerings/{offering_uuid}/features
List an offering's features
ListOfferingFeatures 3 params → 200404500
POST
/v2/subscriptions/offerings/{offering_uuid}/features
Create a feature directly inside an offering
CreateOfferingFeature 1 param body → 201400403404409500
GET
/v2/subscriptions/offerings/{offering_uuid}/plans
List an offering's plans
ListOfferingPlans 3 params → 200404500
POST
/v2/subscriptions/offerings/{offering_uuid}/plans
Create a plan inside an offering
CreateOfferingPlan 1 param body → 201400403404409500
GET
/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}
Get a plan in an offering
GetOfferingPlan 2 params → 200400404500
PUT
/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}
Update a plan in an offering
UpdateOfferingPlan 2 params body → 200400403404409500
DELETE
/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}
Remove a plan from an offering
DeleteOfferingPlan 2 params → 204400403
GET
/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}/relationships/pricing_options
List the pricing options available to a plan in an offering
ListOfferingPlanPricingOptions 2 params → 200404500
POST
/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}/relationships/pricing_options
Adds an offering's pricing options to the plan
AddOfferingPlanPricingOptions 2 params body → 200400403404409500
DELETE
/v2/subscriptions/offerings/{offering_uuid}/plans/{plan_uuid}/relationships/pricing_options
Removes an offering's pricing options from the plan
RemoveOfferingPlanPricingOptions 2 params body → 200400403404409500

Schemas 97

The contract defines 97 schemas that model the data the API accepts and returns. The most detailed are PricingOptionUpdateAttributes (15 properties), PricingOptionAttributes (15 properties), BuildOffering (9 properties), PlanAttributes (7 properties). Each schema is shown below with its type and property counts.

FeatureConfigUsageAttributes
object
Configures a usage feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan. The default value that the usage me…
2 properties 2 required
ProrationPolicyType
string
PlanResponseAttributes
NullablePrice
object
Timestamps
object
2 properties 2 required
FeatureResponseAttributes
Link
Relationship
SubscriptionOfferingPlanType
string
FeatureAttributes
object
4 properties 2 required
OfferingUpdateAttributes
object
3 properties
OfferingPricingOptionUpdate
object
3 properties 3 required
PricingOptionAttributes
object
15 properties 8 required
PricingOptionUpdateAttributes
object
15 properties
PlanMeta
object
5 properties 2 required
Offering
object
5 properties 3 required
FeatureUpdateAttributes
object
4 properties
FeaturePromotionAttributes
object
2 properties 2 required
ProrationPolicyRelationshipAttributes
object
2 properties 2 required
ActivePlan
boolean
Whether a plan is active on a subscription using that offering. The activeplan attribute is null if a plan is not active in a subscription.
BuildOffering
object
9 properties 3 required
Relationships
Relationships are established between different subscription entities. For example, a plan and a pricing option are related to an offering, as both are attache…
NullablePriceUnits
object
The timeframe during which the plan price is applicable. For example, for a streaming service, the price is $12.99 and the unit is months and the amount is 1.…
2 properties 2 required
OfferingBuildPlanPricingOptions
array
PriceFormatting
object
3 properties 3 required
FeaturePlanConfigurationUpdate
object
1 property 1 required
SubscriptionFeatureType
string
RelationshipLinks
object
Links are used to allow you, as an API consumer, to move between requests. Single entities use a self parameter with a link to that specific resource. Sometime…
1 property
OfferingIncludes
object
3 properties
Price
OfferingMeta
object
3 properties 3 required
OfferingPlanUpdate
object
3 properties 3 required
OfferingPlanExternalRefMeta
string
The offerings plan externalref value
ProrationPolicyUpdateRelationshipAttributes
object
2 properties 2 required
LeadTime
object
Configuration of the lead time to generate an invoice ahead of time in a pro-forma state
2 properties 2 required
OfferingPlanUpdateAttributes
FeaturePlanConfiguration
object
1 property 1 required
Feature
object
4 properties 3 required
PriceUnits
object
The timeframe during which the plan price is applicable. For example, for a streaming service, the price is $12.99 and the unit is months and the amount is 1.…
2 properties 2 required
FeatureMeta
object
2 properties 2 required
DisplayPrice
object
3 properties
FeatureUsageAttributes
object
4 properties 4 required
SubscriptionOfferingPricingOptionType
string
ExternalRef
string
A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.
OfferingPlanResponseExtraAttributes
object
1 property 1 required
OfferingPricingOptionPrices
object
The price of each plan within the offering that this pricing option may be applied to.
SubscriptionOfferingType
string
Error
object
4 properties 2 required
NullableLeadTime
object
Configuration of the lead time to generate an invoice ahead of time in a pro-forma state
2 properties 2 required
OfferingUpdateRelationships
object
1 property
ErrorResponse
object
1 property 1 required
FeaturePromotion
object
3 properties 2 required
OfferingPlanPrices
object
A list of plan prices for each of its pricing options.
LinkObject
object
3 properties
FeatureConfiguration
object
1 property 1 required
OfferingPlanCreate
object
3 properties 2 required
OfferingPlan
object
5 properties 3 required
SingleRelationship
object
The subscription resource that is related.
2 properties
UUID
string
The unique identifier.
LinkURI
string
PlanAttributes
object
7 properties 1 required
OfferingUpdate
object
4 properties 2 required
ExternalRefUpdate
string
A unique attribute that you could use to contain information from another company system, for example. The maximum length is 2048 characters.
SubscriptionOfferingFeatureType
string
OfferingResponseAttributes
FeatureTag
string
A tag to add to the customer's account when entitled to the feature.
OfferingPlanUpdateExtraAttributes
object
1 property
OfferingBuildPlanFeatures
object
A map of configurations indicating which features are available for the plan
OfferingFeatureAttach
object
A list of feature IDs to attach to the offering. See [List Features](/docs/api/subscriptions/list-features).
1 property 1 required
RelationshipsRequest
object
Enumerates a list of resources that are related.
1 property 1 required
OfferingPricingOption
object
5 properties 3 required
OfferingCreate
object
3 properties 2 required
OfferingPlanExtraAttributes
object
1 property
OfferingBuildConfiguredFeatures
object
Map of feature configurations keyed by plan UUID or externalref
ManyRelationship
object
The list of resources that are related.
2 properties
ActivePricingOption
boolean
Whether a pricing option is active on a subscription using that offering. The activepricingoption attribute is null if a pricing option is not active in a subs…
FeatureAccessAttributes
object
2 properties 2 required
FeatureConfigPromotionAttributes
object
Configures a promotion feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan. The tag of the specific promoti…
2 properties 2 required
Links
object
OfferingPricingOptionMeta
object
6 properties 2 required
OfferingAttributes
object
3 properties 1 required
RelationshipData
object
2 properties 2 required
FeatureConfigAccessAttributes
object
Configures an access feature against a plan in an offering, indicating that the referenced feature is a benefit of that plan.
1 property 1 required
OfferingFeatureUpdate
object
3 properties 3 required
OfferingFeature
object
5 properties 3 required
NotificationSchedule
object
3 properties 3 required
OfferingPlanAttributes
OfferingPlanPriceForPricingOption
object
2 properties
OwnerMeta
string
The owner of a resource, either store or organization.
OfferingPricingOptionCreate
object
2 properties 2 required
OfferingRelationships
object
1 property
PlanUpdateAttributes
object
7 properties
OfferingPricingOptionPriceForPlan
object
2 properties
OfferingFeatureCreate
object
2 properties 2 required
PricingOptionResponseAttributes
OfferingPlanResponseAttributes
OfferingBuildPricingOptionAssociations
object
A map of plans keyed by plan UUID or externalref to a list of associated pricing options, similarly keyed.

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

elastic-path-offerings-api-openapi.yml Raw ↑

Other APIs Elastic Path publishes across the network.

Elastic Path GraphQL API
Elastic Path Account Addresses API
Elastic Path Account Authentication Settings API
Elastic Path Account Cart Associations API
Elastic Path Account Management Authentication API
Elastic Path Account Members API
Elastic Path Account Membership API
Elastic Path Account Membership Settings API
Elastic Path Account Tags API
Elastic Path Accounts API
Elastic Path Administrator Latest Releases Catalog API API
Elastic Path Application Keys API