Developer platform · 5 / 9

Upload a version and handle review

Upload on the plugin’s “Versions” tab, wait for the scan, then see whether human review applies. “Uploaded, scanning” is not approval, let alone visible to customers.

← All tutorials

Upload a version

  1. Open the plugin → “Versions” → “Upload version”.
  2. Choose the files for the kind: manifest, configuration schema, plus the content file (theme, rule_pack) or 1–16 platform packages (external_https); page plugins upload only the manifest and schema. A theme uses the three outputs of one pack run.
  3. Pick the channel “stable” (default) or “beta” and write release notes.
  4. For the first one leave “Publish automatically once approved” off and look at the result yourself.
  5. The page polls the scan status; click the version for detail, the scan report and review notes.

Version numbers cannot repeat and must be higher than every reviewed version; a number in a failed or hidden state cannot be reused either. How to confirm: the version is listed and its detail shows the expected files, permissions and scan status.

When an upload times out or the result is unknown

  1. Refresh the version list first and look for this version number.
  2. It exists: continue with that version; do not upload again.
  3. It does not exist: submit again from the same page without changing any file or field. The page keeps the same Idempotency-Key for the same upload, so the server replays the first result instead of creating another version.
  4. The same applies when you call the upload endpoint from a script: retries of one upload reuse the original Idempotency-Key and send exactly the same request; on idempotency_conflict do not switch to a new key, read the version list back first.

Do not click submit repeatedly to probe the state, and do not use a new Idempotency-Key to paper over an unknown result.

Read the review result

Review runs a validating phase (manifest, entrypoint, permissions, kind checks) and stops on a reject; then the scanning phase. Outcome: a reject → changes requested; a quarantine → human review; otherwise any one of these also sends it to human review, or it is approved directly:

  • The first version
  • Permissions differ from the last reviewed version
  • Privileged kinds (module, engine_module, provider)
  • Sellers still in their probation period
  • Repeated scan errors
SituationWhat to do
Files must changeFix the project, bump the version, pack and sign again, upload a new version
Files are fine, only rescanClick “Resubmit” on the version; it does not replace files, and a version is scanned at most 10 times

Every rule’s ID, severity, reject or quarantine and evaluation mode is on the review rules page.