Offers

Manage job offers, generate offer letters, and track offer status.

Get All Offers

GET/api/recruitment/offers

Get all offers with optional filters.

{ "offers": [ { "id": "...", "candidate": { "id": "...", "firstName": "John" }, "job": { "id": "...", "title": "Software Engineer" }, "offeredCTC": 120000, "designation": "Senior Engineer", "department": "Engineering", "joiningDate": "2024-02-01", "status": "sent", "createdAt": "2024-01-15T10:30:00Z" } ] }

Get Offer

GET/api/recruitment/offers/[id]

Get a specific offer details.

{ "offer": { "id": "...", "candidate": { ... }, "job": { ... }, "offeredCTC": 120000, "salaryType": "per-annum", "pfAmount": 14400, "esicAmount": 0, "designation": "Senior Engineer", "department": "Engineering", "joiningDate": "2024-02-01", "officeLocation": "Remote", "perks": "Health insurance, stock options", "status": "sent", "isSigned": false } }

Update Offer

PATCH/api/recruitment/offers/[id]

Update offer status or details.

FieldTypeRequiredDescription
idstringRequiredOffer ID (path param)
statusstringOptionalNew status (draft/sent/accepted/rejected)
{ "offer": { ... updated offer } }

Get Offer Letter

GET/api/recruitment/offers/[id]/letter

Get generated offer letter HTML.

{ "letterHtml": "<html>...offer letter content...</html>" }

Offer Statuses

StatusDescription
draftOffer is being prepared
sentOffer sent to candidate
acceptedCandidate accepted the offer
rejectedCandidate rejected the offer

Salary Types

TypeDescription
per-annumAnnual salary
per-monthMonthly salary
per-dayPer-day salary
per-hourPer-hour salary