Products have features that are packaged in plans. These features can be of several different types (see Pricing and Packaging for the different types available.) but from an API perspective, they fall within three different types:
Fixed features are features that are basically marketing bullet points. They are not considered when calculating the price of a plan
Metered features are features that have a cost associated with usage.
Configurable features are features that can be customized by the user. Think multiple choice and numeric ranges.
These features can be accessed programmatically by using some subqueries in a product
node
fixedFeatures(first: Int!,after: String,orderBy: ProductFixedFeaturesOrderBy): ProductFixedFeatureConnection​meteredFeatures(first: Int!,after: String,orderBy: ProductMeteredFeaturesOrderBy): ProductMeteredFeatureConnection​configurableFeatures(first: Int!,after: String,orderBy: ProductConfigurableFeaturesOrderBy): ProductConfigurableFeatureConnection
For example, to get the fixed features of a product
{product(label:"my-product") {fixedFeatures(first:10) {edges {node {displayNamefeatureOptions {valuedisplayName}}}}}}
​