asc cli usage
Use this skill when you need to run or design asc commands for App Store Connect.
Command discovery
- Always use
--helpto discover commands and flags. asc --helpasc builds --helpasc builds list --help- Use
asc searchfor local, deterministic command discovery when you know the workflow but not the command path. asc search "submit app for review"asc search --output table "upload build"- Use
asc schemato inspect bundled App Store Connect endpoint schemas and request/query fields before designing API-facing commands. asc schema --pretty "GET /v1/apps"asc schema --method POST appStoreVersions- Use
asc capabilitiesto explain CLI-supported, partial, web-only, and public-API-limited workflow coverage. asc capabilities --area release --output tableasc capabilities --status not-public-api --output markdown
Canonical verbs (current asc)
- Prefer
viewover legacygetaliases for read-only commands in docs and automation. asc apps view --id "APP_ID"asc versions view --version-id "VERSION_ID"asc pricing availability view --app "APP_ID"- Prefer
editfor update-only availability surfaces and other canonical edit flows. asc pricing availability edit --app "APP_ID" --territory "USA,GBR" --available trueasc app-setup availability edit --app "APP_ID" --territory "USA,GBR" --available trueasc xcode version edit --build-number "42"- Keep
setwhere the CLI intentionally models a higher-level replacement/configuration flow and--helpstill showssetas the canonical verb.
Flag conventions
- Use explicit long flags (e.g.,
--app,--output). - Prefer explicit flags in automation; some newer commands can prompt for missing fields when run interactively.
- Destructive operations require
--confirm. - Use
--paginatewhen the user wants all pages.
Output formats
- Output defaults are TTY-aware:
tablein interactive terminals,jsonwhen piped or non-interactive. - Use
--output tableor--output markdownonly for human-readable output. --prettyis only valid with JSON output.
Authentication and defaults
- Prefer keychain auth via
asc auth login. - Fallback env vars:
ASC_KEY_ID,ASC_ISSUER_ID,ASC_PRIVATE_KEY_PATH,ASC_PRIVATE_KEY,ASC_PRIVATE_KEY_B64. ASC_APP_IDcan provide a default app ID.- When permissions are unclear, inspect exact API key role coverage with
asc web auth capabilities. - This lives under the experimental web auth surface.
- It can resolve the current local auth by default, or inspect a specific key with
--key-id.
Apple Ads
- Use
asc ads --helpbefore choosing a command. - Apple Ads uses
asc ads auth,--ads-profile, andASC_ADS_*variables. It does not use App Store Connect API credentials. - Resolve org access with
asc ads acls --output jsonunless the org ID is already known. - Most endpoint commands need
--orgorASC_ADS_ORG_ID. - Body commands use
--filewith Apple Ads JSON payloads. Object endpoints need a JSON object. Bulk endpoints often need a JSON array. - Use
--paginateonly where help shows it. Reporting and selector payloads carry pagination inside the JSON file. - Destructive commands and bulk delete commands require
--confirm. - For live mutation tests, create paused resources with a clear test name and delete the parent campaign when done.
Timeouts
ASC_TIMEOUT/ASC_TIMEOUT_SECONDScontrol request timeouts.ASC_UPLOAD_TIMEOUT/ASC_UPLOAD_TIMEOUT_SECONDScontrol upload timeouts.

