What it means
The API answers with HTTP 409 Conflict and the application/problem+json document below when the condition is Organization already holds a plan. The document's type member is https://screenrig.ai/problems/app-store-plan-conflict, the address of this page, and its code member is app_store_plan_conflict.
What to do
The organization already holds this plan or a higher one through another source: staff, invoicing or another App Store subscription. Cancel the App Store subscription under Manage subscription, or ask support.
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/1.1 409 Conflict
Content-Type: application/problem+json
{
"errors": [
{
"status": 409,
"code": "app_store_plan_conflict",
"type": "https://screenrig.ai/problems/app-store-plan-conflict",
"title": "Organization already holds a plan",
"detail": "What went wrong in this request.",
"hint": "The organization already holds this plan or a higher one through another source: staff, invoicing or another App Store subscription. Cancel the App Store subscription under Manage subscription, or ask support."
}
],
"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).
Operations that name this problem
These operations name this problem in the API reference:
- Record App Store Transaction
POST /api/organizations/{organization_id}/app-store/transactions
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
| Code | app_store_plan_conflict |
|---|---|
| HTTP status | 409 Conflict |
| Type | https://screenrig.ai/problems/app-store-plan-conflict |
| Player action | none |