You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
asc sales-reports summary --from <date> --to <date> — aggregates daily Sales reports across a date range into a single rollup with derived metrics: downloads (first installs of phone/Mac apps, excluding Apple Watch 3F redownloads), updates, inAppPurchases, payers (distinct SKUs with non-zero customer price), customerSpend (per Customer Currency, since Customer Price is in customer-local currency and cross-currency summing is meaningless), proceeds (per Currency of Proceeds, the developer's actual payout). CLI-only like the other report commands.
asc sales-reports download --version <schema> — exposes Apple's filter[version] query parameter on /v1/salesReports. Previously omitted by SDKReportRepository, so Apple always returned its default schema. Invalid values now surface Apple's helpful PARAMETER_ERROR.INVALID message naming the latest supported version (e.g. 1_1 for SALES/SUMMARY/DAILY). ReportRepository.downloadSalesReport gains a trailing version: String? parameter; pass nil to keep the previous default behavior.
asc review-submissions get --submission-id <id> and asc review-submissions items list --submission-id <id> [--state <ITEM_STATE>] — drill into a review submission to find which attached item Apple rejected. The new items list subcommand surfaces per-item state (READY_FOR_REVIEW/ACCEPTED/APPROVED/REJECTED/REMOVED) and the linked resource id (typically the rejected AppStoreVersion), so an agent can navigate from an UNRESOLVED_ISSUES submission to the offending version with one call. ReviewSubmission gains getSubmission/listItems affordances on every record and a conditional listRejectedItems affordance when hasIssues == true. New ReviewSubmissionItem + ReviewSubmissionItemState + ReviewSubmissionItemLinkedResource domain types in Domain/Submissions/; SubmissionRepository gains getSubmission(id:) and listSubmissionItems(submissionId:). REST equivalents: GET /api/v1/review-submissions/:id and GET /api/v1/review-submissions/:id/items?state=REJECTED via ReviewSubmissionsController. Note: Apple's free-text rejection reasoning still lives only in App Store Connect's Resolution Center web UI — the public API exposes the state machine, not the narrative. See docs/features/review-submissions.md.
Fixed
asc app-availability get no longer crashes with PARAMETER_ERROR.INVALID ("maximum allowable limit is '50'") — Apple caps include=territoryAvailabilities on /v1/apps/{id}/appAvailabilityV2 at 50 entries, and silently truncates relationship includes regardless. SDKAppAvailabilityRepository.getAppAvailability now matches the iOS-SDK multi-call pattern documented in CLAUDE.md: one call to the parent for availableInNewTerritories (no include), then a second call to the dedicated /v2/appAvailabilities/{id}/territoryAvailabilities endpoint with limit: 200 for the full territory list. Added a regression test that round-trips 175 territories.