{"items":[{"type":"group","label":"Get Started","items":[{"type":"link","fsPath":"index.md","metadata":{"type":"markdown"},"label":"Overview","link":"/","routeSlug":"/"},{"type":"link","fsPath":"authentication.md","metadata":{"type":"markdown"},"label":"Authentication","link":"/authentication","routeSlug":"/authentication"},{"type":"link","fsPath":"topics/testing.md","metadata":{"type":"markdown"},"label":"Testing","link":"/topics/testing","routeSlug":"/topics/testing"},{"type":"link","fsPath":"topics/responses.md","metadata":{"type":"markdown"},"label":"Response Codes & Errors","link":"/topics/responses","routeSlug":"/topics/responses"},{"type":"link","fsPath":"topics/currency.md","metadata":{"type":"markdown"},"label":"Currency","link":"/topics/currency","routeSlug":"/topics/currency"}],"expanded":"true"},{"type":"group","label":"Guides","items":[{"type":"link","fsPath":"guides/protecting_orders.md","metadata":{"type":"markdown"},"label":"Protecting Orders","link":"/guides/protecting_orders","routeSlug":"/guides/protecting_orders"},{"type":"link","fsPath":"guides/updating_orders.md","metadata":{"type":"markdown"},"label":"Updating Orders","link":"/guides/updating_orders","routeSlug":"/guides/updating_orders"},{"type":"link","fsPath":"guides/resolving_claims.md","metadata":{"type":"markdown"},"label":"Resolving Claims","link":"/guides/resolving_claims","routeSlug":"/guides/resolving_claims"},{"type":"link","fsPath":"guides/tracking_orders.md","metadata":{"type":"markdown"},"label":"Tracking Orders","link":"/guides/tracking_orders","routeSlug":"/guides/tracking_orders"},{"type":"link","fsPath":"guides/headless_shopify.md","metadata":{"type":"markdown"},"label":"Headless Shopify","link":"/guides/headless_shopify","routeSlug":"/guides/headless_shopify"},{"type":"link","fsPath":"guides/working_with_cashback.md","metadata":{"type":"markdown"},"label":"Working with Cashback","link":"/guides/working_with_cashback","routeSlug":"/guides/working_with_cashback"},{"type":"link","fsPath":"guides/registering_callbacks.md","metadata":{"type":"markdown"},"label":"Registering Callbacks","link":"/guides/registering_callbacks","routeSlug":"/guides/registering_callbacks"}],"expanded":"true"},{"type":"group","fsPath":"apis/onward.yaml","link":"/apis/onward","routeSlug":"/apis/onward","label":"API Reference","items":[{"type":"group","label":"Customers","link":"/apis/onward/customers","routeSlug":"/apis/onward/customers","items":[{"label":"Create a customer","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/customers/createcustomer","routeSlug":"/apis/onward/customers/createcustomer","metadata":{"seo":{"title":"Create a customer","description":"Creates a customer so you can open a reward for them before they have ever ordered. shop_customer_id is required, along with at least one of first_name, last_name, email or phone_number. The orders Onward later ingests for that customer update this same record instead of creating another."}},"httpPath":"/customers"},{"label":"Read a customer and their rewards","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/customers/getcustomerrewards","routeSlug":"/apis/onward/customers/getcustomerrewards","metadata":{"seo":{"title":"Read a customer and their rewards","description":"Returns the customer together with every reward they hold. rewards is an array so a customer can hold multiple independent rewards in future; today it holds at most one, and a customer with no reward returns [] rather than an error. shop_reward_id is null when there is no discount to address the reward by. A 404 means the customer does not exist."}},"httpPath":"/customers/{shopCustomerId}"}]},{"type":"group","label":"Orders","link":"/apis/onward/orders","routeSlug":"/apis/onward/orders","items":[{"label":"List orders","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/orders/listorders","routeSlug":"/apis/onward/orders/listorders","metadata":{"seo":{"title":"List orders","description":"Paginate through your orders, most-recent first. Use cursor for keyset pagination and optionally filter by the order's created_at with created_after and created_before."}},"httpPath":"/orders"},{"label":"Create an order","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/orders/createorder","routeSlug":"/apis/onward/orders/createorder","metadata":{"seo":{"title":"Create an order","description":"When a customer places an order in your e-comm platform, create that order with its details in Onward."}},"httpPath":"/orders"},{"label":"Update an order","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/orders/updateorder","routeSlug":"/apis/onward/orders/updateorder","metadata":{"seo":{"title":"Update an order","description":"When order details change in your e-comm platform, update the order in Onward."}},"httpPath":"/orders/{shopOrderId}"},{"label":"Mark an order's protection as refunded","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/orders/refundprotection","routeSlug":"/apis/onward/orders/refundprotection","metadata":{"seo":{"title":"Mark an order's protection as refunded","description":"When you refund the customer for the protection amount in your e-comm platform, update the order's protection status in Onward."}},"httpPath":"/orders/{shopOrderId}/refund_protection"},{"label":"Add protection to an existing order","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/orders/addprotection","routeSlug":"/apis/onward/orders/addprotection","metadata":{"seo":{"title":"Add protection to an existing order","description":"If the customer did not purchase protection during checkout, you can merchant-protect an order after-the-fact with this endpoint. Note: it is very important that you verify the status code of this request as not every order is eligible for protection."}},"httpPath":"/orders/{shopOrderId}/add_protection"}]},{"type":"group","label":"Shipments","link":"/apis/onward/shipments","routeSlug":"/apis/onward/shipments","items":[{"label":"Create a shipment","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/shipments/createshipment","routeSlug":"/apis/onward/shipments/createshipment","metadata":{"seo":{"title":"Create a shipment","description":"When a you ship items for an order, create that shipment in Onward."}},"httpPath":"/shipments"},{"label":"Update a shipment","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/shipments/updateshipment","routeSlug":"/apis/onward/shipments/updateshipment","metadata":{"seo":{"title":"Update a shipment","description":"When shipment details change in your e-comm platform, update the shipment in Onward."}},"httpPath":"/shipments/{shopShipmentId}"},{"label":"Create a shipment event","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/shipments/createshipmentevent","routeSlug":"/apis/onward/shipments/createshipmentevent","metadata":{"seo":{"title":"Create a shipment event","description":"When a shipment status changes (e.g. it is shipped or out for delivery), notify Onward of that event."}},"httpPath":"/shipments/{shopShipmentId}/events"}]},{"type":"group","label":"Quotes","link":"/apis/onward/quotes","routeSlug":"/apis/onward/quotes","items":[{"label":"Get a protection quote","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/quotes/createquote","routeSlug":"/apis/onward/quotes/createquote","metadata":{"seo":{"title":"Get a protection quote","description":"During check out, get the protection quote amount for the cart and add that amount to the order."}},"httpPath":"/quotes"}]},{"type":"group","label":"Claims","link":"/apis/onward/claims","routeSlug":"/apis/onward/claims","items":[{"label":"List claims","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/claims/listclaims","routeSlug":"/apis/onward/claims/listclaims","metadata":{"seo":{"title":"List claims","description":"Paginate through your claims, most-recent first. Use cursor for keyset pagination and optionally filter by the claim's created_at with created_after and created_before."}},"httpPath":"/claims"}]},{"type":"group","label":"Rewards","link":"/apis/onward/rewards","routeSlug":"/apis/onward/rewards","items":[{"label":"Create a customer's reward, with its opening entry","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/rewards/createcustomerreward","routeSlug":"/apis/onward/rewards/createcustomerreward","metadata":{"seo":{"title":"Create a customer's reward, with its opening entry","description":"A reward cannot be opened empty — the discount is created from the balance, and a zero balance produces an already-expired code — so the reward is opened together with its first entry. The customer must already exist; an unknown customer returns 404. Create them with POST /customers and retry."}},"httpPath":"/customers/{shopCustomerId}/rewards"},{"label":"Add or reverse an entry","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/rewards/createrewardtransaction","routeSlug":"/apis/onward/rewards/createrewardtransaction","metadata":{"seo":{"title":"Add or reverse an entry","description":"There is no type or direction field. A positive amount issues credit and a negative one reverses credit previously issued; issues_at decides whether it is spendable now or later. Redemption is never posted through this API — Onward owns it through the discount code — so classification is derived on our side and returned for information only."}},"httpPath":"/rewards/{shopRewardId}/transactions"},{"label":"Read entry history","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/rewards/listrewardtransactions","routeSlug":"/apis/onward/rewards/listrewardtransactions","metadata":{"seo":{"title":"Read entry history","description":"Entries come back newest first against an exclusive cursor. Page size is fixed at 50 and cursor is the only accepted parameter. next_cursor carries a value only when the page is full; otherwise it is null, which is how you know you have reached the end. This means a full-but-final page returns a non-null cursor whose follow-up page is empty. A non-positive cursor returns 400."}},"httpPath":"/rewards/{shopRewardId}/transactions"},{"label":"Read a single entry","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/rewards/getrewardtransaction","routeSlug":"/apis/onward/rewards/getrewardtransaction","metadata":{"seo":{"title":"Read a single entry","description":"Returns one entry in the full representation, identical to the create response. Only entries you sent are addressable here — entries Onward issued itself have no shop_transaction_id."}},"httpPath":"/rewards/{shopRewardId}/transactions/{shopTransactionId}"}]},{"type":"group","label":"Shop","link":"/apis/onward/shop","routeSlug":"/apis/onward/shop","items":[{"label":"Read the shop for your API key","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/shop/getshop","routeSlug":"/apis/onward/shop/getshop","metadata":{"seo":{"title":"Read the shop for your API key","description":"Returns the shop your API key belongs to. Use it to confirm a key is valid and belongs to the shop you expect before you store it. A 401 means the key is not valid."}},"httpPath":"/shop"}]},{"type":"group","label":"Tracking","link":"/apis/onward/tracking","routeSlug":"/apis/onward/tracking","items":[{"label":"Get order details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/tracking/getorder","routeSlug":"/apis/onward/tracking/getorder","metadata":{"seo":{"title":"Get order details","description":"Retrieves order details including packages, line items, and tracking information."}},"httpPath":"/api/order"},{"label":"Poll package enrichment status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/onward/tracking/getorderenrichmentstatus","routeSlug":"/apis/onward/tracking/getorderenrichmentstatus","metadata":{"seo":{"title":"Poll package enrichment status","description":"Lightweight poll target for clients waiting on Onward to finish fetching carrier tracking data. Returns the enrichment_status of each package on the order plus an all_settled flag, without the full order payload."}},"httpPath":"/api/order/enrichment_status"}]}],"metadata":{"type":"openapi","title":"Onward API","version":"1.0.0"}},{"type":"group","fsPath":"apis/callbacks.yaml","link":"/apis/callbacks","routeSlug":"/apis/callbacks","label":"Callbacks API","items":[{"label":"Refund an order","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/callbacks/other/refundorder","routeSlug":"/apis/callbacks/other/refundorder","metadata":{"seo":{"title":"Refund an order","description":"Onward is requesting a refund of products for the specified Order in your platform. The onward_refundable object identifies the record that triggered the refund (for example, a Claim)."}},"httpPath":"/orders/{shopOrderId}/refund"},{"label":"Refund an order's protection","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/callbacks/other/refundorderprotection","routeSlug":"/apis/callbacks/other/refundorderprotection","metadata":{"seo":{"title":"Refund an order's protection","description":"Onward is requesting a refund of the Onward protection premium for the specified Order in your platform, for example when a customer opts out of protection."}},"httpPath":"/orders/{shopOrderId}/refund_protection"},{"label":"Reorder items","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/callbacks/other/reorderorder","routeSlug":"/apis/callbacks/other/reorderorder","metadata":{"seo":{"title":"Reorder items","description":"Onward is requesting a reorder of products for the Order in your platform.In addition to replying with shop_order_id & shop_order_number you also need to send the order in the regular channel (POST /orders)."}},"httpPath":"/orders/{shopOrderId}/reorder"},{"label":"Issue store credit","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/callbacks/other/issuestorecredit","routeSlug":"/apis/callbacks/other/issuestorecredit","metadata":{"seo":{"title":"Issue store credit","description":"Onward is requesting store credit to be issued for a specific Order in your platform."}},"httpPath":"/orders/{shopOrderId}/store_credit"},{"label":"Issue a reward","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/callbacks/other/issuereward","routeSlug":"/apis/callbacks/other/issuereward","metadata":{"seo":{"title":"Issue a reward","description":"Onward is requesting a reward to be issued for the specified Customer in your platform, for example when an order earns cashback. One request is sent per credit."}},"httpPath":"/customers/{shopCustomerId}/reward"}],"metadata":{"type":"openapi","title":"Callbacks","version":"1.0.0","description":"Onward calls these endpoints in your system to issue order refunds, reorders, store credit, protection refunds, and loyalty rewards. Events on our side trigger them, such as resolving a claim, a customer opting out of protection, or cashback being earned on an order. Register your callback URL in our system and respond to the requests described below."}},{"type":"group","label":"SDKs","items":[{"type":"group","label":"Shopify Storefront SDK","items":[{"type":"link","fsPath":"shopify_storefront_sdk/onward_setup/classes/OnwardSetup.md","metadata":{"type":"markdown"},"label":"OnwardSetup","link":"/shopify_storefront_sdk/onward_setup/classes/onwardsetup","routeSlug":"/shopify_storefront_sdk/onward_setup/classes/onwardsetup"},{"type":"link","fsPath":"shopify_storefront_sdk/protection_calculator/classes/ProtectionCalculator.md","metadata":{"type":"markdown"},"label":"ProtectionCalculator","link":"/shopify_storefront_sdk/protection_calculator/classes/protectioncalculator","routeSlug":"/shopify_storefront_sdk/protection_calculator/classes/protectioncalculator"},{"type":"link","fsPath":"shopify_storefront_sdk/storefront_client/interfaces/StorefrontClient.md","metadata":{"type":"markdown"},"label":"StorefrontClient","link":"/shopify_storefront_sdk/storefront_client/interfaces/storefrontclient","routeSlug":"/shopify_storefront_sdk/storefront_client/interfaces/storefrontclient"},{"type":"link","fsPath":"shopify_storefront_sdk/initialization/functions/initializeOnward.md","metadata":{"type":"markdown"},"label":"initializeOnward()","link":"/shopify_storefront_sdk/initialization/functions/initializeonward","routeSlug":"/shopify_storefront_sdk/initialization/functions/initializeonward"}]}]},{"type":"group","fsPath":"apis/memberships.yaml","link":"/apis/memberships","routeSlug":"/apis/memberships","label":"Memberships API","items":[{"type":"separator","label":"Admin"},{"type":"group","label":"Members","link":"/apis/memberships/admin-members","routeSlug":"/apis/memberships/admin-members","items":[{"label":"List members","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-members/get_admin_members","routeSlug":"/apis/memberships/admin-members/get_admin_members","metadata":{"seo":{"title":"List members","description":"Returns all members for a given merchant. Merchant is pulled from the public API key for security reasons.Pagination is supported by passing limit and lastCustomerId values as query parameters. You will get a lastCustomerId value in the response of the previous request, which can be used for the next."}},"httpPath":"/v2.0/admin/members"},{"label":"Create a free-tier member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-members/create_admin_members","routeSlug":"/apis/memberships/admin-members/create_admin_members","metadata":{"seo":{"title":"Create a free-tier member","description":"This endpoint is used to create a free tier member. You can also provide a credit value to add credits to the new members account.The overrideSpendThreshold parameter allows you to add customers to a spend based tier, and the keepInSpendBasedTier parameterensures that the member won't be downgraded if they don't hit the spend minimum.NOTE: This endpoint will downgrade a customer specified to a lower tier if that is the tier provided to the endpoint!"}},"httpPath":"/v2.0/admin/members"},{"label":"Get a member","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-members/get_admin_members_byid","routeSlug":"/apis/memberships/admin-members/get_admin_members_byid","metadata":{"seo":{"title":"Get a member","description":"Returns a single member for a given merchant. Merchant is pulled from the public API key for security reasons."}},"httpPath":"/v2.0/admin/members/{id}"},{"label":"Update a member","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-members/update_admin_members_byid","routeSlug":"/apis/memberships/admin-members/update_admin_members_byid","metadata":{"seo":{"title":"Update a member","description":"This endpoint is used to update a member. It takes a member ID and uses your public API key to match the customer to your account. As of now, all fields in the update schema are required, so it is not possible to update a single field at a time."}},"httpPath":"/v2.0/admin/members/{id}"},{"label":"Change a member's renewal date","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-members/create_admin_members_byid_changerenewaldate","routeSlug":"/apis/memberships/admin-members/create_admin_members_byid_changerenewaldate","metadata":{"seo":{"title":"Change a member's renewal date","description":"This endpoint allows merchants to change the renewal (next billing) dateof a customer's paid subscription. The customer must be an active memberon a paid tier."}},"httpPath":"/v2.0/admin/members/{id}/change-renewal-date"}]},{"type":"group","label":"Credits","link":"/apis/memberships/admin-credits","routeSlug":"/apis/memberships/admin-credits","items":[{"label":"List a member's credits","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-credits/get_admin_members_byid_credits","routeSlug":"/apis/memberships/admin-credits/get_admin_members_byid_credits","metadata":{"seo":{"title":"List a member's credits","description":"Returns all credits for one customer. API key is used to match the customer to your account for security reasons. Ensure that the customer ID is included in the request path.Pagination is supported by passing limit and lastCreditEntry values as query parameters. You will get a lastCreditEntry value in the response of the previous request, which can be used for the next. Ensure that the lastCreditEntry value passed to the server is  encoded."}},"httpPath":"/v2.0/admin/members/{id}/credits"},{"label":"Issue credits to a member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-credits/create_admin_members_byid_credits","routeSlug":"/apis/memberships/admin-credits/create_admin_members_byid_credits","metadata":{"seo":{"title":"Issue credits to a member","description":"This method forwards the credit creation request to our backend. Returns the success status of the request against backend service. Like the other endpoints that make requests against our backend, the changes may not take effect immediately."}},"httpPath":"/v2.0/admin/members/{id}/credits"},{"label":"Update a credit's expiration date","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-credits/update_admin_members_byid_credits_expiration","routeSlug":"/apis/memberships/admin-credits/update_admin_members_byid_credits_expiration","metadata":{"seo":{"title":"Update a credit's expiration date","description":"Changes the expiration date of a single credit ledger entry. The entry is identified by its sk(in the form ${customerId}#${timestamp}). The new expiration date is rounded down to the topof the hour and must be more than 1 hour in the future; the entry's current expiration mustalso be more than 1 hour away. If the customer has an active redemption code whose end date isafter the new expiration date, the request is rejected. This forwards to our backend."}},"httpPath":"/v2.0/admin/members/{id}/credits/expiration"}]},{"type":"group","label":"Cancellation","link":"/apis/memberships/admin-cancellation","routeSlug":"/apis/memberships/admin-cancellation","items":[{"label":"Request a membership cancellation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-cancellation/create_admin_members_byid_cancellation","routeSlug":"/apis/memberships/admin-cancellation/create_admin_members_byid_cancellation","metadata":{"seo":{"title":"Request a membership cancellation","description":"Request a membership cancellation"}},"httpPath":"/v2.0/admin/members/{id}/cancellation"}]},{"type":"group","label":"Reactivation","link":"/apis/memberships/admin-reactivation","routeSlug":"/apis/memberships/admin-reactivation","items":[{"label":"Reactivate a membership","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-reactivation/create_admin_members_byid_reactivation","routeSlug":"/apis/memberships/admin-reactivation/create_admin_members_byid_reactivation","metadata":{"seo":{"title":"Reactivate a membership","description":"Reactivate a membership"}},"httpPath":"/v2.0/admin/members/{id}/reactivation"}]},{"type":"group","label":"Tiers","link":"/apis/memberships/admin-tiers","routeSlug":"/apis/memberships/admin-tiers","items":[{"label":"Get a member's periodic spend","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/get_admin_members_byid_sbt","routeSlug":"/apis/memberships/admin-tiers/get_admin_members_byid_sbt","metadata":{"seo":{"title":"Get a member's periodic spend","description":"Returns a single customers periodic spend. Includes monthly, quarterly, semi-annual, annual, and all-time spend.If the data field in the return body is undefined, the customer has no eligible SBT spend history (or the customer does not exist).You can use this endpoint to track a customers progress towards the next tier."}},"httpPath":"/v2.0/admin/members/{id}/sbt"},{"label":"List tiers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/get_admin_tiers","routeSlug":"/apis/memberships/admin-tiers/get_admin_tiers","metadata":{"seo":{"title":"List tiers","description":"Returns all tiers/segments for a given merchant. Merchant is pulled from the public API key for security reasons."}},"httpPath":"/v2.0/admin/tiers"},{"label":"Get a tier","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/get_admin_tiers_byid","routeSlug":"/apis/memberships/admin-tiers/get_admin_tiers_byid","metadata":{"seo":{"title":"Get a tier","description":"Returns a single tier/segment for a given merchant. Merchant is pulled from the public API key for security reasons."}},"httpPath":"/v2.0/admin/tiers/{id}"},{"label":"List a tier's benefits","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/get_admin_tiers_byid_benefits","routeSlug":"/apis/memberships/admin-tiers/get_admin_tiers_byid_benefits","metadata":{"seo":{"title":"List a tier's benefits","description":"This endpoint will return all benefits for a merchant under a given tier. It will return an array of benefits. Each benefit will have a type field that will identify the type of benefit."}},"httpPath":"/v2.0/admin/tiers/{id}/benefits"},{"label":"Get a tier's benefit","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/get_admin_tiers_byid_benefits_bytype","routeSlug":"/apis/memberships/admin-tiers/get_admin_tiers_byid_benefits_bytype","metadata":{"seo":{"title":"Get a tier's benefit","description":"This endpoint will return one specific benefit given a benefit type and segment ID. Note that the benefit type is a string character. For a list of all benefit types, look at the default type value in each schema."}},"httpPath":"/v2.0/admin/tiers/{id}/benefits/{type}"},{"label":"Update a tier's benefit","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/update_admin_tiers_byid_benefits_bytype","routeSlug":"/apis/memberships/admin-tiers/update_admin_tiers_byid_benefits_bytype","metadata":{"seo":{"title":"Update a tier's benefit","description":"This endpoint will take a benefit type, segment ID, and any other values in the relevant schema and send a request to our backend to update the benefit with the new information. Keep in mind that, like with the POST method, this is a request against our backend. Thus, the effect will not be immediate."}},"httpPath":"/v2.0/admin/tiers/{id}/benefits/{type}"},{"label":"List a tier's campaigns","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-tiers/get_admin_tiers_byid_campaigns","routeSlug":"/apis/memberships/admin-tiers/get_admin_tiers_byid_campaigns","metadata":{"seo":{"title":"List a tier's campaigns","description":"Returns all campaigns belonging to a specific Tier identified by its segmentId"}},"httpPath":"/v2.0/admin/tiers/{id}/campaigns"}]},{"type":"group","label":"Change Tier","link":"/apis/memberships/admin-change-tier","routeSlug":"/apis/memberships/admin-change-tier","items":[{"label":"Change a member's tier","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-change-tier/create_admin_members_byid_changetier","routeSlug":"/apis/memberships/admin-change-tier/create_admin_members_byid_changetier","metadata":{"seo":{"title":"Change a member's tier","description":"This endpoint allows merchants to upgrade or downgrade a customer by specifying a new tierId."}},"httpPath":"/v2.0/admin/members/{id}/change-tier"}]},{"type":"group","label":"Benefits","link":"/apis/memberships/admin-benefits","routeSlug":"/apis/memberships/admin-benefits","items":[{"label":"List benefits","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-benefits/get_admin_benefits","routeSlug":"/apis/memberships/admin-benefits/get_admin_benefits","metadata":{"seo":{"title":"List benefits","description":"This endpoint will return all benefits for a merchant. It will return an array of benefits. Each benefit will have a type field that will identify the type of benefit."}},"httpPath":"/v2.0/admin/benefits"},{"label":"Get a benefit","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-benefits/get_admin_benefits_bytype","routeSlug":"/apis/memberships/admin-benefits/get_admin_benefits_bytype","metadata":{"seo":{"title":"Get a benefit","description":"This endpoint will return one specific benefit given a benefit type. Note that the benefit type is a string character. For a list of all benefit types, look at the default type value in each schema."}},"httpPath":"/v2.0/admin/benefits/{type}"},{"label":"Update a benefit","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-benefits/update_admin_benefits_bytype","routeSlug":"/apis/memberships/admin-benefits/update_admin_benefits_bytype","metadata":{"seo":{"title":"Update a benefit","description":"This endpoint will take a benefit type and any other values in the relevant schema and send a request to our backend to update the benefit with the new information. Keep in mind that, like with the POST method, this is a request against our backend. Thus, the effect will not be immediate."}},"httpPath":"/v2.0/admin/benefits/{type}"}]},{"type":"group","label":"Merchant","link":"/apis/memberships/admin-merchant","routeSlug":"/apis/memberships/admin-merchant","items":[{"label":"Get merchant settings","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-merchant/get_admin_merchant","routeSlug":"/apis/memberships/admin-merchant/get_admin_merchant","metadata":{"seo":{"title":"Get merchant settings","description":"Returns all internal merchant information associated with the API key."}},"httpPath":"/v2.0/admin/merchant"},{"label":"Update merchant settings","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-merchant/update_admin_merchant","routeSlug":"/apis/memberships/admin-merchant/update_admin_merchant","metadata":{"seo":{"title":"Update merchant settings","description":"Updates specific merchant settings, based on the provided fields. Fields not provided will not be updated."}},"httpPath":"/v2.0/admin/merchant"}]},{"type":"group","label":"Webhooks","link":"/apis/memberships/admin-webhooks","routeSlug":"/apis/memberships/admin-webhooks","items":[{"label":"Register a webhook","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/create_admin_webhooks","routeSlug":"/apis/memberships/admin-webhooks/create_admin_webhooks","metadata":{"seo":{"title":"Register a webhook","description":"Generates a security token and places an entry with the token and the callback URL in our backend. The token is used to verify that the request is coming from Inveterate within your app, when the callback URL is triggered. Ensure that you save the token.The callback URL will be triggered when one of the following events occurs:"}},"httpPath":"/v2.0/admin/webhooks"},{"label":"List webhooks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/get_admin_webhooks","routeSlug":"/apis/memberships/admin-webhooks/get_admin_webhooks","metadata":{"seo":{"title":"List webhooks","description":"Returns all webhooks for a given merchant. Merchant is pulled from the public API key for security reasons."}},"httpPath":"/v2.0/admin/webhooks"},{"label":"Delete a webhook","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/delete_admin_webhooks","routeSlug":"/apis/memberships/admin-webhooks/delete_admin_webhooks","metadata":{"seo":{"title":"Delete a webhook","description":"Deletes a webhook for a given merchant. Merchant is pulled from the public API key for security reasons. The effects of this method are both immediate (data deleted from webhooks database) and eventual (request against backend service to confirm webhook deletion)."}},"httpPath":"/v2.0/admin/webhooks"},{"label":"Create a webhook subscription","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/create_admin_webhooksubscriptions","routeSlug":"/apis/memberships/admin-webhooks/create_admin_webhooksubscriptions","metadata":{"seo":{"title":"Create a webhook subscription","description":"Creates a new webhook subscription for the merchant"}},"httpPath":"/v2.0/admin/webhook-subscriptions"},{"label":"Delete a webhook subscription","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/delete_admin_webhooksubscriptions","routeSlug":"/apis/memberships/admin-webhooks/delete_admin_webhooksubscriptions","metadata":{"seo":{"title":"Delete a webhook subscription","description":"Removes an existing webhook subscription"}},"httpPath":"/v2.0/admin/webhook-subscriptions"},{"label":"Update a webhook subscription","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/update_admin_webhooksubscriptions","routeSlug":"/apis/memberships/admin-webhooks/update_admin_webhooksubscriptions","metadata":{"seo":{"title":"Update a webhook subscription","description":"Updates an existing webhook subscription configuration"}},"httpPath":"/v2.0/admin/webhook-subscriptions"},{"label":"List webhook subscriptions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/admin-webhooks/get_admin_webhooksubscriptions","routeSlug":"/apis/memberships/admin-webhooks/get_admin_webhooksubscriptions","metadata":{"seo":{"title":"List webhook subscriptions","description":"Returns all webhook subscriptions for the merchant"}},"httpPath":"/v2.0/admin/webhook-subscriptions"}]},{"type":"separator","label":"Storefront"},{"type":"group","label":"Authentication","link":"/apis/memberships/storefront-authentication","routeSlug":"/apis/memberships/storefront-authentication","items":[{"label":"Authenticate a member","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-authentication/create_storefront_auth","routeSlug":"/apis/memberships/storefront-authentication/create_storefront_auth","metadata":{"seo":{"title":"Authenticate a member","description":"Authenticates a user and returns a JWT token. This token is used to authenticate the user for all other storefront requests. JWTs expire after 2 hours."}},"httpPath":"/v2.0/storefront/auth"}]},{"type":"group","label":"Members","link":"/apis/memberships/storefront-members","routeSlug":"/apis/memberships/storefront-members","items":[{"label":"Get a member","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-members/get_storefront_members_byid","routeSlug":"/apis/memberships/storefront-members/get_storefront_members_byid","metadata":{"seo":{"title":"Get a member","description":"Returns all member data for a given member that is a part of your store. Merchant is pulled from the public API key for security reasons. Make sure to include the customer ID in the request path."}},"httpPath":"/v2.0/storefront/members/{id}"}]},{"type":"group","label":"Credits","link":"/apis/memberships/storefront-credits","routeSlug":"/apis/memberships/storefront-credits","items":[{"label":"List a member's credits","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-credits/get_storefront_members_byid_credits","routeSlug":"/apis/memberships/storefront-credits/get_storefront_members_byid_credits","metadata":{"seo":{"title":"List a member's credits","description":"Returns all credits for one customer. API key is used to match the customer to your account for security reasons. Ensure that the customer ID is included in the request path."}},"httpPath":"/v2.0/storefront/members/{id}/credits"}]},{"type":"group","label":"Redemption","link":"/apis/memberships/storefront-redemption","routeSlug":"/apis/memberships/storefront-redemption","items":[{"label":"Redeem credits","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-redemption/create_storefront_members_byid_credits_redemption","routeSlug":"/apis/memberships/storefront-redemption/create_storefront_members_byid_credits_redemption","metadata":{"seo":{"title":"Redeem credits","description":"Forwards a redemption request to the Inveterate backend. Returns the success status of the request against the backend service. Like the other endpoints that make requests against our backend, the changes may not take effect immediately."}},"httpPath":"/v2.0/storefront/members/{id}/credits/redemption"}]},{"type":"group","label":"Cancellation","link":"/apis/memberships/storefront-cancellation","routeSlug":"/apis/memberships/storefront-cancellation","items":[{"label":"Request a membership cancellation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-cancellation/create_storefront_members_byid_cancellation","routeSlug":"/apis/memberships/storefront-cancellation/create_storefront_members_byid_cancellation","metadata":{"seo":{"title":"Request a membership cancellation","description":"This method forwards the cancellation creation request to our backend. Returns the success status of the request against backend service. Like the other endpoints that make requests against our backend, the changes may not take effect immediately."}},"httpPath":"/v2.0/storefront/members/{id}/cancellation"}]},{"type":"group","label":"Payment Method","link":"/apis/memberships/storefront-payment-method","routeSlug":"/apis/memberships/storefront-payment-method","items":[{"label":"Update a member's payment method","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-payment-method/update_storefront_members_byid_paymentmethod","routeSlug":"/apis/memberships/storefront-payment-method/update_storefront_members_byid_paymentmethod","metadata":{"seo":{"title":"Update a member's payment method","description":"Update a member's payment method"}},"httpPath":"/v2.0/storefront/members/{id}/payment-method"}]},{"type":"group","label":"Benefits","link":"/apis/memberships/storefront-benefits","routeSlug":"/apis/memberships/storefront-benefits","items":[{"label":"List benefits","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-benefits/get_storefront_benefits","routeSlug":"/apis/memberships/storefront-benefits/get_storefront_benefits","metadata":{"seo":{"title":"List benefits","description":"Returns all benefits for a given merchant. Merchant is pulled from the public API key for security reasons."}},"httpPath":"/v2.0/storefront/benefits"},{"label":"Get a benefit","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-benefits/get_storefront_benefits_byid","routeSlug":"/apis/memberships/storefront-benefits/get_storefront_benefits_byid","metadata":{"seo":{"title":"Get a benefit","description":"Returns a single benefit for a given merchant. Merchant is pulled from the public API key for security reasons. The benefit ID is the type of benefit. For a list of possible benefit types, see the default values in the schema list."}},"httpPath":"/v2.0/storefront/benefits/{id}"}]},{"type":"group","label":"Tiers","link":"/apis/memberships/storefront-tiers","routeSlug":"/apis/memberships/storefront-tiers","items":[{"label":"Get a tier","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-tiers/get_storefront_tiers_byid","routeSlug":"/apis/memberships/storefront-tiers/get_storefront_tiers_byid","metadata":{"seo":{"title":"Get a tier","description":"Returns a single tier/segment for a given merchant and customer. Merchant is pulled from the public API key for security reasons."}},"httpPath":"/v2.0/storefront/tiers/{id}"},{"label":"List a tier's benefits","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-tiers/get_storefront_tiers_byid_benefits","routeSlug":"/apis/memberships/storefront-tiers/get_storefront_tiers_byid_benefits","metadata":{"seo":{"title":"List a tier's benefits","description":"This endpoint will return all benefits for a merchant under a given tier. It will return an array of benefits. Each benefit will have a type field that will identify the type of benefit."}},"httpPath":"/v2.0/storefront/tiers/{id}/benefits"},{"label":"List a tier's campaigns","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/memberships/storefront-tiers/get_storefront_tiers_byid_campaigns","routeSlug":"/apis/memberships/storefront-tiers/get_storefront_tiers_byid_campaigns","metadata":{"seo":{"title":"List a tier's campaigns","description":"Returns all campaigns belonging to the Tier the customer belongs to (customer identified with customerId parameter)"}},"httpPath":"/v2.0/storefront/tiers/{id}/campaigns"}]}],"metadata":{"type":"openapi","title":"Memberships API","version":"2.0.0","description":"The Memberships API powers membership, credits, tiers, and benefits for your storefront. It exposes two families of endpoints: **Admin** endpoints for managing members, benefits, tiers, merchant settings, and webhooks server-to-server; and **Storefront** endpoints for member-facing experiences such as authentication, viewing credits, and redemptions.\n\nAuthenticate every request with your private API key in the `X-Inveterate-Api-Key` header (see the security scheme below). The same key authenticates both Admin and Storefront endpoints."}},{"type":"separator","separatorLine":true},{"type":"group","label":"Misc","items":[{"type":"link","fsPath":"topics/rate_limits.md","metadata":{"type":"markdown"},"label":"Rate Limits","link":"/topics/rate_limits","routeSlug":"/topics/rate_limits"},{"type":"link","fsPath":"topics/data_usage_and_compliance.md","metadata":{"type":"markdown"},"label":"Data Usage & Compliance","link":"/topics/data_usage_and_compliance","routeSlug":"/topics/data_usage_and_compliance"},{"type":"link","link":"https://useonward.statuspage.io/","label":"Platform Status","external":true}]}]}