422 error when submit TestFlight Beta Review

When I submit the app to TestFlight beta review I get the error show on UI. (I filled all filed info in Beta Infomation)

There was an error processing your request. Please try again later

I was inspected Safari to see the detailed error and I got the below error.

Failed to load resource: the server responded with a status of 422 ()

and the detailed javascript error

componentStack: undefined

errorCode: undefined

message: "API Response Error: TF_BETA_APP_REVIEW_RESPONSE"

stackTrace: "status code: 422 --- api correlation key: NZEKCTWMNANXDZVTRD3V4GNE3U"

Anyone can tell me the problem and how to fix it. Many Thanks.

The image detail of error here.

I get the error response from api https://appstoreconnect.apple.com/iris/v1/betaAppReviewSubmissions

{
  "errors" : [ {
    "id" : "60bd25dc-f1e1-4931-82e9-3bf361ccb1ba",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

Same here. It happened when I deleted a few testers from my External testers group. It suddenly expired all my builds from all my apps In appstoreconnect !? And it's not possible to add a new build and TestFlight builds stopped working. It's crazy.

{
  "errors" : [ {
    "id" : "ec667d77-523a-4f49-99dd-69e35d6870df",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

I got the same error too when I try to add new version to testfligh.

{
  "errors" : [ {
    "id" : "88a7b2d4-8285-46a1-850d-e0d43a8fd357",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

same here

code: "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING"
detail: "Beta Contract is missing."
id: "f7ce53a5-fa17-454e-b6eb-05bed921bb05"
status: "422"
title: "Beta contract is missing for the app."

Same Issue, Apple Support Just Said Please Be Patient, Has anyone solved this problem?

{
  "errors" : [ {
    "id" : "",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

same problem any solution?

same problem any solution?

  "errors" : [ {
    "id" : "643c7856-c9d6-4772-bc9f-0f7b0b910314",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

Contacted apple support and they forwarded the issue to the engineering team. Within a week it was solved for us.

I am also getting this error:

{
  "errors" : [ {
    "id" : "...",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

can anyone advise me on how to get pass this error.

As of 14 April 2022, i am getting the "Beta contract is missing for the app". Contacted Apple Support, let's see if they are able to solve this.

Caveat: Crafting this answer to provide useful context in case this thread reaches relevant Apple internal engineers/stakeholders.

My team is encountering this issue consistently across multiple AppStoreConnect Apps / App Versions / Build Versions when attempting to Add External Testers / Add a build to an External Testing Group in TestFlight. Potentially unrelated but relevant: after successfully adding Internal Testers to the Build, accepting the invitation email, and receiving the Install App prompt within the TestFlight App we're unable to download it. The message we see in TF is "Could not install . The requested app is not available or doesn't exist"

Other context that might be helpful: We used expo/eas to build and upload the binary to ASC.

Decidedly grasping at straws with the below. But trying to better understand the problem/ apple's internal representation of the app store submission workflow to be useful as I wait for multiple support cases to get back to me. My thinking is that the term beta contract most likely implies legal / financial relevancy, (a contract with beta testers in the case where they're compensated for their testing?)

Poking around ASC with network tab open, you can infer/explore a basic layout of the api backing ASC web client. Hitting https://appstoreconnect.apple.com/iris/v1/apps/ you can see your top level App Resource with related versions, builds, metadata etc.

GET https://appstoreconnect.apple.com/iris/v1/apps/<apple-id>

{
  "data" : {
    "type" : "apps",
    "id" : "<apple-id>",
    "attributes" : {
      ...
    },
    "relationships" : {
      "appEncryptionDeclarations" : { "links" : {...} },
      "ciProduct" : { "links" : {...} },
      "betaTesters" : { "links" : {...} },
      "betaGroups" : { "links" : {...} },
      "appStoreVersions" : { "links" : {...} },
      "appGrnSupportingDocument" : { "links" : {...} },
      "iosAppToMacAppStoreAdvisoryData" : { "links" : {...} },
      "iosAppToMacAppStoreOptInSetting" : { "links" : {...} },
      "preReleaseVersions" : { "links" : {...} },
      "betaAppLocalizations" : { "links" : {...} },
      "builds" : { "links" : {...} },
      "betaLicenseAgreement" : { "links" : {...} },
      "betaAppReviewDetail" : { "links" : {...} },
      "appStoreVersionMetrics" : { "links" : {...} },
      "betaReviewMetrics" : { "links" : {...} },
      "betaAppTesterDetail" : { "links" : {...} },
      "provider" : { "links" : {...} },
      "appInfos" : { "links" : {...} },
      "appClips" : { "links" : {...} },
      "appBundles" : { "links" : {...} },
      "appPricePoints" : { "links" : {...} },
      "pricePoints" : { "links" : {...} },
      "appTransferRequest" : { "links" : {...} },
      "customAppOrganizations" : { "links" : {...} },
      "customAppUsers" : { "links" : {...} },
      "endUserLicenseAgreement" : { "links" : {...} },
      "preOrder" : { "links" : {...} },
      "prices" : { "links" : {...} },
      "appPriceSchedule" : { "links" : {...} },
      "availableTerritories" : { "links" : {...} },
      "supportedTerritories" : { "links" : {...} },
      "appTaxCategory" : { "links" : {...} },
      "inAppPurchases" : { "links" : {...} },
      "subscriptionGroups" : { "links" : {...} },
      "gameCenterEnabledVersions" : { "links" : {...} },
      "gameCenterAchievements" : { "links" : {...} },
      "gameCenterLeaderboards" : { "links" : {...} },
      "gameCenterLeaderboardSets" : { "links" : {...} },
      "perfPowerMetrics" : { "links" : {...} },
      "promoArtRequests" : { "links" : {...} },
      "dataUsages" : { "links" : {...} },
      "dataUsagePublishState" : { "links" : {...} },
      "appCustomProductPages" : { "links" : {...} },
      "inAppPurchasesV2" : { "links" : {...} },
      "promotedPurchases" : { "links" : {...} },
      "appEvents" : { "links" : {...} },
      "appPublicationPermit" : { "links" : {...} },
      "reviewSubmissions" : { "links" : {...} },
      "appSharedSecrets" : { "links" : {...} },
      "subscriptionGracePeriod" : { "links" : {...} },
      "buildDeliveries" : { "links" : {...} },
      "resolutionCenterThreads" : { "links" : {...} }
    }
  }
  ...
}

My goal was to find the word "contract" somewhere in these network responses. Wasn't able to find any - but did find that trying to query an app's appPricePoints 500s with a pretty standard 500 response. The api 500s both before and after setting price point in Pricing and Availability UI:

GET https://appstoreconnect.apple.com/iris/v1/apps/<apple-id>/relationships/appPricePoints
=>
{
	"errors": [{
		"status": "500",
		"code": "UNEXPECTED_ERROR",
		"title": "An unexpected error occurred.",
		"detail": "An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/."
	}]
}

On a related note, can anyone with historical knowledge of the testflight / appstore submission flow confirm or deny the existence of a "Beta Contract" in AppStoreConnect / ITunes Connect previously?

Same issue here. Inspected the calls with Fiddler and saw the below. Opened a support ticket, gave them the requested info and waiting for response.

From what I've read on other threads/sites is that this just appears to happen to certain users/apps and it takes a week for something to happen and it gets fixed. Either by them doing something (and then not telling anyone what they did) or possibly by some backend integration. We must all be doing something similar to cause us to have this problem. This is my first attempted build through testflight, did anyone else get this error after previous builds worked fine?

{  "errors" : [ {
    "id" : "<redacted>",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

This is the second time when i have got this. The first time was in may, and error was "MISSING_BETA_COMPLIANCE ERROR" and now the error is "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING" error. The result is the same. One cannot publish app to external testing, and private testing will be visible in test flight, but the install fails.

{
  "errors" : [ {
    "id" : "",
    "status" : "422",
    "code" : "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING",
    "title" : "Beta contract is missing for the app.",
    "detail" : "Beta Contract is missing."
  } ]
}

Did anyone on this thread ever get a satisfying resolution to what is causing this error. We started getting the same "ENTITY_UNPROCESSABLE.BETA_CONTRACT_MISSING" error as everyone else on this thread last month. Every build in TestFlight was expired and new builds could not be submitted for Beta approval. We contacted Apple support, but they were less than helpful. They would fix something, without telling us what it was. We could all of a sudden submit builds again, but then 3-4 days later the cycle repeated. All builds expired and another week and a half lost with the Apple Support black box.

Our app is built with Flutter, though I feel like that is not the issue. If it's something we need to change in our code or provisions we would be happy to do it, but so far we have zero information on the cause. It's radically slowed down development.

422 error when submit TestFlight Beta Review
 
 
Q