App Store Connect · Team API Key
How an agent gets a App Store Connect · Team API Key key through KeyKeeper, what to choose on appstoreconnect.apple.com, and how KeyKeeper verifies it.
| Template id | app-store-connect (also asc, appstoreconnect, apple-api) |
|---|---|
| Field | private-key → PRIVATE_KEY · credential file |
| Also | key-id → KEY_ID · plain, confirmed by you |
| Also | issuer-id → ISSUER_ID · plain, confirmed by you |
| Key looks like | shown once when created |
| Created at | appstoreconnect.apple.com |
| Verified by KeyKeeper | not verified |
| Template checked | 2026-09-15 |
What the agent does
keykeeper providers show app-store-connect
keykeeper save --provider app-store-connect --from-file /path/to/private-key.p8 --create --purpose "what this task does"
keykeeper run -c app-store-connect -- <your command>--provider app-store-connect fills in the credential id and the fields. The environment
variables are the ones App Store Connect's own tools read, so nothing has to be mapped.
What only you can do
What to choose
Prefer a team key with the narrowest App Store Connect role that can perform the task. Use an individual key only for app and user endpoints; Apple does not allow individual keys for notarytool.
The agent is told the same thing. It opens the page for you and says what to pick; it never logs in, passes 2FA or pays on your behalf.
What KeyKeeper checks
- Before writing: the value must look like a App Store Connect · Team API Key key (shown once when created). A wrong paste is refused before anything is stored, and the agent is told why — without the value.
- After saving: App Store Connect · Team API Key offers no read-only endpoint KeyKeeper can use, so the first real call is the test.
Rotation and expiry
Keys do not expire automatically; revoke them on the Integrations page. Rotate or revoke at appstoreconnect.apple.com.