Skip to main content

asc subscriptions

Manage auto-renewable subscriptions, pricing, and introductory offers.

Overview

The subscriptions command group includes:

  • list - View subscription groups and products
  • pricing - Set and view prices (detailed docs)
  • offers - Manage introductory offers (detailed docs)

Commands

list

List subscription groups and subscriptions for an app.

asc subscriptions list <bundle-id>

Arguments:

  • bundle-id - The app's bundle identifier

Options:

OptionShortDescription
--output-oOutput format: table, json, yaml
--verbose-vShow additional details

Examples:

# List subscriptions
asc subscriptions list live.yooz.whisper

# Verbose output with pricing
asc subscriptions list live.yooz.whisper --verbose

# JSON for scripting
asc subscriptions list live.yooz.whisper --output json

Output:

Group: Premium Features (ID: 123456)
└── live.yooz.whisper.pro.monthly (READY_TO_SUBMIT) - $2.99/month
└── live.yooz.whisper.pro.yearly (READY_TO_SUBMIT) - $29.99/year

Group: Family Plan (ID: 123457)
└── live.yooz.whisper.family.monthly (READY_TO_SUBMIT) - $6.99/month

Pricing Commands

pricing list

List current pricing for a subscription.

asc subscriptions pricing list <subscription-id>

Arguments:

  • subscription-id - The subscription's App Store Connect ID

pricing set

Set pricing for a subscription across all territories using Apple's price equalization.

# Set $2.99 pricing for all territories
asc subscriptions pricing set <subscription-id> --price 2.99

# Preview changes without applying
asc subscriptions pricing set <subscription-id> --price 2.99 --dry-run

# Set for specific territories only
asc subscriptions pricing set <subscription-id> --price 2.99 -t USA -t GBR -t DEU

Arguments:

  • subscription-id - The subscription's App Store Connect ID

Options:

  • --price, -p - Base price in USD (required)
  • --equalize/--no-equalize - Use Apple's automatic price equalization (default: true)
  • --dry-run - Preview changes without applying
  • --territory, -t - Specific territories to apply to (can be repeated)

How it works:

  1. Finds the price point in USA matching your USD price
  2. Uses Apple's price equalization API to find equivalent prices for all territories
  3. Creates subscription prices for each territory

Offers Commands

offers list

List introductory offers for a subscription.

asc subscriptions offers list <subscription-id>

offers create

Create an introductory offer for a subscription.

# 2-week free trial for all territories
asc subscriptions offers create <subscription-id> \
--type free-trial \
--duration 2w \
--all

# $1.99/month for 3 months (pay-as-you-go)
asc subscriptions offers create <subscription-id> \
--type pay-as-you-go \
--duration 3m \
--price 1.99 \
--all

# $9.99 for 3 months upfront
asc subscriptions offers create <subscription-id> \
--type pay-up-front \
--duration 3m \
--price 9.99 \
--all

Arguments:

  • subscription-id - The subscription's App Store Connect ID

Options:

  • --type, -t - Offer type: free-trial, pay-as-you-go, pay-up-front (required)
  • --duration, -d - Duration: 3d, 1w, 2w, 1m, 3m, 6m, 1y (required)
  • --price, -p - Offer price in USD (required for paid offers)
  • --all, -a - Apply to all territories
  • --territory - Specific territories (can be repeated)
  • --dry-run - Preview without applying

Offer Types:

TypeDescription
free-trialFree access for the duration
pay-as-you-goDiscounted price per period for multiple periods
pay-up-frontOne-time discounted payment for multiple periods

Duration Format:

FormatDescription
3d3 days
1w1 week
2w2 weeks
1m1 month
3m3 months (3 periods of 1 month for pay-as-you-go)
6m6 months
1y1 year

offers delete

Delete an introductory offer.

asc subscriptions offers delete <offer-id>
asc subscriptions offers delete <offer-id> --force # Skip confirmation

Quick Examples

Complete Subscription Setup

# 1. List subscriptions
asc subscriptions list live.yooz.whisper

# 2. Set pricing
asc subscriptions pricing set SUB_ID --price 2.99

# 3. Add free trial
asc subscriptions offers create SUB_ID --type free-trial --duration 2w --all

# 4. Verify
asc subscriptions list live.yooz.whisper --verbose

For managing multiple subscriptions, use bulk operations:

asc bulk apply subscriptions.yaml

Learn More