Help and guides
Troubleshooting
Work out whether a task is waiting, blocked, or needs recovery.
Before you start
Keep the resource name and the dashboard error message. Leave passwords, cookies, tokens, and private customer content out of support reports.
Steps
- Confirm that you selected the right organization and resource.
- Refresh the resource view and read its latest status.
- If approval is pending, open the relevant review. If access is denied, check your membership and role.
- If the status is uncertain or recovery is required, keep the current state and ask for help before retrying.
- For support, send a concise description of the task, the message, and when it happened to hello@thora.cloud.
What to expect
You know which step remains and can give support enough information to investigate safely.
If something goes wrong
A successful request can still leave work pending. Check the final resource state instead of assuming a click, approval, or refresh completed the task.
Technical reference
Classify before retrying
- 400: fix the exact input; do not retry unchanged.
- 401: reconnect, refresh, or replace the credential; do not fall back to another user's token.
- 403: the current identity, role, scope, or admission does not authorize the action.
- 404: refresh inventory; the resource may be absent, retired, or outside this organization.
- 409: refresh version, revision, state, or existing idempotent result before deciding what to do.
- 429: honor the server delay and reduce request rate or concurrency.
- 502 or network failure: the result may be uncertain; read state and keep the original idempotency key.
- 503: the capability or provider is unavailable; do not substitute privileged access.
Use stable error codes
Automation should branch on the bounded error code and HTTP class, not on free-form text. Show a concise customer-facing explanation, retain the request or action ID when safe, and omit secrets, raw provider payloads, customer content, and stack traces.
{
"error": {
"code": "scope_required",
"message": "This credential does not have the required permission."
}
}Recognize stop states
uncertain: provider acceptance cannot yet be proved or disproved.recovery_required: automated progression is blocked until reconciliation or restore.approved_unavailable: the decision exists, but the execution capability is unavailable.stale: the resource changed after it was read; create a new exact proposal.retired: a draft or rollback candidate is no longer eligible; do not present it as failed.
