This page is for partners who render OrderProtection inside Shopify checkout through theDocumentation Index
Fetch the complete documentation index at: https://docs.orderprotection.com/llms.txt
Use this file to discover all available pages before exploring further.
checkout-widget UI extension and want each checkout to resolve a specific A/B cohort. It builds on the Partner Integration Quickstart — register your OAuth app and create your variants there first, then use this page to wire the extension to them.
The checkout extension calls the path-based partner endpoints (
/v2/.../partner/:applicationId), not the header-based public read documented in the Quickstart. The three block settings below are what bind a checkout to your cohort.Prerequisites
- An approved OAuth app — see Creating an app. Note your
Application.id(looks likecmpn5in6p000484flmfk9ns4d). - At least one partner context / variant created for the merchant’s store — see Quickstart, Step 3.
- A price set and a widget config attached to that variant, keyed by your
variantKey.
Configure the block settings
When thecheckout-widget extension is added to a store’s checkout, configure three fields under checkout-widget → Block settings. A partner (e.g. PDQ) sets these at install time.

| Setting | Example | What it does |
|---|---|---|
| Application ID | cmpn5in6p000484flmfk9ns4d | Your OAuth Application.id. Used as the path segment on the partner-scoped endpoints. Required together with at least one of the variant keys below. |
| Price Set Variant Key | test-a | Routes pricing to GET /v2/quote/insurance/partner/:applicationId?key=:variantKey for partner-scoped pricing. |
| Widget Config Variant Key | test-a | Routes the widget config fetch to GET /v2/widget/config/partner/:applicationId?key=:variantKey instead of the default per-store endpoint. |
All three fields are empty by default, in which case the extension uses the store’s default per-store widget and pricing. Set the Application ID plus at least one variant key to activate partner-scoped behavior. The two variant keys are independent — you can A/B-test pricing and widget appearance separately.
What the extension fetches
Once configured, on each checkout render the extension calls the partner-scoped endpoints below. Both are public (no OAuth token) and resolve the cohort from the pathapplicationId + key query param.
Pricing — GET /v2/quote/insurance/partner/:applicationId
| Param | In | Required | Description |
|---|---|---|---|
applicationId | path | Yes | Your OAuth Application.id. |
key | query | Yes | The Price Set Variant Key (variantKey). Must match the partner key format. |
store_url | query | Yes | The merchant’s store domain, e.g. example.myshopify.com. |
country | query | No | ISO 2-letter country code. Defaults to US. |
SHIPPING price set. Responses are cached for ~1 hour per (store_url, country, applicationId, key).
Errors
400 Bad Request—keyis missing, orapplicationId/keydon’t match the partner key format.404 Not Found— the store isn’t found, the app isn’t installed, or the cohort has noSHIPPINGpricing rules.
Widget config — GET /v2/widget/config/partner/:applicationId
| Param | In | Required | Description |
|---|---|---|---|
applicationId | path | Yes | Your OAuth Application.id. |
key | query | Yes | The Widget Config Variant Key (variantKey). Must match the partner key format. |
store_url | query | Yes | The merchant’s store domain. |
type | query | No | Widget type: CART, CHECKOUT, INFO_MODAL, or SUBSCRIPTION. Defaults to CHECKOUT. |
config and customizationValues always hold the same value; customizationValues is the legacy column name. Responses are cached for ~1 hour per (store_url, applicationId, key, type).
Errors
400 Bad Request—keyis missing, orapplicationId/keydon’t match the partner key format.404 Not Found— the store isn’t found, the app has no active context on that store, or no widget config exists for that(variantKey, type).
Default vs. cohort render
The explainer below walks the whole flow — authenticate, create variants, configure the extension, and render per shopper:
test-a, the same checkout resolves the cohort’s price set and widget config — for example OrderProtection — Cohort A at $9.80 with flat-rate protection, as shown in the checkout preview above.
Next steps
Partner Integration Quickstart
Register your app, create variants, and route shoppers — the setup this page depends on.
Partner endpoints reference
Full schema for every
/v2 partner endpoint, including the contexts, pricing, and widget-config writes.Creating an app
Register an OAuth app and capture your
Application.id, client ID, and secret.Scopes
Scopes your app needs to create contexts, price sets, and widget configs.

