Analyze a job offer
analyze_offerAnalyse a job offer the user received and draft the negotiation scripts. Takes the offer text exactly as they got it — the recruiter's email, message or their own notes; the numbers are extracted from that wording, so a retold or summarised version loses them. Runs asynchronously: this returns an offer_id immediately, and get_offer(offer_id) shows the verdict, the market comparison and the counter-offer email once done. vacancy_id links the offer to a tracked vacancy. The market is read for where the user lives and how they are hired: pass candidate_country, employer_country and employment_type when the user said them; a left-out country is taken from their profile. Counts as one offer analysis against the user's plan — the free plan allows one a month. Returns 'limit_exceeded' when the quota is spent, 'no_resume' when the user has no resume to compare against, 'draft_limit_reached' when too many offers are waiting to be finished, 'not_found' for a foreign vacancy_id, and 'invalid_payload' for empty or oversized text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Always 'processing' — the analysis runs asynchronously. | processing |
| task_id | Yes | Background task id (informational; get_offer shows progress). | |
| offer_id | Yes | Id of the created offer; pass to get_offer once ready. |