App Store Connect API adoption with use case examples

The new App Store Connect API was announced during WWDC 2018 and makes it possible to write applications for App Store Connect. It includes endpoints for the following areas:

  • TestFlight. Manage beta builds of your app, testers, and groups.
  • Users and Access. Send invitations for users to join your team. Adjust their level of access or remove users.
  • Reporting. Download sales and financial reports.

This is a great opportunity to create useful apps with the community, which can eventually replace App Store Connect for common tasks.

At the moment of writing, I couldn’t find an SDK for this new API. Therefore, I’ve started one myself with an option for the open source community to help me and write one ourselves:
App Store Connect Swift SDK on Github

Give yourself a kickstart

The WWDC Talk Automating App Store Connect is a great way to get you started. Together with the official API documentation of Apple, you should be up and running to start working with the API.

Authentication

The API is authorized via JSON Web Tokens (JWT) and requires a personal API Key to generate bearer tokens from your organization’s App Store Connect account.

Requesting a personal API Key

The documentation from Apple is up to date on how to request a key, but the Keys page in App Store Connect requires a request for access before you can play around.

Requesting access to the App Store Connect API

Requesting access to the App Store Connect API

Organizations are the first to get access, followed by individuals. As of today, you can only wait and prepare until you can play around with the API.

What can I create with the API?

The API includes endpoints for Users and Access, TestFlight, and Reporting. This, at first sight, seems to be less than it really is as the API gives you access to manage a lot.

Here’s a list to give you an idea what you can do with the API.

Build a TestFlight manager

Create an iOS or Mac app to manage TestFlight users. You can:

  • List all test groups and users
  • Add or remove users
  • Requests to send or resend an email inviting a beta tester to test an app.
  • Submit uploaded builds for review.
  • Assign an individual build to testers.
  • Add a build to a beta group for testing.
Fastlane Boarding for TestFlight

Fastlane Boarding for TestFlight

This could replace the often used Fastlane Boarding and provides an easy way to gain new testers with an iPad laying around near the entrance of your office.

Build an app for your Growth team

With the Reports section of the API your able to create a simple app which downloads the latest reports for a specific app. This allows your growth team to easily gain insights into sales summaries, sales events and more.

App Store Connect users manager

Probably less useful as you’re not adding users on a daily basis, but the API allows you to manage App Store Connect users by adding or removing them or by modifying their level of access.

Can I submit an app to the App Store using this API?

Unfortunately not. Apple states clearly before requesting access to the API:

The App Store Connect API is for internal development, testing, and reporting purposes within your team only, and lets you automate key parts of your own internal workflow

What you can do is providing an Application in which the user has to configure an API key himself. In that way, the API will be used internally only by the user, but it’s not sure whether Apple will accept a certain application in the App Store.

Is there a Swift SDK which I can use?

At the moment of writing, I couldn’t find an SDK for this new API. Therefore, I’ve started one myself with an option for the open source community to help me and write one ourselves:

App Store Connect Swift SDK on Github


Originally published at SwiftLee.

More posts and updates: @twannl