Skip to main content
POST
/
external
/
v1
/
applications
/
{application_id}
/
advance
Update Application Status
curl --request POST \
  --url https://api.example.com/external/v1/applications/{application_id}/advance/

Update Application Status

Change an application’s status or advance it to a different stage in the hiring flow.

Endpoint

POST /external/v1/applications/{application_id}/advance/

Path Parameters

ParameterTypeRequiredDescription
application_idstring (UUID)YesThe application ID

Request Body

FieldTypeRequiredDescription
target_stagestring (UUID)NoStage to advance to
statusstringNoNew status (COMPLETED, REJECTED, etc.)
reasonstringNoReason for the status change

Example Request

curl -X POST "https://your-instance.firstwork.com/external/v1/applications/7c9e6679-7425-40de-944b-e07fc1f90ae7/advance/" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_stage": "next-stage-uuid",
    "reason": "Passed technical interview"
  }'

Example Response

{
  "status": "success",
  "data": {
    "application_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "previous_stage": "Technical Interview",
    "current_stage": "Offer",
    "status": "IN_PROGRESS",
    "transitioned_at": "2025-01-20T09:00:00Z"
  }
}

Bulk Update

Update multiple applications at once:
POST /external/v1/applications/advance/
{
  "application_ids": [
    "uuid-1",
    "uuid-2",
    "uuid-3"
  ],
  "target_stage": "stage-uuid",
  "reason": "Batch advancement after screening"
}

Notes

  • Stage transitions trigger any configured automations
  • Transition history is automatically recorded
  • Compliance rules are evaluated when advancing stages
  • Invalid stage transitions (skipping required stages) will return a 400 error