# Get variant contextual pricing Retrieves contextual pricing information for a product variant based on currency and country. This endpoint provides localized pricing data for international subscriptions and multi-currency support. Pricing Information Returned: - Base price in specified currency - Compare-at price (if applicable) - Country-specific pricing adjustments - Tax information for the region - Currency conversion data Parameters: - variantId - Shopify variant ID (required) - currencyCode - ISO 4217 currency code (e.g., USD, EUR, GBP) (required) - countryCode - ISO 3166-1 country code (e.g., US, GB, CA) (optional) Use Cases: - Display localized pricing in customer portal - Calculate subscription totals for international customers - Support multi-currency subscriptions - Show accurate pricing based on customer location - Validate pricing before subscription creation Important Notes: - Requires Shopify Markets or multi-currency setup - Prices are returned in the requested currency - Country-specific pricing takes precedence over currency-only pricing - Returns 404 if variant doesn't exist or isn't available in specified market Authentication: Requires valid api_key parameter Endpoint: GET /subscriptions/cp/api/data/variant-contextual-pricing Version: 0.0.1 ## Query parameters: - `variantId` (integer, required) - `countryCode` (string) - `currencyCode` (string, required) ## Response 200 fields (*/*): - `get__typename` (string) - `id` (string) - `title` (string) - `media` (object) - `media.nodes` (array) - `media.nodes.sellingPlanId` (string) - `media.nodes.sellingPlanName` (string) - `media.nodes.productId` (string) - `media.nodes.sku` (string) - `media.nodes.variantId` (string) - `media.nodes.quantity` (integer) - `media.nodes.customAttributes` (array) - `media.nodes.customAttributes.key` (string) - `media.nodes.customAttributes.value` (string) - `media.nodes.lineDiscountedPrice` (object) - `media.nodes.lineDiscountedPrice.amount` (object) - `media.nodes.lineDiscountedPrice.currencyCode` (string) Enum: "USD", "EUR", "GBP", "CAD", "AFN", "ALL", "DZD", "AOA", "ARS", "AMD", "AWG", "AUD", "BBD", "AZN", "BDT", "BSD", "BHD", "BIF", "BYN", "BZD", "BMD", "BTN", "BAM", "BRL", "BOB", "BWP", "BND", "BGN", "MMK", "KHR", "CVE", "KYD", "XAF", "CLP", "CNY", "COP", "KMF", "CDF", "CRC", "HRK", "CZK", "DKK", "DJF", "DOP", "XCD", "EGP", "ERN", "ETB", "FKP", "XPF", "FJD", "GIP", "GMD", "GHS", "GTQ", "GYD", "GEL", "GNF", "HTG", "HNL", "HKD", "HUF", "ISK", "INR", "IDR", "ILS", "IRR", "IQD", "JMD", "JPY", "JEP", "JOD", "KZT", "KES", "KID", "KWD", "KGS", "LAK", "LVL", "LBP", "LSL", "LRD", "LYD", "LTL", "MGA", "MKD", "MOP", "MWK", "MVR", "MRU", "MXN", "MYR", "MUR", "MDL", "MAD", "MNT", "MZN", "NAD", "NPR", "ANG", "NZD", "NIO", "NGN", "NOK", "OMR", "PAB", "PKR", "PGK", "PYG", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "RWF", "WST", "SHP", "SAR", "RSD", "SCR", "SLL", "SGD", "SDG", "SOS", "SYP", "ZAR", "KRW", "SSP", "SBD", "LKR", "SRD", "SZL", "SEK", "CHF", "TWD", "THB", "TJS", "TZS", "TOP", "TTD", "TND", "TRY", "TMT", "UGX", "UAH", "AED", "UYU", "UZS", "VUV", "VES", "VND", "XOF", "YER", "ZMW", "USDC", "BYR", "STD", "STN", "VED", "VEF", "XXX", "$UNKNOWN" - `media.nodes.variantImage` (object) - `media.nodes.variantImage.transformedSrc` (object) - `media.nodes.variantTitle` (string) - `media.nodes.currentPrice` (object) - `media.nodes.discountAllocations` (array) - `media.nodes.discountAllocations.discount` (object) - `media.nodes.pricingPolicy` (object) - `media.nodes.pricingPolicy.basePrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts` (array) - `media.nodes.pricingPolicy.cycleDiscounts.afterCycle` (integer) - `media.nodes.pricingPolicy.cycleDiscounts.computedPrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentType` (string) Enum: "PERCENTAGE", "FIXED_AMOUNT", "PRICE", "$UNKNOWN" - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentValue` (object) - `media.nodes.taxable` (boolean) - `product` (object) - `product.handle` (string) - `product.status` (string) Enum: "ACTIVE", "ARCHIVED", "DRAFT", "UNLISTED", "$UNKNOWN" - `price` (object) - `contextualPricing` (object) ## Response 400 fields (*/*): - `get__typename` (string) - `id` (string) - `title` (string) - `media` (object) - `media.nodes` (array) - `media.nodes.sellingPlanId` (string) - `media.nodes.sellingPlanName` (string) - `media.nodes.productId` (string) - `media.nodes.sku` (string) - `media.nodes.variantId` (string) - `media.nodes.quantity` (integer) - `media.nodes.customAttributes` (array) - `media.nodes.customAttributes.key` (string) - `media.nodes.customAttributes.value` (string) - `media.nodes.lineDiscountedPrice` (object) - `media.nodes.lineDiscountedPrice.amount` (object) - `media.nodes.lineDiscountedPrice.currencyCode` (string) Enum: "USD", "EUR", "GBP", "CAD", "AFN", "ALL", "DZD", "AOA", "ARS", "AMD", "AWG", "AUD", "BBD", "AZN", "BDT", "BSD", "BHD", "BIF", "BYN", "BZD", "BMD", "BTN", "BAM", "BRL", "BOB", "BWP", "BND", "BGN", "MMK", "KHR", "CVE", "KYD", "XAF", "CLP", "CNY", "COP", "KMF", "CDF", "CRC", "HRK", "CZK", "DKK", "DJF", "DOP", "XCD", "EGP", "ERN", "ETB", "FKP", "XPF", "FJD", "GIP", "GMD", "GHS", "GTQ", "GYD", "GEL", "GNF", "HTG", "HNL", "HKD", "HUF", "ISK", "INR", "IDR", "ILS", "IRR", "IQD", "JMD", "JPY", "JEP", "JOD", "KZT", "KES", "KID", "KWD", "KGS", "LAK", "LVL", "LBP", "LSL", "LRD", "LYD", "LTL", "MGA", "MKD", "MOP", "MWK", "MVR", "MRU", "MXN", "MYR", "MUR", "MDL", "MAD", "MNT", "MZN", "NAD", "NPR", "ANG", "NZD", "NIO", "NGN", "NOK", "OMR", "PAB", "PKR", "PGK", "PYG", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "RWF", "WST", "SHP", "SAR", "RSD", "SCR", "SLL", "SGD", "SDG", "SOS", "SYP", "ZAR", "KRW", "SSP", "SBD", "LKR", "SRD", "SZL", "SEK", "CHF", "TWD", "THB", "TJS", "TZS", "TOP", "TTD", "TND", "TRY", "TMT", "UGX", "UAH", "AED", "UYU", "UZS", "VUV", "VES", "VND", "XOF", "YER", "ZMW", "USDC", "BYR", "STD", "STN", "VED", "VEF", "XXX", "$UNKNOWN" - `media.nodes.variantImage` (object) - `media.nodes.variantImage.transformedSrc` (object) - `media.nodes.variantTitle` (string) - `media.nodes.currentPrice` (object) - `media.nodes.discountAllocations` (array) - `media.nodes.discountAllocations.discount` (object) - `media.nodes.pricingPolicy` (object) - `media.nodes.pricingPolicy.basePrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts` (array) - `media.nodes.pricingPolicy.cycleDiscounts.afterCycle` (integer) - `media.nodes.pricingPolicy.cycleDiscounts.computedPrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentType` (string) Enum: "PERCENTAGE", "FIXED_AMOUNT", "PRICE", "$UNKNOWN" - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentValue` (object) - `media.nodes.taxable` (boolean) - `product` (object) - `product.handle` (string) - `product.status` (string) Enum: "ACTIVE", "ARCHIVED", "DRAFT", "UNLISTED", "$UNKNOWN" - `price` (object) - `contextualPricing` (object) ## Response 401 fields (*/*): - `get__typename` (string) - `id` (string) - `title` (string) - `media` (object) - `media.nodes` (array) - `media.nodes.sellingPlanId` (string) - `media.nodes.sellingPlanName` (string) - `media.nodes.productId` (string) - `media.nodes.sku` (string) - `media.nodes.variantId` (string) - `media.nodes.quantity` (integer) - `media.nodes.customAttributes` (array) - `media.nodes.customAttributes.key` (string) - `media.nodes.customAttributes.value` (string) - `media.nodes.lineDiscountedPrice` (object) - `media.nodes.lineDiscountedPrice.amount` (object) - `media.nodes.lineDiscountedPrice.currencyCode` (string) Enum: "USD", "EUR", "GBP", "CAD", "AFN", "ALL", "DZD", "AOA", "ARS", "AMD", "AWG", "AUD", "BBD", "AZN", "BDT", "BSD", "BHD", "BIF", "BYN", "BZD", "BMD", "BTN", "BAM", "BRL", "BOB", "BWP", "BND", "BGN", "MMK", "KHR", "CVE", "KYD", "XAF", "CLP", "CNY", "COP", "KMF", "CDF", "CRC", "HRK", "CZK", "DKK", "DJF", "DOP", "XCD", "EGP", "ERN", "ETB", "FKP", "XPF", "FJD", "GIP", "GMD", "GHS", "GTQ", "GYD", "GEL", "GNF", "HTG", "HNL", "HKD", "HUF", "ISK", "INR", "IDR", "ILS", "IRR", "IQD", "JMD", "JPY", "JEP", "JOD", "KZT", "KES", "KID", "KWD", "KGS", "LAK", "LVL", "LBP", "LSL", "LRD", "LYD", "LTL", "MGA", "MKD", "MOP", "MWK", "MVR", "MRU", "MXN", "MYR", "MUR", "MDL", "MAD", "MNT", "MZN", "NAD", "NPR", "ANG", "NZD", "NIO", "NGN", "NOK", "OMR", "PAB", "PKR", "PGK", "PYG", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "RWF", "WST", "SHP", "SAR", "RSD", "SCR", "SLL", "SGD", "SDG", "SOS", "SYP", "ZAR", "KRW", "SSP", "SBD", "LKR", "SRD", "SZL", "SEK", "CHF", "TWD", "THB", "TJS", "TZS", "TOP", "TTD", "TND", "TRY", "TMT", "UGX", "UAH", "AED", "UYU", "UZS", "VUV", "VES", "VND", "XOF", "YER", "ZMW", "USDC", "BYR", "STD", "STN", "VED", "VEF", "XXX", "$UNKNOWN" - `media.nodes.variantImage` (object) - `media.nodes.variantImage.transformedSrc` (object) - `media.nodes.variantTitle` (string) - `media.nodes.currentPrice` (object) - `media.nodes.discountAllocations` (array) - `media.nodes.discountAllocations.discount` (object) - `media.nodes.pricingPolicy` (object) - `media.nodes.pricingPolicy.basePrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts` (array) - `media.nodes.pricingPolicy.cycleDiscounts.afterCycle` (integer) - `media.nodes.pricingPolicy.cycleDiscounts.computedPrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentType` (string) Enum: "PERCENTAGE", "FIXED_AMOUNT", "PRICE", "$UNKNOWN" - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentValue` (object) - `media.nodes.taxable` (boolean) - `product` (object) - `product.handle` (string) - `product.status` (string) Enum: "ACTIVE", "ARCHIVED", "DRAFT", "UNLISTED", "$UNKNOWN" - `price` (object) - `contextualPricing` (object) ## Response 404 fields (*/*): - `get__typename` (string) - `id` (string) - `title` (string) - `media` (object) - `media.nodes` (array) - `media.nodes.sellingPlanId` (string) - `media.nodes.sellingPlanName` (string) - `media.nodes.productId` (string) - `media.nodes.sku` (string) - `media.nodes.variantId` (string) - `media.nodes.quantity` (integer) - `media.nodes.customAttributes` (array) - `media.nodes.customAttributes.key` (string) - `media.nodes.customAttributes.value` (string) - `media.nodes.lineDiscountedPrice` (object) - `media.nodes.lineDiscountedPrice.amount` (object) - `media.nodes.lineDiscountedPrice.currencyCode` (string) Enum: "USD", "EUR", "GBP", "CAD", "AFN", "ALL", "DZD", "AOA", "ARS", "AMD", "AWG", "AUD", "BBD", "AZN", "BDT", "BSD", "BHD", "BIF", "BYN", "BZD", "BMD", "BTN", "BAM", "BRL", "BOB", "BWP", "BND", "BGN", "MMK", "KHR", "CVE", "KYD", "XAF", "CLP", "CNY", "COP", "KMF", "CDF", "CRC", "HRK", "CZK", "DKK", "DJF", "DOP", "XCD", "EGP", "ERN", "ETB", "FKP", "XPF", "FJD", "GIP", "GMD", "GHS", "GTQ", "GYD", "GEL", "GNF", "HTG", "HNL", "HKD", "HUF", "ISK", "INR", "IDR", "ILS", "IRR", "IQD", "JMD", "JPY", "JEP", "JOD", "KZT", "KES", "KID", "KWD", "KGS", "LAK", "LVL", "LBP", "LSL", "LRD", "LYD", "LTL", "MGA", "MKD", "MOP", "MWK", "MVR", "MRU", "MXN", "MYR", "MUR", "MDL", "MAD", "MNT", "MZN", "NAD", "NPR", "ANG", "NZD", "NIO", "NGN", "NOK", "OMR", "PAB", "PKR", "PGK", "PYG", "PEN", "PHP", "PLN", "QAR", "RON", "RUB", "RWF", "WST", "SHP", "SAR", "RSD", "SCR", "SLL", "SGD", "SDG", "SOS", "SYP", "ZAR", "KRW", "SSP", "SBD", "LKR", "SRD", "SZL", "SEK", "CHF", "TWD", "THB", "TJS", "TZS", "TOP", "TTD", "TND", "TRY", "TMT", "UGX", "UAH", "AED", "UYU", "UZS", "VUV", "VES", "VND", "XOF", "YER", "ZMW", "USDC", "BYR", "STD", "STN", "VED", "VEF", "XXX", "$UNKNOWN" - `media.nodes.variantImage` (object) - `media.nodes.variantImage.transformedSrc` (object) - `media.nodes.variantTitle` (string) - `media.nodes.currentPrice` (object) - `media.nodes.discountAllocations` (array) - `media.nodes.discountAllocations.discount` (object) - `media.nodes.pricingPolicy` (object) - `media.nodes.pricingPolicy.basePrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts` (array) - `media.nodes.pricingPolicy.cycleDiscounts.afterCycle` (integer) - `media.nodes.pricingPolicy.cycleDiscounts.computedPrice` (object) - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentType` (string) Enum: "PERCENTAGE", "FIXED_AMOUNT", "PRICE", "$UNKNOWN" - `media.nodes.pricingPolicy.cycleDiscounts.adjustmentValue` (object) - `media.nodes.taxable` (boolean) - `product` (object) - `product.handle` (string) - `product.status` (string) Enum: "ACTIVE", "ARCHIVED", "DRAFT", "UNLISTED", "$UNKNOWN" - `price` (object) - `contextualPricing` (object)