Billing Subscriptions

Preview mid-life Path B add-on charge (no DB write)

Validate mid-life add-ons and return invoice line preview without issuance.

Must not call POST /quote / validate_subscribe_bundle (active subscription fails new-subscribe quote). Shares resolve/owned/overlap checks with SubscriptionAddonAddService.add.

post/v1/subscriptions/{subscription_id}/addons/preview

Request

  • Base URL: https://api.xdata.kr (the document declares no server; this is the origin it was published from)
  • URL: https://api.xdata.kr/v1/subscriptions/{subscription_id}/addons/preview
  • Auth: one of:
    • HTTP basic
    • OAuth 2 (authorization code, authorization URL https://api.xdata.kr/oauth/authorize, token URL https://api.xdata.kr/oauth/token)

Path parameters

subscription_idinteger required

Query parameters

env_scope'production' | 'real_test' | 'sandbox' nullable

환경을 고릅니다. 값은 production · real_test · sandbox 중 하나입니다. 경로 접두(/v1/sandbox/... · /v1/test/... · /v1/production/...) · X-Env-Scope 헤더 · env_scope 쿼리 가운데 한 통로로 반드시 보내야 합니다. 빼면 자동으로 채우지 않고 거절하며, 두 통로에 서로 다른 값을 담아도 거절합니다. 거절은 HTTP 422 이고 오류 코드는 VALIDATION_ENV_SCOPE_MISMATCH 입니다.

Headers

Authorizationstring nullable
X-Env-Scope'production' | 'real_test' | 'sandbox' nullable

환경을 고릅니다. 값은 production · real_test · sandbox 중 하나입니다. 경로 접두(/v1/sandbox/... · /v1/test/... · /v1/production/...) · X-Env-Scope 헤더 · env_scope 쿼리 가운데 한 통로로 반드시 보내야 합니다. 빼면 자동으로 채우지 않고 거절하며, 두 통로에 서로 다른 값을 담아도 거절합니다. 거절은 HTTP 422 이고 오류 코드는 VALIDATION_ENV_SCOPE_MISMATCH 입니다.

Request body

organization_idinteger required

구독 소유 조직 PK. 주체 조직과 일치 강제.

addon_product_idsinteger[] required

Purchasable add-on api_products.id list. Must match ACTIVE plan_addon_offers for the subscription plan + env_scope.

Response

Successful Response

organization_idinteger required
plan_idinteger required
env_scope'sandbox' | 'real_test' | 'production' required
subtotal_amount_minorinteger required
tax_amount_minorinteger required
total_amount_minorinteger required
currencystring required
subscription_idinteger nullable

Set for mid-life add-on preview only.

full_chargeboolean nullable

True for mid-life preview: no proration; immediate full charge.

next_billing_atstring date-time nullable

Echo of subscription.next_billing_at (unchanged by mid-life charge).

Changes

No recorded changes to this operation across all 1 revision of this API.