--- sidebar_position: 0 --- # Go Live: Price, Activate, and Verify Getting a SKU sellable on noon takes three moves across two APIs: set a price, activate it, and confirm it went live. This page is the map — it shows the whole path end to end and links to the guide for each step. It doesn't repeat the request-level detail; follow the linked guide when you're ready to make each call. ## How it works A SKU becomes live for a country only after two things are true: it has a price, and it is activated. You set both with `BatchUpsertPricing`, confirm them with `BatchGetPricing`, and verify the customer-facing result with the Offer API's `GetProductOffers`. ```mermaid sequenceDiagram participant You participant Pricing as Pricing API participant Offer as Offer API You->>Pricing: BatchUpsertPricing (price, msrp, is_active=true) Pricing-->>You: per-item status You->>Pricing: BatchGetPricing (partner_sku, country_code) Pricing-->>You: price, msrp, is_active alt price set and is_active = true You->>Offer: GetProductOffers (partner_sku) Offer-->>You: live_status, offer_issues per country alt live_status = true Note over You,Offer: SKU is live to customers else live_status = false Note over You,Offer: Inspect offer_issues, fix, re-verify end else price missing or is_active = false You->>Pricing: BatchUpsertPricing (correct the missing field) end ``` **Why two systems are involved:** the Pricing API owns what you set — your price, MSRP, and activation flag. The Offer API owns the result — whether the offer is actually visible to customers. A SKU can be priced and active in Pricing and still not be live, because other factors (such as stock) also gate visibility. You confirm intent in Pricing and confirm reality in Offer. **Go-live gates — all must be true for a SKU to be live in a country:** | Gate | What it means | Where you see it | |---|---|---| | Price set | A selling `price` is configured for the SKU and country | `BatchGetPricing` → `price` is non-null | | Activated | You have switched the SKU on for sale | `BatchGetPricing` → `is_active` is `true` | | Live | The offer is actually visible to customers | `GetProductOffers` → `live_status` is `true` | `is_active` reflects the activation state you set; `live_status` reflects actual visibility of the offer to customers. An active, priced SKU may still not be live — when that happens, `offer_issues` tells you why. ## The path to live Each step has its own guide with the full request, response, and error handling. Follow them in order: 1. **Set a price and activate** — send a `price` (and `is_active: true`) with `BatchUpsertPricing`. A single call sets both; only the fields you send are changed. See [Set prices][pricing-set-prices] and [Activate a product][pricing-activate-product]. 2. **Confirm it stuck** — read the values back with `BatchGetPricing` to check `price` is non-null and `is_active` is `true` before you check visibility. See [Read prices][pricing-read-prices]. 3. **Verify it's live** — call `GetProductOffers`. `live_status: true` means the SKU is visible to customers; if it's `false`, `offer_issues` explains why (a common cause for a priced, active SKU is no stock). See the [Offer overview][offer-intro] and [Offer Quickstart][offer-quickstart]. ## Next steps - [Set prices][pricing-set-prices] — pricing and MSRP field rules, batching across countries - [Activate a product][pricing-activate-product] — the `is_active` flag, activating and deactivating - [Read prices][pricing-read-prices] — reading current price, MSRP, and activation back - [Offer overview][offer-intro] — `live_status`, `offer_issues`, and customer-facing visibility