Approval: who may open a position, issue an offer or hire. In Jadiroon, approval is a permission check on the action itself, and the API applies exactly the same checks as the app, with no bypass.
How approval works today
| Step | Permission the integration needs | API |
|---|---|---|
| Open a position for hiring | recruitment.hiring.open | POST /api/v1/openings |
| Close an opening | recruitment.hiring.open | POST /api/v1/openings/{id}/close |
| Move an application to the offer stage | recruitment.offer.issue | POST /api/v1/applications/{id}/stage |
| Hire | recruitment.hire and recruitment.candidate.contact | POST /api/v1/applications/{id}/hire |
An integration without the permission gets 403 forbidden with details.required. So the Workspace Admin decides, per integration, whether an outside system may take these decisions or only read their outcome.
Delegation of authority
Delegation-of-authority limits (who may approve what, up to which grade or amount) are being added to Jadiroon. When they arrive they will apply to API calls through the same check as to people in the app: an integration will never be able to approve beyond what its scope allows. The changelog will announce it.
Following approvals from your system
opening.openedandopening.closedtell you when hiring was approved and ended.application.stage_changed(with the new stage) tells you an offer was issued; Offers lists the offer letters.application.hiredandemployee.createdtell you a hire was made.- The audit feed shows who approved each step.