Expo

Get Started
Feature Preview

Configuring EAS Submit with eas.json

eas.json is your go-to place for configuring EAS Submit (and EAS Build). It is located at the root of your project next to your package.json. Even though eas.json is not mandatory for using EAS Submit, it makes your life easier if you'll need to switch between different configurations.
eas.json looks something like this:
{
  "submit": {
    "release": {
      "android": {
        "serviceAccountKeyPath": "../path/to/api-xxx-yyy-zzz.json",
        "track": "internal"
      },
      "ios": {
        "appleId": "john@turtle.com",
        "ascAppId": "1234567890",
        "appleTeamId": "AB12XYZ34S"
      }
    }
  }
}
The JSON object under the submit key can contain multiple submit profiles. Every submit profile can have an arbitrary name. If you run eas submit without a profile name specified and you have the release profile defined in eas.json, it'll be used to configure your submission. If you'd like EAS CLI to pick up another submit profile, you need to specify it with a parameter, e.g. eas submit --platform ios --profile foobar.
The schema of this file looks like this:
{
  "build": {
    // EAS Build configuration
    ...
  }
  "submit": {
    "SUBMIT_PROFILE_NAME_1": {
      android: {
        ...ANDROID_OPTIONS
      }
      ios: {
        ...IOS_OPTIONS
      }
    },
    "SUBMIT_PROFILE_NAME_2": {

    },
    ...
  }
}
If you're also using EAS Build, see how to use eas.json to configure your builds.

Android-specific options

PropertyDescription
(string) - Path to the JSON file with service account key used to authenticate with Google Play. See how to create one.
(enum: production, beta, alpha, internal) - The track of the application to use.
(enum: completed, draft, halted, inProgress) - The status of a release. Learn more.
(boolean) - Indicates that the changes sent with this submission will not be reviewed until they are explicitly sent for review from the Google Play Console UI. Defaults to false.

PropertyDescription
(string) - Your Apple ID username (you can also set the EXPO_APPLE_ID env variable).
(string) - App Store Connect unique application Apple ID number. When set, results in skipping the app creation step. Learn more on this.
(string) - Your Apple Developer Team ID.
(string) - An unique ID for your app that is not visible on the App Store, will be generated unless provided.
(string) - Primary language. Defaults to "en-US".
(string) - The name of your company, needed only for the first submission of any app to the App Store.
(string) - The name of your app as it will appear on the App Store. Defaults to expo.name from the app config.