Certification & review
Once you're done testing, request review. A reviewer runs the same five probes you can check yourself — approval is refused until every one of them passes.
Request review
curl -X POST \
-H "Authorization: Bearer $DEV_TOKEN" \
https://api.sunesix.com/partner-apps/developer/apps/42/request-review/Moves your app from SANDBOX to SUBMITTED, then a reviewer marks it IN_REVIEW. This is refused if your developer account isn't verified yet — see Verification.
The probes
| Probe | Fails when |
|---|---|
capabilities_declared | You requested a capability the platform doesn't implement. |
capability:<name> | A requested read handler errors against sandbox data. |
inference_allowlist | ai.invoke requested with no allowed_models, or a model not in the registry. |
outbound_handshake | Your endpoint is unreachable, or its response body has no allow key. |
sandbox_confinement | An active key for your app exists outside the sandbox tenant. |
Reading results
{
"success": true,
"data": {
"passed_at": null,
"results": [
{ "probe": "capabilities_declared", "passed": true },
{ "probe": "outbound_handshake", "passed": false, "detail": "connection timed out" }
]
}
}Probes report structured pass/fail results rather than raising — a reviewer needs to see which check failed, and your endpoint being briefly down during certification is an expected outcome, not a fatal one.
If you're rejected
You'll get a reason. Fix it and submit again — a rejected app goes straight back through SANDBOX, no need to recreate the draft. A failing re-run of certification clears any previous pass; once approved, that pass is snapshotted onto your app's version so a later failure can't retroactively unstamp it.