Create fetch request
POST/openapi/v1/fetch-requests
Send a new fetch request to an existing worker.
Worker identification — exactly one of:
worker.id(synthetic id likewkr_…)worker.externalId+ optionalsourceSystem(HRIS id)
Requirements — exactly one of:
requestedCredentialTypes(legacy flat list, implicit AND across the array). Original 2025 shape, kept for back-compat.requirements— structured, one of two inner shapes:requirements.credentialTypes(flat AND shortcut, with optional peerrequirements.exemptions)requirements.group(full AND/OR tree mirroringOhoScreeningPackageConditionGroup; supports nested groups, exemptions, per-group guiding text, attachmentRequired, skippable; max nesting depth 5)
Ban-registry checks — opt in via requirements.banChecks (e.g. ["AGED_CARE_QUALITY"]). Snapshotted to the entity; fired on worker submission via the triggerOhoWorkerBanCheck mutation so results land within seconds of submission rather than waiting for the next scheduled scan.
Exemption codes are bare credential codes (e.g. "WWCC_QLD") — the renderer adds the EX: display prefix. Prefixed codes on the wire are rejected with 400.
See docs/dev-guides/recruitment-check-api-testing.md for end-to-end example payloads (the fetch-request and recruitment-check shapes are intentionally symmetric).
Request
Responses
- 200
- 401
- 403
- 429
- 500
OK
Authentication required
Caller is not authorised
Rate limit exceeded — see Retry-After header
Internal server error