v1
latestOpenAPI 3.1.02026-07-24181585937.4 KBOffer
offer.approve
Approves an offer or a specific approval step within an offer's approval process.
This endpoint mimics the behavior of the "Force Approve" function in the Ashby app, where an admin can override approval for a specific step or entire approval process.
This endpoint can be used in two ways:
- Approve entire offer: Call without approvalStepId and userId to approve the entire offer approval process
- Approve specific step: Provide both approvalStepId and userId to approve a specific step in the approval process
When approving a specific step, the step must be the current step in the approval process and the user must be an approver for that step.
Requires the offersWrite permission.
post/offer.approve
Request body
Example request
{
"offerVersionId": "e9ed20fd-d45f-4aad-8a00-a19bfba0083e",
"approvalStepId": "e9ed20fd-d45f-4aad-8a00-a19bfba0083e",
"userId": "e9ed20fd-d45f-4aad-8a00-a19bfba0083e"
}Response
Responses from the offer.approve endpoint
Example response
{
"success": true,
"results": {
"id": "8bd7d0d4-98bb-4bfa-8d42-13b2efd3ba88",
"decidedAt": null,
"applicationId": "3d9539db-cd22-4f7f-a8f9-a9d5d1f364dd",
"acceptanceStatus": "Pending",
"offerStatus": "WaitingOnCandidateResponse",
"latestVersion": {
"id": "698a9280-0a1d-4e72-acd0-b45c771363e8",
"startDate": "2026-05-01",
"salary": {
"value": 100000,
"currencyCode": "USD"
},
"createdAt": "2026-04-25T02:07:01.594Z",
"openingId": "1bdb1c73-6ed5-4fc2-8486-16ce03a57c67",
"customFields": [],
"fileHandles": [],
"approvalStatus": "Approved"
},
"formDefinition": {
"sections": [
{
"fields": [
{
"isRequired": true,
"field": {
"id": "69c5aa80-34c1-4385-88ed-b2b2676e639d",
"type": "UUID",
"path": "opening.id",
"humanReadablePath": "Opening",
"title": "Opening",
"isNullable": false
}
}
]
}
]
},
"versions": []
}
}