Skip to content

Marketplace Edition Unavailable

URI: https://docs.ankatech.co/errors/marketplace-edition-unavailable
HTTP Status: 409 Conflict

When you see this

A request arriving through the RapidAPI marketplace carries the caller's subscription plan, and the plan decides which Edition protects the subscriber's keys: BASIC maps to STANDARD, PRO to PROFESSIONAL, and ULTRA, MEGA and CUSTOM to ENTERPRISE. Every plan gets exactly its mapped Edition, never a lower or a higher one. This refusal says that the Edition of the plan in the request cannot be delivered right now, so the request was not served under another one.

Nothing was changed by this request:

  • On a first contact no tenant, application, actor, policy copy, capability grant or Edition is created.
  • For an existing subscriber the plan change is not applied: the grants, the Edition, any key custody move and every other record of the subscriber stay as they were, and the subscriber keeps the Edition it already has.

The same request answers the same refusal until the Edition can be delivered again. It is a 409 rather than a 503 because it describes the state of the provider's deployment, which no retry of the request changes.

Common Causes

  • tier-not-active: the managed key-protection tier of that Edition is not active on the provider's deployment.
  • tier-capacity-exhausted: the tier is active, but the key-protection backend it sits on has no room for a further tenant.

Response Example

{
  "type": "https://docs.ankatech.co/errors/marketplace-edition-unavailable",
  "title": "Marketplace Edition unavailable",
  "status": 409,
  "detail": "The subscription plan maps to the PROFESSIONAL Edition, which this deployment cannot deliver now (tier-not-active: its key-protection tier is not active). The request was not served and nothing was created or changed; it is answered the same way until the Edition can be delivered.",
  "instance": "/api/v3/crypto/encrypt",
  "correlationId": "550e8400-e29b-41d4-a716-446655440000",
  "timestamp": 1730000000,
  "extensions": {
    "edition": "PROFESSIONAL",
    "reason": "tier-not-active"
  }
}

Content-Type: application/problem+json — the response follows RFC 9457 Problem Details.

The two extension members are the machine-readable form of what detail says in prose; branch on them, never on detail:

Member Values Meaning
extensions.edition STANDARD, PROFESSIONAL, ENTERPRISE The Edition the plan in the request maps to
extensions.reason tier-not-active, tier-capacity-exhausted Why that Edition cannot be delivered

Both vocabularies are closed. A member whose value is outside its list is omitted rather than passed on, and no other extension member is carried on this type.

How to Resolve

  1. As a subscriber, do not retry in a loop: the answer does not change until the provider's deployment changes. Contact the API provider through RapidAPI, naming the plan, the extensions.edition and the correlationId.
  2. As the operator of the deployment, activate the managed key-protection tier of the named Edition, or give its backend room for further tenants. A deployment that publishes on RapidAPI keeps the STANDARD, PROFESSIONAL and ENTERPRISE tiers active, with room for its subscribers, before it is published.
  3. Once the Edition can be delivered, the next request of the subscriber is served without any other action.

For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.