-
Notifications
You must be signed in to change notification settings - Fork 0
Offers
Abhilash S edited this page Apr 10, 2024
·
64 revisions
Offer Status
The offer status will always be one of these values:
| Value | Meaning |
|---|---|
pending_initiation |
Waiting to be submitted for approval |
pending_approval |
Waiting to be approved by admins |
admin_approved |
Approved and waiting to be sent by an admin |
admin_rejected |
Rejected by an admin before being sent |
candidate_pending |
Pending candidate's decision |
candidate_accepted |
Offer accepted by the candidate |
candidate_declined |
Offer declined by the candidate |
admin_rescinded |
Offer rescinded |
Get offers for a user, the filters are required to get the offer information and can be done by using the below.
Filters:
- filters[ids] = Comma separated
- filters[offer_ids] = Comma separated
- filters[user_ids] = Comma separated
- filters[statuses] = Comma separated
Sample response
{
"data": [
{
"id": "56d0d9807661670f29080000",
"user_id": "571a69f669702d445f000000",
"status": "pending_approval",
"job_title": "Steamboat Captain",
"base_salary": "45000",
"currency": "USD",
...
}, {
"id": "56d0d9807661670f29080001",
"user_id": "573fb8527427907084000047",
"status": "candidate_pending",
"job_title": "Rodeo Clown",
"base_salary": "45000",
"currency": "USD",
...
}
]
}
Assign an offer to a user
Validation: An offer letter update cannot be updated once the candidate accepts the offer.
Parameters for offer object
| Name | Required | Default | Notes |
|---|---|---|---|
| user_id | required | ||
| job_application_id | required | ||
| offer_id | required | ||
| office_location_id | required | { "external_key" : "[EXTERNAL ID]" } |
|
| job_title | required | ||
| total_compensation | required | ||
| campus | |||
| compensation | |||
| start_date | format: YYYY-MM-DD | ||
| legal_entity | |||
| currency | ISO 4217 currency code (USD, CNY, etc) | ||
| relocation_type | |||
| non_compete_duration | |||
| supplemental_non_compete_duration | |||
| flsa_status | |||
| respond_by_date | format: YYYY-MM-DD | ||
| attorney_only | true or false | ||
| confidential | true or false | ||
| regulated | |||
| regulated_status | |||
| smcr | true or false | ||
| job_profile_id | |||
| business_unit_id | |||
| department_code | |||
| position_type | |||
| pay_rate | |||
| job_level | |||
| cost_center_id | |||
| time_type | Full Time | "Full Time" or "Part Time" | |
| employee_type | |||
| job_code | |||
| base_salary | integer | ||
| target_salary | integer | ||
| max_salary | integer | ||
| rsu | integer | ||
| annual_bonus_percent | integer | ||
| signing_bonus_amount | integer | ||
| commission_amount | integer | ||
| car_allowance | integer | ||
| relocation | false | true or false | |
| relocation_flex_allowance | integer | ||
| work_from_home | false | true or false | |
| immigration | false | true or false | |
| visa_sponsorship_notes | |||
| end_date | format: YYYY-MM-DD | ||
| induction_date | format: YYYY-MM-DD | ||
| induction_location_id | { "external_key" : "[EXTERNAL ID]" } |
||
| urgent | false | ||
| notes | |||
| expiration_date | format: YYYY-MM-DD | ||
| hire_type | |||
| is_exempt | true or false | ||
| relocation_program | |||
| deferred_eligible | true or false | ||
| overtime_rate | integer | ||
| doubletime_rate | integer | ||
| business_name | |||
| legal_entity_description | |||
| recruiter_ids | JSON | JSON where key is name of external service, e.g. {:recruiter=>{"HRIS_SYS"=>"12345"}, recruiting_manager=>{"HRIS_SYS"=>"56789"}} There must be a recruiter in Xpand or HRIS_SYS(Ex: workday) with a matching employee id. |
|
| manager_ids | JSON | JSON where key is name of external service, e.g. {:direct_manager=>{"HRIS_SYS"=>"12345"}, hiring_manager=>{"HRIS_SYS"=>"56789"}} There must be a manager in Xpand or HRIS_SYS(Ex: workday) with a matching employee id. |
|
| documents[{ document_type, document_number, document_title, document_position, document_description, issuer, issuer_city, issuer_state, issuer_country issued_date, expiry_date, attachments (Array) [{file_name:'', file_content_base64:''}]}] |
Notes
- An offer can only be created if there is an offer package available for the user. If none can be found, an error will be returned
- The new offer will have a status of
pending_initiation
Invalidate an offer
Notes
- This does not delete the offer, but marks it as "rescinded". It will still show up in requests for
GET /api/v1/offer_letters
Invalidate an offer by using the below parameters.
Filters:
- filters[ids] = Comma separated
- filters[offer_ids] = Comma separated
- filters[job_application_ids] = Comma separated
Sample request
{
"filters": {
"offer_ids": "O3112-003"
}
}