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 under 12 years old — 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 is stuck "pending" | The check hasn't settled, or it's waiting on a person — Verify a credential and Review & Decide |
| 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 earlier than my alert setting | The badge is fixed at 90 days; alerts are separate — Expiry is watched separately |
| I'm not getting the alerts I expect | Lead times and recipients — Set up notifications |
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 |
| 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 |
| 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 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: support@weareoho.com In-app: the Help button in the bottom-right corner of any screen