[GH-ISSUE #196] Add App Store Server API diagnostics CLI (subscriptions + notifications) #58

Closed
opened 2026-02-26 21:33:04 +03:00 by kerem · 1 comment
Owner

Originally created by @rudrankriyam on GitHub (Jan 26, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/196

Overview

Diagnostics CLI for App Store Server API subscription/transaction endpoints. This issue is focused on subscription status/history and transaction lookups. Notifications are tracked separately in #195.

Docs

Scope (subscriptions + transactions)

  • Get all subscription statuses
  • Get transaction history
  • Get transaction info
  • Get refund history
  • Look up order ID

Non-goals (out of scope)

  • Notifications endpoints (see #195)
  • Listener / webhook server
  • Local HTTP server or tunneling
  • Background daemon mode

Proposed CLI

Top-level group: asc server [flags]

  • asc server status --transaction-id TX_ID
  • asc server history --transaction-id TX_ID [--revision REV] [--product-type ...]
  • asc server transaction get --id TX_ID
  • asc server refunds --transaction-id TX_ID [--revision REV]
  • asc server order lookup --order-id ORDER_ID

Auth & Config

Requires In-App Purchase key (different from ASC API key):

  • ASC_IAP_KEY_ID
  • ASC_IAP_ISSUER_ID
  • ASC_IAP_PRIVATE_KEY_PATH (or _B64/raw variants)
  • ASC_IAP_BUNDLE_ID
  • ASC_IAP_ENV (SANDBOX|PRODUCTION)

Output

  • JSON (minified) by default
  • --pretty for JSON
  • Table/markdown for summary lists when useful

Acceptance Criteria

  • asc server --help available
  • All commands above work
  • Clear errors for missing IAP credentials
  • Environment selection (SANDBOX/PRODUCTION) affects base URL

Tests

  • CLI validation tests
  • HTTP client tests (mocked) per endpoint
  • Paging tests for history endpoints

Manual Test Plan

  1. Set ASC_IAP_* env vars and ASC_IAP_ENV=SANDBOX
  2. asc server status --transaction-id TX_ID
  3. asc server history --transaction-id TX_ID
  4. asc server transaction get --id TX_ID
  5. asc server refunds --transaction-id TX_ID
  6. asc server order lookup --order-id ORDER_ID
Originally created by @rudrankriyam on GitHub (Jan 26, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/196 # Overview Diagnostics CLI for App Store Server API subscription/transaction endpoints. This issue is focused on subscription status/history and transaction lookups. Notifications are tracked separately in #195. # Docs - App Store Server API (overview): https://developer.apple.com/documentation/appstoreserverapi - Apple server library (endpoint map): https://apple.github.io/app-store-server-library-node/classes/AppStoreServerAPIClient.html # Scope (subscriptions + transactions) - Get all subscription statuses - Get transaction history - Get transaction info - Get refund history - Look up order ID # Non-goals (out of scope) - Notifications endpoints (see #195) - Listener / webhook server - Local HTTP server or tunneling - Background daemon mode # Proposed CLI Top-level group: asc server <subcommand> [flags] - asc server status --transaction-id TX_ID - asc server history --transaction-id TX_ID [--revision REV] [--product-type ...] - asc server transaction get --id TX_ID - asc server refunds --transaction-id TX_ID [--revision REV] - asc server order lookup --order-id ORDER_ID # Auth & Config Requires In-App Purchase key (different from ASC API key): - ASC_IAP_KEY_ID - ASC_IAP_ISSUER_ID - ASC_IAP_PRIVATE_KEY_PATH (or _B64/raw variants) - ASC_IAP_BUNDLE_ID - ASC_IAP_ENV (SANDBOX|PRODUCTION) # Output - JSON (minified) by default - --pretty for JSON - Table/markdown for summary lists when useful # Acceptance Criteria - asc server --help available - All commands above work - Clear errors for missing IAP credentials - Environment selection (SANDBOX/PRODUCTION) affects base URL # Tests - CLI validation tests - HTTP client tests (mocked) per endpoint - Paging tests for history endpoints # Manual Test Plan 1) Set ASC_IAP_* env vars and ASC_IAP_ENV=SANDBOX 2) asc server status --transaction-id TX_ID 3) asc server history --transaction-id TX_ID 4) asc server transaction get --id TX_ID 5) asc server refunds --transaction-id TX_ID 6) asc server order lookup --order-id ORDER_ID
kerem closed this issue 2026-02-26 21:33:04 +03:00
Author
Owner

@rudrankriyam commented on GitHub (Jan 29, 2026):

Closing as not planned (won't fix) per request.

<!-- gh-comment-id:3820799858 --> @rudrankriyam commented on GitHub (Jan 29, 2026): Closing as not planned (won't fix) per request.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#58
No description provided.