v1

latestOpenAPI 3.0.32026-07-26120117318.1 KB
Products

Patch a product

Partially updates a product. Only the submitted fields are updated — omitted fields remain unchanged.

patch/products/{uid}

Path parameters

uidstring required

Qonversion product UID

Request body

type0 | 1 | 2 | 3

Product type: 0 = Subscription With Promo Period, 1 = Regular Subscription, 2 = Non-Recurring (Consumable), 3 = Non-Consumable (Lifetime)

apple_product_idstring
google_product_idstring
google_base_plan_idstring
stripe_product_idstring
duration0 | 1 | 2 | 3 | 4

Response

Product patched

uidstring

Unique identifier of the Qonversion product

project_idinteger

Numeric ID of the Qonversion project owning this product

type0 | 1 | 2 | 3

Product type:

  • 0 = Subscription With Promo Period
  • 1 = Regular Subscription
  • 2 = Non-Recurring (Consumable)
  • 3 = Non-Consumable (Lifetime)
apple_product_idstring

Product identifier in App Store Connect

google_product_idstring

Product identifier in Google Play Console

google_base_plan_idstring

Base plan identifier in Google Play Console

stripe_product_idstring

Product identifier in Stripe

duration0 | 1 | 2 | 3 | 4

Duration: 0 = Weekly, 1 = Monthly, 2 = Three Monthly, 3 = Six Monthly, 4 = Annual

subscription_duration'P1W' | 'P1M' | 'P3M' | 'P6M' | 'P1Y'

ISO 8601 subscription duration string derived from duration. Server-computed: P1W for Weekly, P1M for Monthly, P3M for Three Monthly, P6M for Six Monthly, P1Y for Annual. Present only for subscription products (type 0 or 1).

created_atinteger

Creation timestamp (Unix seconds)

updated_atinteger

Last-update timestamp (Unix seconds)

Example response

{
  "uid": "premium_monthly",
  "project_id": 12345,
  "type": 1,
  "apple_product_id": "com.app.premium_monthly",
  "google_product_id": "com.app.premium_monthly",
  "google_base_plan_id": "monthly-base",
  "stripe_product_id": "prod_abc123",
  "duration": 1,
  "subscription_duration": "P1M",
  "created_at": 1665669916,
  "updated_at": 1665669916
}