Troubleshooting
Start from the symptom. Each entry points at the page that owns the answer — this is an index, not a second copy of the detail.
Workers and credentials
| Symptom | Where the answer is |
|---|---|
| A worker won't save | Usually a missing required field, or a date of birth less than 12 years ago — 5-Minute Quickstart |
| A check came back red, or "not found" | Name, date of birth, or credential number not matching the register exactly — 5-Minute Quickstart |
| A credential never verifies, and the worker holds a good copy too | Usually a mistyped reference number on a second record — correct it rather than waiting — Fixing a credential you got wrong |
| A credential is stuck "pending" | The check hasn't settled, or it's waiting on a person — Verify a credential and Review & Decide. If you just corrected its reference number, it needs re-checking — Get a corrected credential re-checked |
| Every check of one type is stuck "pending", and Verify does nothing | A few registers (SA WWCC, QLD Blue Card, NDIS Worker Screening) need Oho to switch verification on for your tenant before any check can run. Open the credential and read the message on it — if it says a verifier isn't available in this environment, email [email protected] rather than retrying |
| A credential needs a decision | It's in the shared queue — Review & Decide |
| A worker shows as non-compliant and it's not obvious why | Missing required credentials versus lapsed ones — Understand your Compliance Overview |
| A worker is still being checked after they left | Employment status and monitoring are separate — Offboard a worker |
| An uploaded document was flagged | Low-confidence or wrong document type — Document recognition |
| A worker is excused from a requirement | Record it rather than ignoring it — Record an exemption |
Monitoring and expiry
| Symptom | Where the answer is |
|---|---|
| A credential's status looks out of date | It's the last check's answer, not a live feed — What happens between checks |
| Nothing has been re-checked in a while | A verification source with no schedule never re-checks — Who sets the cadence |
| A re-check isn't picking up a renewal | Some registers don't push renewals — Where monitoring behaves differently |
| "Expiring soon" appears at the wrong time | The badge follows your Expiring lead time, 30 days by default — Expiry is watched separately |
| I'm not getting the alerts I expect | Lead times and recipients — Set up notifications |
| A deleted worker still triggers alerts | Deleting now stops scans too, but an older delete may not have — When the alerts don't arrive |
| You want to test notifications before turning them on | Redirect every outbound email to your own address first — Developer settings |
Imports and data sources
| Symptom | Where the answer is |
|---|---|
| Nothing imported | Credentials, an empty source, or a permissions problem — Troubleshooting a sync |
| Some records were skipped | Heading mismatch, unmatched credential rows, missing required fields — Some records skipped |
| Authentication stopped working | Tokens and keys expire or get revoked — Auth stopped working |
| Duplicate workers appeared | Usually an inconsistent match key — Duplicate records appearing. To clean up a pair that already exists, see Two profiles for the same person |
| A spreadsheet column isn't being read | Headings are matched by name, exactly — Spreadsheet template reference |
| Emptying a cell didn't clear the field | Blank cells and deleted columns mean different things — Spreadsheet template reference |
| An import overwrote a correction | Names that conflict go to review instead — Review & Decide |
| A sync brought in the wrong data | Roll back a sync |
| SFTP source unreachable | Oho's IPs need allowlisting — Source unreachable (SFTP) |
Every connector guide has its own Common questions section for problems specific to that system — start at Add a data source and open the guide for your connector.
Access and sign-in
| Symptom | Where the answer is |
|---|---|
| A teammate's invite link isn't working | A refreshed link invalidates earlier ones — 5-Minute Quickstart |
| Someone can't see a menu or an action | It's an admin area, or their role doesn't include it — Roles and access |
| Someone sees the wrong workers | Access is scoped by organisation — Roles and access |
| An authenticator code is refused | Usually the phone's clock, or a stale Oho entry in the app — Sign-in and two-factor authentication |
| Someone has lost the phone with their authenticator on it | Backup codes get them in; past that an admin clears the pairing with ⋮ → Reset MFA — Changing or losing the phone |
| Single sign-on isn't working | Each provider guide has its own questions — Set up SSO |
Screening and recruitment
| Symptom | Where the answer is |
|---|---|
| A candidate didn't get their request | Send a recruitment check |
| A fetch request link has stopped working | Links expire, and deleting a worker cancels them — Send a fetch request and Offboard a worker |
| A submitted check is still open | A skipped item keeps it open — Fetch credentials |
| An ATS order didn't become a check | Usually a position or configuration detail — Screening Orders |
| A police check is stuck on Requested | It never reached the provider — Run a police check |
| A police check has no NCC ID | How to tell a submission landed — Run a police check |
| Re-requesting a police check changed nothing | A second check is created, not merged — Run a police check |
| A result didn't reach the ATS | Redeliver a result |
API and integrations
| Symptom | Where the answer is |
|---|---|
401 Unauthorized | Missing, malformed, or expired token — Authentication & Tokens |
403 Forbidden | Authenticated but not authorised for that entity type — Scopes |
429 Too Many Requests | Errors, Retries & Idempotency |
503 from an evaluation job | The backlog is full; honour Retry-After — Evaluating compliance |
| A webhook isn't arriving | Webhook endpoint recovery |
| A webhook signature won't verify | Webhooks & event delivery |
| A deleted record still comes back | Most deletes are soft — Data retention & privacy |
A PUT cleared fields I didn't send | PUT replaces, PATCH merges — Offboard a worker |
Still stuck?
Before you contact support, it's worth having:
- what you expected to happen, and what happened instead;
- the worker, credential, or request it concerns;
- when it happened, and whether it's happened more than once;
- the
requestIdfrom the error response, if this was an API call — every error envelope carries one, and it's what lets support find your exact request in the logs.
Email: [email protected] In-app: the Help button in the bottom-right corner of any screen