---
title: "Get Upgrade Offer"
method: GET
path: "/iap/upgrade-offer"
tags: ["Upgrade Offers"]
---

# Get Upgrade Offer

`GET /iap/upgrade-offer`

Checks if a user is eligible for a subscription upgrade and returns available upgrade options.

## Query parameters

- `user_id` string, required
- `product_id` string

## Response `200`

Upgrade offer details

- UpgradeOffer — Upgrade offer eligibility and options.
  - `eligible` boolean — Whether the user is eligible for an upgrade.
  - `current_product_id` string — The user's current subscription product ID.
  - `eligible_upgrades` object[] — Products the user can upgrade to.
    - `product_id` string — The upgrade target product's reference ID.
    - `display_name` string — Product display name.
    - `price` Price — A price in micros (1/1,000,000 of the currency unit).
      - `amount_micros` integer — Price in micros. For example, $4.99 = 4990000.
      - `currency_code` string — ISO 4217 currency code (e.g., `USD`).
    - `savings_percent` integer — Percentage savings compared to the current plan (annualized).
  - `variant_id` integer, nullable — Experiment variant ID if the upgrade offer is part of an A/B test.

## Other responses

- `401` — Invalid or missing API key.

---

[API](https://skmtc.net/zerosettle/apis/zerosettle-iap-api.md) · [All operations](https://skmtc.net/zerosettle/apis/zerosettle-iap-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerosettle/zerosettle-iap-api/versions/1a7aa12f3d5e/schema)
