Problem type

App Store purchase could not be verified

HTTP 422 ยท app_store_transaction_invalid

What it means

The API answers with HTTP 422 Unprocessable Content and the application/problem+json document below when the condition is App Store purchase could not be verified. The document's type member is https://screenrig.ai/problems/app-store-transaction-invalid, the address of this page, and its code member is app_store_transaction_invalid.

What to do

The signed value is not a screenRIG plan transaction from the App Store for this server's environment. Send the transaction exactly as StoreKit returned it, from a build of the app that buys against this server.

Should you retry?

The retryable member appears only on HTTP 5xx problems, so this one has none. Follow the steps under What to do before sending the request again.

Example response

Most routes answer with the error in the first entry of errors, and the document members instance and request_id beside it. The type, code, title and status of this problem type are fixed; detail varies per request, and hint is the registry default unless the handler sets a more specific one.

http
HTTP/1.1 422 Unprocessable Content
Content-Type: application/problem+json

{
  "errors": [
    {
      "status": 422,
      "code": "app_store_transaction_invalid",
      "type": "https://screenrig.ai/problems/app-store-transaction-invalid",
      "title": "App Store purchase could not be verified",
      "detail": "What went wrong in this request.",
      "hint": "The signed value is not a screenRIG plan transaction from the App Store for this server's environment. Send the transaction exactly as StoreKit returned it, from a build of the app that buys against this server."
    }
  ],
  "instance": "INSTANCE",
  "request_id": "REQUEST_ID",
  "server_time": "2026-01-01T00:00:00Z"
}

In the API contract

The OpenAPI contract describes this problem in these words:

The app finishes the transaction after a 2xx or a definitive 4xx problem. Problems: app_store_transaction_invalid (422), app_store_account_mismatch (409), education_not_eligible (403), app_store_plan_conflict (409), billed_by_reseller (409, the organization is delegated to a reseller, which pays for its plan).

Any other type, a notification for a product that is not a plan, and one that names no organization are acknowledged and logged. 200 acknowledges. A payload that does not verify is a 422 app_store_transaction_invalid problem; a failure on the server's side is a 5xx, which Apple sends again. Limited per client address.

Operations that name this problem

These operations name this problem in the API reference:

Player action

This problem defines no Player action class. It belongs to a project, pairing or account flow that an agent or the dashboard drives.

Reference

Codeapp_store_transaction_invalid
HTTP status422 Unprocessable Content
Typehttps://screenrig.ai/problems/app-store-transaction-invalid
Player actionnone