The best way to use the App Store Connect API on iOS with easy to use Shortcut actions

App Store Connect API Keys

ConnectKit makes authorized requests to App Store Connect by using an API Key. Full steps for creating can be found in Apple's official documentation.

Q: Why can I not make an API Key?

An API Key can only be made an App Store accounts and by an owner or admin. Enterprise accounts cannot yet generate API Keys.

Q: How do I find my Issuer ID and .p8 file?

The Issuer ID and .p8 file can be found in "Users and Access" under "Keys". Below is an image of where to find them. The "Download API Key" link will only show once. Make sure you put this in a safe and secure spot otherwise you will need to revoke the key.

Q: Why can I not select my .p8 file in ConnectKit's file picker?

iOS only allows .p8 files to be selected if they stored locally on the iPhone or iPad (and not from within iCloud). If your .p8 file is stored in iCloud, copy or move the file over to your local device.

Q: Do my API Keys sync between devices?

Yes! Your keys are securely stored and synced with iCloud. Your API Key never leaves your Apple account.

There may be a future update where iCloud syncing can be disabled.

App Store Connect API Endpoints

Q: I got my API Key added but how do I know what requests to make?

API requests are made up of a few different parts:

  • Method (required)
  • Path (required)
  • Headers (optional)
  • Query parameters (optional)
  • Body (optional)

The App Store Connect API has full documentation of all supported requests here. The required method and path and the optional headers, query parameters, and body from the API documentation gets plugged into ConnectKit's "Make Request" action.

Q: How do I parse response data from an API request made with "Make Request"?

The response from the "Make Request" is a JSON response returned as a Dictionary. You can use "Get Dictionary Value" action drill down to pull out values that you need.

In the below example, "Get Dictionary Value" is used three times to get "meta", "paging", and "total" to get the total count of beta testers from the "/betaTesters" path.

We want to hear from you!

Love it? Hate it? Bug reports? Feature requests? Let us know!