Remote jobs: job search, salary data and application tracking, or post a job and hire candidates
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a perk/benefit to your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
Perk title (3-50 characters)
Perk category
Perk description (15-450 characters)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a perk/benefit to your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| title* | string | Perk title (3-50 characters) |
| category* | string | Perk category |
| description* | string | Perk description (15-450 characters) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"category",
"description"
],
"properties": {
"title": {
"type": "string",
"maxLength": 50,
"minLength": 3,
"description": "Perk title (3-50 characters)"
},
"category": {
"enum": [
"Healthcare benefits",
"Retirement benefits",
"Paid parental leave",
"Equity benefits",
"Location independent salary",
"Profit sharing",
"4-day workweeks",
"Generous vacation",
"Paid vacation",
"Sabbaticals",
"Unlimited time off",
"Company meals",
"Wellness benefits",
"Home office budget",
"Co-working space budget",
"Commuter benefits",
"Pet-friendly office",
"Learning and development budget",
"Company events",
"Volunteer opportunities",
"Open source",
"Company credit card",
"Life insurance",
"Employee assistance program (EAP)",
"Flexible working hours",
"Disability insurance",
"Fertility benefits",
"Company retreats",
"Get paid in crypto",
"Miscellaneous"
],
"type": "string",
"description": "Perk category"
},
"description": {
"type": "string",
"maxLength": 450,
"minLength": 15,
"description": "Perk description (15-450 characters)"
}
}
}Add an education entry to your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| field | string | Field of study (e.g., 'Computer Science') |
| grade | string | Grade or GPA |
| degree | string | Degree (e.g., 'Bachelor of Science') |
| school* | string | School or institution name |
| current | boolean | Whether you are currently enrolled |
| end_year | number | End year (omit if currently enrolled) |
| activities | string | Activities and societies |
| start_year | number | Start year |
| description | string | Description or achievements |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"school"
],
"properties": {
"field": {
"type": "string",
"description": "Field of study (e.g., 'Computer Science')"
},
"grade": {
"type": "string",
"description": "Grade or GPA"
},
"degree": {
"type": "string",
"description": "Degree (e.g., 'Bachelor of Science')"
},
"school": {
"type": "string",
"description": "School or institution name"
},
"current": {
"type": "boolean",
"description": "Whether you are currently enrolled"
},
"end_year": {
"type": "number",
"description": "End year (omit if currently enrolled)"
},
"activities": {
"type": "string",
"description": "Activities and societies"
},
"start_year": {
"type": "number",
"description": "Start year"
},
"description": {
"type": "string",
"description": "Description or achievements"
}
}
}Add a work experience to your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| title* | string | Job title |
| end_date | string | End date (YYYY-MM-DD format, omit for current role) |
| location | string | Country name for this role (e.g. 'United States', 'Germany'). Cities are not accepted. |
| start_date | string | Start date (YYYY-MM-DD format) |
| current_job | boolean | Whether this is your current job |
| description* | string | Description of your role and responsibilities |
| company_name* | string | Company name |
| employment_type* | string | Employment type |
| experience_skill_list | string | Comma-separated skills used in this role |
Check the payment status of a job posting. Use the session_id returned from post_job_public or create_company_job with extras. No authentication required.
| Argument | Type | Description |
|---|---|---|
| session_id* | string | Stripe checkout session ID |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"minLength": 1,
"description": "Stripe checkout session ID"
}
}
}Post a remote job on Himalayas for the user's company, to hire remote staff. Jobs are free to post and require admin approval before going live; a job can also be saved as a draft. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| draft | boolean | Save as draft instead of submitting for approval |
| title* | string | Job title (5-80 characters) |
| extras | array | Paid extras: 'sticky' ($299 pin to top for 30 days), 'newsletter' ($99 feature in weekly email for 30 days) |
| seniority* | array | Seniority levels |
| max_salary | number | Maximum salary |
| skill_list | string | Comma-separated skills |
| base_salary | number | Minimum salary |
| description* | string | Job description (350+ characters, can include HTML) |
Delete a job posting from your company on Himalayas. This action cannot be undone. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| job_slug* | string | Job slug to delete |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_slug"
],
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug to delete"
}
}
}Delete a conversation. Accepts room_name or talent_slug. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| room_name | string | Room name from list_conversations |
| talent_slug | string | Talent slug (from search_talent results) — resolves to room name automatically |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"room_name": {
"type": "string",
"description": "Room name from list_conversations"
},
"talent_slug": {
"type": "string",
"description": "Talent slug (from search_talent results) — resolves to room name automatically"
}
}
}Delete one of the user's tailored resumes or cover letters. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | any | Document id or slug |
| type* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Document id or slug"
},
"type": {
"enum": [
"resume",
"cover_letter"
],
"type": "string"
}
}
}Delete an education entry from your Himalayas profile by id. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Education id, from get_my_profile |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Education id, from get_my_profile"
}
}
}Delete a work experience from your Himalayas profile by id. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Experience id, from get_my_profile |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Experience id, from get_my_profile"
}
}
}Delete one of the user's saved application answers. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Saved answer id from list_saved_answers |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Saved answer id from list_saved_answers"
}
}
}Write a resume and cover letter tailored to a Himalayas job, from the user's Himalayas profile. Use it when the user's CV is generic, they have no cover letter, or an application form asks for one. They are saved to the user's account, where the user can edit them and download a PDF. A free account gets one tailored resume and one cover letter in total; Himalayas Plus includes them for every job. Uses the connected Himalayas account; no extra sign-in needed. Use the company_slug and job_slug from job listings.
| Argument | Type | Description |
|---|---|---|
| job_slug* | string | Job slug (from the job listing URL) |
| documents | array | Which documents to write (default: both) |
| company_slug* | string | Company slug (from the job listing URL or company page) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_slug",
"job_slug"
],
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug (from the job listing URL)"
},
"documents": {
"type": "array",
"items": {
"enum": [
"resume",
"cover_letter"
],
"type": "string"
},
"description": "Which documents to write (default: both)"
},
"company_slug": {
"type": "string",
"description": "Company slug (from the job listing URL or company page)"
}
}
}Get the employer's application link for a job, once the user has decided to apply. Uses the connected Himalayas account (no extra sign-in needed); limited to 50 links per account per day. Use the company_slug and job_slug from job listings.
| Argument | Type | Description |
|---|---|---|
| job_slug* | string | Job slug (from the job listing URL) |
| company_slug* | string | Company slug (from the job listing URL or company page) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_slug",
"job_slug"
],
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug (from the job listing URL)"
},
"company_slug": {
"type": "string",
"description": "Company slug (from the job listing URL or company page)"
}
}
}Get a link to the user's Stripe billing page, where they can update their card, see invoices, or change or cancel Himalayas Plus themselves. Only for users who have paid before. Never act on billing for them. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Read one of the user's career coach conversations by slug from list_coach_chats. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Chat slug from list_coach_chats |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Chat slug from list_coach_chats"
}
}
}Browse remote-friendly companies with optional filtering by country or worldwide availability
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
| country | string | Filter companies by country (e.g., 'Canada', 'United States', 'UK') |
| worldwide | boolean | Show only companies with 100% remote jobs available worldwide (overrides country filter) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number for pagination (starts at 1)"
},
"country": {
"type": "string",
"description": "Filter companies by country (e.g., 'Canada', 'United States', 'UK')"
},
"worldwide": {
"type": "boolean",
"description": "Show only companies with 100% remote jobs available worldwide (overrides country filter)"
}
}
}Get full details for a company including about, tech stack, benefits, open positions, and social links
| Argument | Type | Description |
|---|---|---|
| company_slug* | string | Company slug (e.g., 'stripe', 'gitlab') |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_slug"
],
"properties": {
"company_slug": {
"type": "string",
"description": "Company slug (e.g., 'stripe', 'gitlab')"
}
}
}Get your company's perks/benefits on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get your company's profile on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get full message history for a conversation. Accepts room_name or talent_slug. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| room_name | string | Room name from list_conversations |
| talent_slug | string | Talent slug (from search_talent results) — resolves to room name automatically |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"room_name": {
"type": "string",
"description": "Room name from list_conversations"
},
"talent_slug": {
"type": "string",
"description": "Talent slug (from search_talent results) — resolves to room name automatically"
}
}
}Resolve a country name to the correct format accepted by Himalayas filters. Useful for fuzzy matching user input.
| Argument | Type | Description |
|---|---|---|
| country_string* | string | The country name to get the correct name for |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"country_string"
],
"properties": {
"country_string": {
"type": "string",
"description": "The country name to get the correct name for"
}
}
}Read one of the user's tailored resumes or cover letters by id (from list_documents). Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | any | Document id or slug |
| type* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Document id or slug"
},
"type": {
"enum": [
"resume",
"cover_letter"
],
"type": "string"
}
}
}Get the Himalayas page where the user makes AI headshots from a few photos of themselves. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get the Himalayas page where the user practises interviewing for a specific job: a Himalayas job (company_slug and job_slug) or a job elsewhere (application_link). On that page the user has a live spoken mock interview with an AI interviewer playing the company's hiring manager, with questions built from the job and their profile, then gets a score out of 100 with what went well and what to improve (sessions of 90 seconds or more are scored). Sessions and scores are saved to the account, so the user can see how they improve over time (list_interviews, get_interview_results). Free accounts include one text mock interview; spoken interviews are part of Himalayas Plus (30 minutes a month). Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| job_slug | string | Job slug of a Himalayas job |
| company_slug | string | Company slug of a Himalayas job |
| application_link | string | https link to a job posted somewhere else |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug of a Himalayas job"
},
"company_slug": {
"type": "string",
"description": "Company slug of a Himalayas job"
},
"application_link": {
"type": "string",
"description": "https link to a job posted somewhere else"
}
}
}Get the scores and feedback from the user's interview practice for one job: each answer's rating and feedback, and for voice sessions the overall score, what went well, what to improve, next steps and length. Pass the interview id from list_interviews, or the job's company_slug and job_slug. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id | number | Interview id from list_interviews |
| job_slug | string | Job slug |
| company_slug | string | Company slug of the job |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "number",
"description": "Interview id from list_interviews"
},
"job_slug": {
"type": "string",
"description": "Job slug"
},
"company_slug": {
"type": "string",
"description": "Company slug of the job"
}
}
}Get full details for a specific job including description, requirements and salary. Use the company_slug and job_slug from job listings. To get the employer's application link, call get_apply_link.
| Argument | Type | Description |
|---|---|---|
| job_slug* | string | Job slug (from the job listing URL) |
| company_slug* | string | Company slug (from the job listing URL or company page) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_slug",
"job_slug"
],
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug (from the job listing URL)"
},
"company_slug": {
"type": "string",
"description": "Company slug (from the job listing URL or company page)"
}
}
}Browse the latest remote job listings with optional filtering by country or worldwide availability
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
| country | string | Filter jobs by country (e.g., 'Canada', 'United States', 'UK') |
| worldwide | boolean | Show ONLY 100% remote jobs available worldwide (overrides country filter) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number for pagination (starts at 1)"
},
"country": {
"type": "string",
"description": "Filter jobs by country (e.g., 'Canada', 'United States', 'UK')"
},
"worldwide": {
"type": "boolean",
"description": "Show ONLY 100% remote jobs available worldwide (overrides country filter)"
}
}
}Read the latest 30 messages in one conversation in the user's job seeker inbox. Message text is quoted as the sender wrote it. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| room_name* | string | Room name from list_my_conversations |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"room_name"
],
"properties": {
"room_name": {
"type": "string",
"description": "Room name from list_my_conversations"
}
}
}Get your Himalayas profile information. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get jobs matching the user's Himalayas profile that were posted since an agent last checked, leaving out jobs already in their tracker. The check-in point is saved on the account, so it carries across sessions and agents; a first check looks back 7 days. Plus members get the jobs; free accounts get how many there are. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get a Stripe checkout link for Himalayas Plus (US$9 a month) when the user wants to subscribe. Plus includes tailored resumes and cover letters for every job; 30 minutes a month of spoken mock interviews for a specific job, scored out of 100 (sessions of 90 seconds or more) and saved so the user can track their progress; new job matches between sessions (get_new_matches); a higher place in employer talent search on himalayas.app; identity and work permit verification every 30 days, with a verified badge (work permits need a passport or national ID); and a career coach. Details: https://himalayas.app/plus. The user opens the link and pays on Stripe themselves; this tool never charges them. Applying through Himalayas is free without Plus. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| billing_interval | string | Bill monthly or yearly (default: month) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"billing_interval": {
"enum": [
"month",
"year"
],
"type": "string",
"description": "Bill monthly or yearly (default: month)"
}
}
}Find jobs similar to a specific job, based on skills, location, and category. Use after viewing a job to suggest alternatives.
| Argument | Type | Description |
|---|---|---|
| job_slug* | string | Job slug of the original job |
| company_slug* | string | Company slug of the original job |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_slug",
"job_slug"
],
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug of the original job"
},
"company_slug": {
"type": "string",
"description": "Company slug of the original job"
}
}
}Get remote work statistics: top skills, job categories, industries, or countries by job/company count.
| Argument | Type | Description |
|---|---|---|
| type | string | Type of breakdown: 'skills', 'categories', 'countries', or 'industries' (default: skills). 'industries' only works with record='companies'. |
| record | string | What to get stats for: 'jobs' or 'companies' (default: jobs) |
| country | string | Filter stats by country (e.g., 'United States', 'Germany') |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"type": {
"enum": [
"skills",
"categories",
"countries",
"industries"
],
"type": "string",
"description": "Type of breakdown: 'skills', 'categories', 'countries', or 'industries' (default: skills). 'industries' only works with record='companies'."
},
"record": {
"enum": [
"jobs",
"companies"
],
"type": "string",
"description": "What to get stats for: 'jobs' or 'companies' (default: jobs)"
},
"country": {
"type": "string",
"description": "Filter stats by country (e.g., 'United States', 'Germany')"
}
}
}Get salary benchmarks for remote jobs by job title, with optional seniority and country filters. Returns min, max, and median salary in USD.
| Argument | Type | Description |
|---|---|---|
| country | string | Country slug to filter by (e.g., 'united-states', 'united-kingdom', 'germany') |
| job_title* | string | Job title to look up salary for (e.g., 'software-engineer', 'product-manager', 'data-scientist'). Use hyphens instead of spaces. |
| seniority | string | Seniority level (e.g., 'senior', 'junior', 'lead', 'mid') |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_title"
],
"properties": {
"country": {
"type": "string",
"description": "Country slug to filter by (e.g., 'united-states', 'united-kingdom', 'germany')"
},
"job_title": {
"type": "string",
"description": "Job title to look up salary for (e.g., 'software-engineer', 'product-manager', 'data-scientist'). Use hyphens instead of spaces."
},
"seniority": {
"type": "string",
"description": "Seniority level (e.g., 'senior', 'junior', 'lead', 'mid')"
}
}
}List every job in the user's Himalayas job application tracker with its status (saved, applied, interviewing, negotiation, hired, archived), outcome, salary, notes and links, for tracking applications and seeing where each one stands. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get full details for a candidate including bio, all experiences, education, tech stack, social links, and more. Use the talent_slug from search_talent results. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| talent_slug* | string | Talent slug from search_talent (e.g. 'john-doe'). Also accepts '@john-doe' or a himalayas.app/@slug profile URL. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"talent_slug"
],
"properties": {
"talent_slug": {
"type": "string",
"description": "Talent slug from search_talent (e.g. 'john-doe'). Also accepts '@john-doe' or a himalayas.app/@slug profile URL."
}
}
}Get the next step for verifying the user's identity and work permits on Himalayas (the verified badge): whether they are verified, and otherwise the Stripe Identity link (when verification is included, as on Plus or Max) or a US$5 checkout link. Use it when the user wants to get verified: when verification is included, this starts it (a Plus or Max member's included verification is then used for 30 days). A passport or national ID verifies identity and the work permit for that country; other IDs verify identity only. get_my_profile shows whether they are verified. The user opens each link and does the verification or payment on Stripe themselves. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Fill in the user's Himalayas profile from their LinkedIn profile URL or their resume text. Runs in the background for a few minutes; get_my_profile shows the result. append_only adds what's missing and keeps what's there; replace_all overwrites the profile, so ask the user first. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| mode | string | Default append_only |
| resume_text | string | The full text of their resume |
| linkedin_url | string | Their LinkedIn profile URL, e.g. https://www.linkedin.com/in/name |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"append_only",
"replace_all"
],
"type": "string",
"description": "Default append_only"
},
"resume_text": {
"type": "string",
"description": "The full text of their resume"
},
"linkedin_url": {
"type": "string",
"description": "Their LinkedIn profile URL, e.g. https://www.linkedin.com/in/name"
}
}
}Join the waitlist for Himalayas Radar, a plan for people who are employed or not actively searching: alerts only for roles that beat their bar, a private open-to-offers mode with their current employer hidden, and a monthly salary check. Radar isn't available yet, so there is nothing to pay; Himalayas emails the user when it launches. Call it only if the user wants to join. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the user's conversations with the Himalayas career coach, newest first, with titles, dates and links. get_coach_chat reads one. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List your company's job postings on Himalayas. Shows status, views, clicks, and expiry. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number for pagination (starts at 1)"
}
}
}List all your messaging conversations with last message preview. Shows conversation status (awaiting reply, new reply, read). Uses the connected Himalayas employer account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the user's tailored resumes and cover letters on Himalayas, newest first, with ids and edit links. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| type | string | Only resumes or only cover letters (default: both) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"type": {
"enum": [
"resume",
"cover_letter"
],
"type": "string",
"description": "Only resumes or only cover letters (default: both)"
}
}
}List the AI headshots the user has made on Himalayas, newest first: each session's finished images with ids and URLs, and a link to see them. use_headshot_as_profile_photo sets one as the profile photo. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the user's interview practice on Himalayas: each job they practised for, when, and the link to practise again, plus the voice minutes and credits they have left. get_interview_results shows the scores. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the user's job seeker inbox: conversations companies and recruiters started with them on Himalayas, newest first, with the last message and whether it needs a reply. For an employer's conversations with candidates, use list_conversations. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the user's newest Himalayas notifications (up to 20), such as finished headshots, profile imports and community replies, with ids and whether each is read. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the answers the user saved to job application questions on Himalayas (for example work authorisation or notice period), with ids. Uses the connected Himalayas account; no extra sign-in needed.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Mark a message as read by its ID. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| room_name | string | Room name from list_conversations |
| message_id* | number | Message ID to mark as read |
| talent_slug | string | Talent slug (from search_talent results) — resolves to room name automatically |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"message_id"
],
"properties": {
"room_name": {
"type": "string",
"description": "Room name from list_conversations"
},
"message_id": {
"type": "number",
"description": "Message ID to mark as read"
},
"talent_slug": {
"type": "string",
"description": "Talent slug (from search_talent results) — resolves to room name automatically"
}
}
}Mark a message in the user's job seeker inbox as read. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| room_name* | string | Room name from list_my_conversations |
| message_id* | number | Message id from get_my_conversation |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"room_name",
"message_id"
],
"properties": {
"room_name": {
"type": "string",
"description": "Room name from list_my_conversations"
},
"message_id": {
"type": "number",
"description": "Message id from get_my_conversation"
}
}
}Mark one of the user's Himalayas notifications as read by id, or all of them with all: true. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id | number | Notification id from list_notifications |
| all | boolean | true marks every notification as read |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "number",
"description": "Notification id from list_notifications"
},
"all": {
"type": "boolean",
"description": "true marks every notification as read"
}
}
}Post a job on Himalayas without an account. Provide your email and company details. Payment is required — a Stripe checkout URL will be returned. No authentication needed.
| Argument | Type | Description |
|---|---|---|
| title* | string | Job title (5-80 characters) |
| seniority* | array | Seniority levels |
| max_salary | number | Maximum salary |
| skill_list | string | Comma-separated skills |
| base_salary | number | Minimum salary |
| company_url* | string | Company website URL |
| description* | string | Job description (350+ characters, can include HTML) |
| company_name* | string | Company name |
| category_list | string | Comma-separated job categories |
Purchase paid extras for an existing job posting: sticky ($299), newsletter ($99). Returns a Stripe checkout URL. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| extras* | array | Extras to purchase: 'sticky' ($299 pin to top), 'newsletter' ($99 weekly email feature) |
| job_slug* | string | Job slug to add extras to |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_slug",
"extras"
],
"properties": {
"extras": {
"type": "array",
"items": {
"enum": [
"sticky",
"newsletter"
],
"type": "string"
},
"minItems": 1,
"description": "Extras to purchase: 'sticky' ($299 pin to top), 'newsletter' ($99 weekly email feature)"
},
"job_slug": {
"type": "string",
"description": "Job slug to add extras to"
}
}
}Remove a perk/benefit from your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Perk ID to remove (use get_company_perks to find IDs) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Perk ID to remove (use get_company_perks to find IDs)"
}
}
}Remove a job from your application tracker. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Kanban item ID to remove |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Kanban item ID to remove"
}
}
}Send a reply in a conversation in the user's job seeker inbox. The company reads it as coming from the user, so show the user the exact text and get their OK before sending. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| message* | string | The reply, exactly as the user approved it |
| room_name* | string | Room name from list_my_conversations |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"room_name",
"message"
],
"properties": {
"message": {
"type": "string",
"description": "The reply, exactly as the user approved it"
},
"room_name": {
"type": "string",
"description": "Room name from list_my_conversations"
}
}
}Save a job to your application tracker. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| notes | string | Personal notes about this job |
| title* | string | Job title |
| status | string | Application status (default: saved) |
| app_link | string | Application link URL |
| currency | string | Salary currency (e.g., 'USD') |
| excitement | number | Excitement level from 0-5 |
| max_salary | number | Maximum salary |
| base_salary | number | Base salary |
| company_name* | string | Company name |
| himalayas_link | string | Himalayas job listing URL |
Search for remote-friendly companies using keywords with optional country filtering
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
| sort | string | Sort order for results (default: 'relevant') |
| country | string | Filter companies by country (e.g., 'Canada', 'United States', 'UK') |
| keyword | string | Search keyword/term (optional) |
| benefits | string | Comma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity') |
| worldwide | boolean | Show only companies with 100% remote jobs available worldwide (overrides country filter) |
| tech_stack | string | Comma-separated technology slugs to filter by (e.g., 'react,typescript,python') |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number for pagination (starts at 1)"
},
"sort": {
"enum": [
"relevant",
"recent",
"jobs",
"nameAToZ",
"nameZToA"
],
"type": "string",
"description": "Sort order for results (default: 'relevant')"
},
"country": {
"type": "string",
"description": "Filter companies by country (e.g., 'Canada', 'United States', 'UK')"
},
"keyword": {
"type": "string",
"description": "Search keyword/term (optional)"
},
"benefits": {
"type": "string",
"description": "Comma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity')"
},
"worldwide": {
"type": "boolean",
"description": "Show only companies with 100% remote jobs available worldwide (overrides country filter)"
},
"tech_stack": {
"type": "string",
"description": "Comma-separated technology slugs to filter by (e.g., 'react,typescript,python')"
}
}
}Search remote job listings on Himalayas by job title, role, skill or keyword, filtered by the countries a job is open to, worldwide availability, seniority, employment type, salary, markets, benefits or companies. Each result has the company, title, salary range when listed, the countries the job is open to, the posting date and the slugs for get_job_details.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
| sort | string | Sort order for results (default: 'relevant') |
| type | string | Filter by a single employment type (full-time, part-time, contractor, temporary, intern, volunteer, or other) |
| country | string | Filter jobs by country (e.g., 'Canada', 'United States', 'UK') |
| keyword | string | Job title, role or skill to search for, e.g. 'product manager' or 'react' (optional) |
| markets | string | Comma-separated market/category slugs to filter by (e.g., 'saas,fintech,healthcare') |
| benefits | string | Comma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity') |
| currency |
Search remote candidates and talent on Himalayas to hire or recruit, such as developers, designers or marketers, by skill, job title or keyword and country. Each result has the candidate's current role, salary expectation, job search status and the profile link for get_talent_profile. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1) |
| sort | string | Sort order (default: relevant) |
| country | string | Filter by country (e.g., 'United States', 'Germany') |
| keyword | string | Search keyword (e.g., 'react developer') |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number for pagination (starts at 1)"
},
"sort": {
"enum": [
"relevant",
"recent"
],
"type": "string",
"description": "Sort order (default: relevant)"
},
"country": {
"type": "string",
"description": "Filter by country (e.g., 'United States', 'Germany')"
},
"keyword": {
"type": "string",
"description": "Search keyword (e.g., 'react developer')"
}
}
}Send a message in an existing conversation. Accepts room_name (from list_conversations) or talent_slug (from search_talent). Use start_conversation first if no conversation exists yet. The candidate reads it as coming from the user's company, so show the user the exact text and get their OK before sending. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| message* | string | Message text to send |
| room_name | string | Room name from list_conversations |
| talent_slug | string | Talent slug (from search_talent results) — resolves to room name automatically |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"description": "Message text to send"
},
"room_name": {
"type": "string",
"description": "Room name from list_conversations"
},
"talent_slug": {
"type": "string",
"description": "Talent slug (from search_talent results) — resolves to room name automatically"
}
}
}Get full details of one of your company's job postings on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| job_slug* | string | Job slug (from list_company_jobs) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_slug"
],
"properties": {
"job_slug": {
"type": "string",
"description": "Job slug (from list_company_jobs)"
}
}
}Record that the user is passing on a Himalayas job, with the reason, so it stops coming back in get_new_matches and future matches can learn from it. job_closed also reports the listing as expired. For a job already in the tracker, use update_job_status with outcome didnt_apply instead. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| detail | string | Anything worth knowing, in a sentence or two (what the page said, a hidden requirement). No personal data. |
| reason* | string | Why the user is passing on it |
| job_slug* | string | Job slug (from the job listing URL) |
| company_slug* | string | Company slug (from the job listing URL) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_slug",
"job_slug",
"reason"
],
"properties": {
"detail": {
"type": "string",
"maxLength": 500,
"description": "Anything worth knowing, in a sentence or two (what the page said, a hidden requirement). No personal data."
},
"reason": {
"enum": [
"job_closed",
"needs_account",
"location_or_visa_restricted",
"pay_too_low",
"wrong_timezone",
"not_really_remote",
"wrong_seniority",
"wrong_role",
"not_interested",
"other"
],
"type": "string",
"description": "Why the user is passing on it"
},
"job_slug": {
"type": "string",
"description": "Job slug (from the job listing URL)"
},
"company_slug": {
"type": "string",
"description": "Company slug (from the job listing URL)"
}
}
}Start a conversation with a candidate by talent slug. Optionally send an initial message. If the conversation already exists, returns it. Use search_talent to find candidates first, then use their slug here. The candidate reads it as coming from the user's company, so show the user the exact text and get their OK before sending. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| message | string | Optional initial message to send with the conversation |
| talent_slug* | string | Talent slug of the candidate to message (from search_talent results) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"talent_slug"
],
"properties": {
"message": {
"type": "string",
"description": "Optional initial message to send with the conversation"
},
"talent_slug": {
"type": "string",
"description": "Talent slug of the candidate to message (from search_talent results)"
}
}
}Send a problem report about Himalayas to its engineering team: a missing capability (filter, field, tool), unclear or wrong documentation, a surprising response, an unhelpful error, a bug, a blocked page or action, or impractical performance. Describe the goal, what got in the way and, if known, a suggested fix. Fill `agent` with the client's name and model. Reports must not contain credentials, personal data or the user's private content.
| Argument | Type | Description |
|---|---|---|
| goal* | string | What you or your user were trying to accomplish, in plain language |
| type* | string | The kind of problem |
| agent | object | Who is reporting: name (agent or product) and model |
| message* | string | What prevented or complicated the task |
| outcome | string | blocked = task failed, degraded = completed worse or slower, completed = suggestion only |
| endpoint | string | The Himalayas tool involved, e.g. search_jobs |
| evidence | object | Sanitized details of the failing call, with no credentials or personal data |
| expected | string |
Change the user's account time zone (used for email timing). Name is on update_profile; email address and password can only be changed on himalayas.app. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| time_zone* | string | Time zone name, e.g. 'Pacific Time (US & Canada)' or 'London' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"time_zone"
],
"properties": {
"time_zone": {
"type": "string",
"description": "Time zone name, e.g. 'Pacific Time (US & Canada)' or 'London'"
}
}
}Update an existing job posting on Himalayas. Only provide fields you want to change. For screening_questions, provide the full set — questions not included will be removed. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| draft | boolean | Save as draft instead of submitting for approval |
| title | string | Job title (5-80 characters) |
| job_slug* | string | Job slug to update |
| seniority | array | Seniority levels |
| max_salary | number | Maximum salary |
| skill_list | string | Comma-separated skills |
| base_salary | number | Minimum salary |
| description | string | Job description (350+ characters, can include HTML) |
| category_list | string | Comma-separated job categories |
Update your company's profile on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| ceo | string | CEO name |
| about | string | Company description (HTML or plain text) |
| summary | string | Short company summary |
| string | Twitter URL | |
| string | Facebook URL | |
| string | LinkedIn URL | |
| string | Instagram URL | |
| year_founded | number | Year the company was founded |
| location_list | string | Comma-separated list of locations (e.g., 'San Francisco, New York') |
| num_employees_range | string | Number of employees range |
Update your company's tech stack on Himalayas. Pass technology names (e.g., 'React', 'Python') and they'll be matched to the Himalayas stack database. Uses the connected Himalayas employer account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| stacks* | array | Array of technology names (e.g., ['React', 'TypeScript', 'Python', 'AWS']) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"stacks"
],
"properties": {
"stacks": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Array of technology names (e.g., ['React', 'TypeScript', 'Python', 'AWS'])"
}
}
}Rename a tailored resume or cover letter, or replace a cover letter's text. Resume content is edited in the website's resume editor (link from list_documents). Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | any | Document id or slug |
| type* | string | |
| title | string | New title |
| content | string | Cover letters only: the full new text, paragraphs separated by blank lines |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "Document id or slug"
},
"type": {
"enum": [
"resume",
"cover_letter"
],
"type": "string"
},
"title": {
"type": "string",
"description": "New title"
},
"content": {
"type": "string",
"description": "Cover letters only: the full new text, paragraphs separated by blank lines"
}
}
}Edit an education entry on your Himalayas profile by id (get_my_profile lists the ids). Only the fields you pass change. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Education id |
| field | string | Field of study |
| grade | string | |
| degree | string | |
| school | string | |
| current | boolean | Currently enrolled |
| end_year | number | |
| activities | string | |
| sort_order | number | Position on the profile, 0 first |
| start_year | number | |
| description |
Turn Himalayas emails on or off for the user. Only the settings you pass change. Daily job-match emails are a Plus feature; free accounts get weekly. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| job_matches | boolean | Emails with new jobs that match the profile |
| job_reminders | boolean | Reminders about saved jobs |
| job_post_updates | boolean | Updates about jobs they posted (employers) |
| marketing_emails | boolean | Himalayas news and offers |
| job_post_reminders | boolean | Reminders about jobs they posted (employers) |
| job_match_frequency | string | How often job-match emails come (daily needs Plus) |
| application_followups | boolean | 'Did you hear back?' emails about applications |
| message_notifications | boolean | Emails when an employer messages them |
Edit a work experience on your Himalayas profile by id (get_my_profile lists the ids). Only the fields you pass change. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Experience id |
| title | string | Job title |
| end_date | string | End date (YYYY-MM-DD) |
| location | string | Country name for this role. Cities are not accepted. |
| sort_order | number | Position on the profile, 0 first |
| start_date | string | Start date (YYYY-MM-DD) |
| current_job | boolean | Whether this is the current job |
| description | string | Description of the role |
| company_name | string | Company name |
| employment_type |
Update a saved job's status, outcome or details. Use status for where the application is now (interviewing, negotiation for an offer, hired). Use outcome for an applied job that ended without progressing: rejected, no_response (no reply after 45+ days), withdrawn, or didnt_apply; status stays as it is. With didnt_apply, give a reason: job_closed reports the listing as expired, and the rest improve the user's future matches. Add detail for anything worth knowing (what the page said, a hidden requirement). Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Kanban item ID |
| notes | string | Updated notes |
| detail | string | Anything worth knowing about the outcome, in a sentence or two. No personal data. |
| reason | string | Why the user didn't apply (only with outcome didnt_apply) |
| status | string | New application status |
| outcome | string | What happened after applying, as reported by the user. "clear" removes a recorded outcome. |
| excitement | number | Excitement level from 0-5 |
Update your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| bio | string | Short bio |
| intro | string | Introduction/headline |
| github | string | GitHub profile URL |
| behance | string | Behance profile URL |
| string | Twitter/X profile URL | |
| website | string | Personal website URL |
| dribbble | string | Dribbble profile URL |
| string | LinkedIn profile URL | |
| location | string | Country name (e.g. 'United States', 'Australia'). Cities and 'City, Country' strings are not accepted. |
| username | string | New username: 3 to 30 letters, numbers, dashes or underscores. The profile moves to himalayas.app/@username and the old link stops working. |
Set the user's profile photo (avatar) or profile cover photo from an image URL (https, JPEG/PNG/WebP/GIF, up to 5 MB). Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| image_url* | string | https URL of the image |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"kind",
"image_url"
],
"properties": {
"kind": {
"enum": [
"avatar",
"cover_photo"
],
"type": "string"
},
"image_url": {
"type": "string",
"description": "https URL of the image"
}
}
}Change the text of one of the user's saved application answers, by id from list_saved_answers. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| id* | number | Saved answer id from list_saved_answers |
| answer* | string | The full new answer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"answer"
],
"properties": {
"id": {
"type": "number",
"description": "Saved answer id from list_saved_answers"
},
"answer": {
"type": "string",
"description": "The full new answer"
}
}
}Set the tools and technologies on your Himalayas profile, replacing the current list. Names are matched to Himalayas' catalogue; any it doesn't have yet are requested for review and left off for now. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| stacks* | array | Array of technology names (e.g., ['React', 'TypeScript', 'Node.js']) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"stacks"
],
"properties": {
"stacks": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Array of technology names (e.g., ['React', 'TypeScript', 'Node.js'])"
}
}
}Set one of the user's finished AI headshots as their Himalayas profile photo, by session id and image id from list_headshots. Uses the connected Himalayas account; no extra sign-in needed.
| Argument | Type | Description |
|---|---|---|
| image_id* | number | Image id from list_headshots |
| session_id* | number | Session id from list_headshots |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"session_id",
"image_id"
],
"properties": {
"image_id": {
"type": "number",
"description": "Image id from list_headshots"
},
"session_id": {
"type": "number",
"description": "Session id from list_headshots"
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"company_name",
"employment_type",
"description"
],
"properties": {
"title": {
"type": "string",
"description": "Job title"
},
"end_date": {
"type": "string",
"description": "End date (YYYY-MM-DD format, omit for current role)"
},
"location": {
"type": "string",
"description": "Country name for this role (e.g. 'United States', 'Germany'). Cities are not accepted."
},
"start_date": {
"type": "string",
"description": "Start date (YYYY-MM-DD format)"
},
"current_job": {
"type": "boolean",
"description": "Whether this is your current job"
},
"description": {
"type": "string",
"description": "Description of your role and responsibilities"
},
"company_name": {
"type": "string",
"description": "Company name"
},
"employment_type": {
"enum": [
"Full Time",
"Part Time",
"Self Employed",
"Freelance",
"Contractor",
"Temporary",
"Intern",
"Apprenticeship",
"Volunteer",
"Other"
],
"type": "string",
"description": "Employment type"
},
"experience_skill_list": {
"type": "string",
"description": "Comma-separated skills used in this role"
}
}
}| category_list |
| string |
| Comma-separated job categories |
| valid_through | string | Expiration date (ISO format, defaults to 30 days from now) |
| salary_country | string | Salary currency code (default: USD) |
| employment_type* | string | Employment type |
| app_link_or_email* | string | Application URL or email address — backend auto-detects via @ check |
| screening_questions | array | Screening questions for applicants |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"description",
"employment_type",
"seniority",
"app_link_or_email"
],
"properties": {
"draft": {
"type": "boolean",
"description": "Save as draft instead of submitting for approval"
},
"title": {
"type": "string",
"maxLength": 80,
"minLength": 5,
"description": "Job title (5-80 characters)"
},
"extras": {
"type": "array",
"items": {
"enum": [
"sticky",
"newsletter"
],
"type": "string"
},
"description": "Paid extras: 'sticky' ($299 pin to top for 30 days), 'newsletter' ($99 feature in weekly email for 30 days)"
},
"seniority": {
"type": "array",
"items": {
"enum": [
"Entry-level",
"Mid-level",
"Senior",
"Manager",
"Director",
"Executive"
],
"type": "string"
},
"description": "Seniority levels"
},
"max_salary": {
"type": "number",
"description": "Maximum salary"
},
"skill_list": {
"type": "string",
"description": "Comma-separated skills"
},
"base_salary": {
"type": "number",
"description": "Minimum salary"
},
"description": {
"type": "string",
"minLength": 350,
"description": "Job description (350+ characters, can include HTML)"
},
"category_list": {
"type": "string",
"description": "Comma-separated job categories"
},
"valid_through": {
"type": "string",
"description": "Expiration date (ISO format, defaults to 30 days from now)"
},
"salary_country": {
"type": "string",
"description": "Salary currency code (default: USD)"
},
"employment_type": {
"enum": [
"Full Time",
"Part Time",
"Contractor",
"Temporary",
"Intern",
"Volunteer",
"Other"
],
"type": "string",
"description": "Employment type"
},
"app_link_or_email": {
"type": "string",
"description": "Application URL or email address — backend auto-detects via @ check"
},
"screening_questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"question_type"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "string"
},
"description": "Answer options (for mpc type)"
},
"question": {
"type": "string",
"description": "Question text"
},
"required": {
"type": "boolean",
"description": "Whether answer is required"
},
"question_type": {
"enum": [
"boolean",
"text",
"mpc"
],
"type": "string",
"description": "Question type"
},
"correct_option": {
"type": "number",
"description": "Index of correct option (for mpc type)"
},
"expected_answer": {
"type": "string",
"description": "Expected answer (for boolean: 'true'/'false')"
}
}
},
"description": "Screening questions for applicants"
}
}
}| valid_through | string | Expiration date (ISO format, defaults to 30 days from now) |
| customer_email* | string | Your email address for payment and notifications |
| salary_country | string | Salary currency code (default: USD) |
| employment_type* | string | Employment type |
| app_link_or_email* | string | Application URL or email address |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_email",
"company_name",
"company_url",
"title",
"description",
"employment_type",
"seniority",
"app_link_or_email"
],
"properties": {
"title": {
"type": "string",
"maxLength": 80,
"minLength": 5,
"description": "Job title (5-80 characters)"
},
"seniority": {
"type": "array",
"items": {
"enum": [
"Entry-level",
"Mid-level",
"Senior",
"Manager",
"Director",
"Executive"
],
"type": "string"
},
"description": "Seniority levels"
},
"max_salary": {
"type": "number",
"description": "Maximum salary"
},
"skill_list": {
"type": "string",
"description": "Comma-separated skills"
},
"base_salary": {
"type": "number",
"description": "Minimum salary"
},
"company_url": {
"type": "string",
"description": "Company website URL"
},
"description": {
"type": "string",
"minLength": 350,
"description": "Job description (350+ characters, can include HTML)"
},
"company_name": {
"type": "string",
"description": "Company name"
},
"category_list": {
"type": "string",
"description": "Comma-separated job categories"
},
"valid_through": {
"type": "string",
"description": "Expiration date (ISO format, defaults to 30 days from now)"
},
"customer_email": {
"type": "string",
"description": "Your email address for payment and notifications"
},
"salary_country": {
"type": "string",
"description": "Salary currency code (default: USD)"
},
"employment_type": {
"enum": [
"Full Time",
"Part Time",
"Contractor",
"Temporary",
"Intern",
"Volunteer",
"Other"
],
"type": "string",
"description": "Employment type"
},
"app_link_or_email": {
"type": "string",
"description": "Application URL or email address"
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"company_name"
],
"properties": {
"notes": {
"type": "string",
"description": "Personal notes about this job"
},
"title": {
"type": "string",
"description": "Job title"
},
"status": {
"enum": [
"seen",
"saved",
"applied",
"interviewing",
"negotiation",
"hired",
"archived"
],
"type": "string",
"description": "Application status (default: saved)"
},
"app_link": {
"type": "string",
"description": "Application link URL"
},
"currency": {
"type": "string",
"description": "Salary currency (e.g., 'USD')"
},
"excitement": {
"type": "number",
"maximum": 5,
"minimum": 0,
"description": "Excitement level from 0-5"
},
"max_salary": {
"type": "number",
"description": "Maximum salary"
},
"base_salary": {
"type": "number",
"description": "Base salary"
},
"company_name": {
"type": "string",
"description": "Company name"
},
"himalayas_link": {
"type": "string",
"description": "Himalayas job listing URL"
}
}
}| string |
| Salary currency (default: USD). salary_min and salary_max are always USD; this doesn't convert them. |
| companies | string | Comma-separated company slugs to filter by (e.g., 'stripe,gitlab') |
| worldwide | boolean | Show ONLY 100% remote jobs available worldwide (overrides country filter) |
| experience | string | Filter by a single experience/seniority level (entry-level, mid-level, senior, manager, director, or executive) |
| salary_max | number | Maximum yearly pay in USD, compared the same way as salary_min |
| salary_min | number | Minimum yearly pay in USD. Hourly, weekly and monthly pay is converted to a yearly figure first (hourly x 2080), so hourly jobs whose yearly equivalent clears it are included. |
| salary_required | boolean | If false, include jobs without salary data in salary-filtered results (default: true — only jobs with salary) |
| exclude_worldwide | boolean | When true and country is set, return ONLY jobs specifically available in that country, excluding worldwide/remote jobs. Requires country to be set. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Page number for pagination (starts at 1)"
},
"sort": {
"enum": [
"relevant",
"recent",
"salaryAsc",
"salaryDesc"
],
"type": "string",
"description": "Sort order for results (default: 'relevant')"
},
"type": {
"enum": [
"full-time",
"part-time",
"contractor",
"temporary",
"intern",
"volunteer",
"other"
],
"type": "string",
"description": "Filter by a single employment type (full-time, part-time, contractor, temporary, intern, volunteer, or other)"
},
"country": {
"type": "string",
"description": "Filter jobs by country (e.g., 'Canada', 'United States', 'UK')"
},
"keyword": {
"type": "string",
"description": "Job title, role or skill to search for, e.g. 'product manager' or 'react' (optional)"
},
"markets": {
"type": "string",
"description": "Comma-separated market/category slugs to filter by (e.g., 'saas,fintech,healthcare')"
},
"benefits": {
"type": "string",
"description": "Comma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity')"
},
"currency": {
"enum": [
"USD",
"AUD",
"EUR",
"JPY",
"GBP",
"CAD",
"CHF",
"CNY",
"HKD",
"NZD",
"SGD",
"SEK",
"KRW",
"NOK",
"INR",
"MXN",
"TWD",
"ZAR",
"BRL",
"IDR",
"PHP",
"THB",
"CLP",
"CZK",
"DKK",
"HUF",
"ILS",
"TRY",
"PLN"
],
"type": "string",
"description": "Salary currency (default: USD). salary_min and salary_max are always USD; this doesn't convert them."
},
"companies": {
"type": "string",
"description": "Comma-separated company slugs to filter by (e.g., 'stripe,gitlab')"
},
"worldwide": {
"type": "boolean",
"description": "Show ONLY 100% remote jobs available worldwide (overrides country filter)"
},
"experience": {
"enum": [
"entry-level",
"mid-level",
"senior",
"manager",
"director",
"executive"
],
"type": "string",
"description": "Filter by a single experience/seniority level (entry-level, mid-level, senior, manager, director, or executive)"
},
"salary_max": {
"type": "number",
"minimum": 0,
"description": "Maximum yearly pay in USD, compared the same way as salary_min"
},
"salary_min": {
"type": "number",
"minimum": 0,
"description": "Minimum yearly pay in USD. Hourly, weekly and monthly pay is converted to a yearly figure first (hourly x 2080), so hourly jobs whose yearly equivalent clears it are included."
},
"salary_required": {
"type": "boolean",
"description": "If false, include jobs without salary data in salary-filtered results (default: true — only jobs with salary)"
},
"exclude_worldwide": {
"type": "boolean",
"description": "When true and country is set, return ONLY jobs specifically available in that country, excluding worldwide/remote jobs. Requires country to be set."
}
}
}| What you expected to find or happen |
| metadata | object |
| request_id | string |
| session_id | string | Reuse the same value for every report in one task |
| suggestion | string | A concrete change that would have let you succeed |
| workaround | boolean | Whether you found a workaround |
| workaround_description | string | The workaround, if any |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type",
"goal",
"message"
],
"properties": {
"goal": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "What you or your user were trying to accomplish, in plain language"
},
"type": {
"enum": [
"missing_capability",
"bug",
"unclear_documentation",
"unexpected_response",
"unhelpful_error",
"performance",
"other"
],
"type": "string",
"description": "The kind of problem"
},
"agent": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 256
},
"model": {
"type": "string",
"maxLength": 256
},
"version": {
"type": "string",
"maxLength": 256
},
"framework": {
"type": "string",
"maxLength": 256
}
},
"description": "Who is reporting: name (agent or product) and model",
"additionalProperties": false
},
"message": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"description": "What prevented or complicated the task"
},
"outcome": {
"enum": [
"blocked",
"degraded",
"completed"
],
"type": "string",
"description": "blocked = task failed, degraded = completed worse or slower, completed = suggestion only"
},
"endpoint": {
"type": "string",
"maxLength": 512,
"description": "The Himalayas tool involved, e.g. search_jobs"
},
"evidence": {
"type": "object",
"properties": {
"request": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"status_code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"response_excerpt": {
"type": "string",
"maxLength": 4000
}
},
"description": "Sanitized details of the failing call, with no credentials or personal data",
"additionalProperties": false
},
"expected": {
"type": "string",
"maxLength": 2000,
"description": "What you expected to find or happen"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"request_id": {
"type": "string",
"maxLength": 256
},
"session_id": {
"type": "string",
"maxLength": 256,
"description": "Reuse the same value for every report in one task"
},
"suggestion": {
"type": "string",
"maxLength": 2000,
"description": "A concrete change that would have let you succeed"
},
"workaround": {
"type": "boolean",
"description": "Whether you found a workaround"
},
"workaround_description": {
"type": "string",
"maxLength": 2000,
"description": "The workaround, if any"
}
},
"additionalProperties": false
}| valid_through | string | Expiration date (ISO format) |
| salary_country | string | Salary currency code |
| employment_type | string | Employment type |
| app_link_or_email | string | Application URL or email address |
| screening_questions | array | Screening questions — provide full set, questions not included will be removed |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"job_slug"
],
"properties": {
"draft": {
"type": "boolean",
"description": "Save as draft instead of submitting for approval"
},
"title": {
"type": "string",
"maxLength": 80,
"minLength": 5,
"description": "Job title (5-80 characters)"
},
"job_slug": {
"type": "string",
"description": "Job slug to update"
},
"seniority": {
"type": "array",
"items": {
"enum": [
"Entry-level",
"Mid-level",
"Senior",
"Manager",
"Director",
"Executive"
],
"type": "string"
},
"description": "Seniority levels"
},
"max_salary": {
"type": "number",
"description": "Maximum salary"
},
"skill_list": {
"type": "string",
"description": "Comma-separated skills"
},
"base_salary": {
"type": "number",
"description": "Minimum salary"
},
"description": {
"type": "string",
"minLength": 350,
"description": "Job description (350+ characters, can include HTML)"
},
"category_list": {
"type": "string",
"description": "Comma-separated job categories"
},
"valid_through": {
"type": "string",
"description": "Expiration date (ISO format)"
},
"salary_country": {
"type": "string",
"description": "Salary currency code"
},
"employment_type": {
"enum": [
"Full Time",
"Part Time",
"Contractor",
"Temporary",
"Intern",
"Volunteer",
"Other"
],
"type": "string",
"description": "Employment type"
},
"app_link_or_email": {
"type": "string",
"description": "Application URL or email address"
},
"screening_questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"question_type"
],
"properties": {
"id": {
"type": "number",
"description": "Existing question ID (omit for new questions)"
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"description": "Answer options (for mpc type)"
},
"question": {
"type": "string",
"description": "Question text"
},
"required": {
"type": "boolean",
"description": "Whether answer is required"
},
"question_type": {
"enum": [
"boolean",
"text",
"mpc"
],
"type": "string",
"description": "Question type"
},
"correct_option": {
"type": "number",
"description": "Index of correct option"
},
"expected_answer": {
"type": "string",
"description": "Expected answer"
}
}
},
"description": "Screening questions — provide full set, questions not included will be removed"
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ceo": {
"type": "string",
"description": "CEO name"
},
"about": {
"type": "string",
"description": "Company description (HTML or plain text)"
},
"summary": {
"type": "string",
"description": "Short company summary"
},
"twitter": {
"type": "string",
"description": "Twitter URL"
},
"facebook": {
"type": "string",
"description": "Facebook URL"
},
"linkedin": {
"type": "string",
"description": "LinkedIn URL"
},
"instagram": {
"type": "string",
"description": "Instagram URL"
},
"year_founded": {
"type": "number",
"description": "Year the company was founded"
},
"location_list": {
"type": "string",
"description": "Comma-separated list of locations (e.g., 'San Francisco, New York')"
},
"num_employees_range": {
"enum": [
"1-10",
"11-50",
"51-200",
"201-500",
"501-1000",
"1001-5000",
"5000+"
],
"type": "string",
"description": "Number of employees range"
}
}
}| string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Education id"
},
"field": {
"type": "string",
"description": "Field of study"
},
"grade": {
"type": "string"
},
"degree": {
"type": "string"
},
"school": {
"type": "string"
},
"current": {
"type": "boolean",
"description": "Currently enrolled"
},
"end_year": {
"type": "number"
},
"activities": {
"type": "string"
},
"sort_order": {
"type": "number",
"description": "Position on the profile, 0 first"
},
"start_year": {
"type": "number"
},
"description": {
"type": "string"
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"job_matches": {
"type": "boolean",
"description": "Emails with new jobs that match the profile"
},
"job_reminders": {
"type": "boolean",
"description": "Reminders about saved jobs"
},
"job_post_updates": {
"type": "boolean",
"description": "Updates about jobs they posted (employers)"
},
"marketing_emails": {
"type": "boolean",
"description": "Himalayas news and offers"
},
"job_post_reminders": {
"type": "boolean",
"description": "Reminders about jobs they posted (employers)"
},
"job_match_frequency": {
"enum": [
"daily",
"weekly"
],
"type": "string",
"description": "How often job-match emails come (daily needs Plus)"
},
"application_followups": {
"type": "boolean",
"description": "'Did you hear back?' emails about applications"
},
"message_notifications": {
"type": "boolean",
"description": "Emails when an employer messages them"
}
}
}| string |
| experience_skill_list | array | Skills used in this role. Replaces the current list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Experience id"
},
"title": {
"type": "string",
"description": "Job title"
},
"end_date": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"location": {
"type": "string",
"description": "Country name for this role. Cities are not accepted."
},
"sort_order": {
"type": "number",
"description": "Position on the profile, 0 first"
},
"start_date": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"current_job": {
"type": "boolean",
"description": "Whether this is the current job"
},
"description": {
"type": "string",
"description": "Description of the role"
},
"company_name": {
"type": "string",
"description": "Company name"
},
"employment_type": {
"enum": [
"Full Time",
"Part Time",
"Self Employed",
"Freelance",
"Contractor",
"Temporary",
"Intern",
"Apprenticeship",
"Volunteer",
"Other"
],
"type": "string"
},
"experience_skill_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "Skills used in this role. Replaces the current list."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "Kanban item ID"
},
"notes": {
"type": "string",
"description": "Updated notes"
},
"detail": {
"type": "string",
"maxLength": 500,
"description": "Anything worth knowing about the outcome, in a sentence or two. No personal data."
},
"reason": {
"enum": [
"job_closed",
"needs_account",
"location_or_visa_restricted",
"pay_too_low",
"wrong_timezone",
"not_really_remote",
"wrong_seniority",
"wrong_role",
"not_interested",
"other"
],
"type": "string",
"description": "Why the user didn't apply (only with outcome didnt_apply)"
},
"status": {
"enum": [
"seen",
"saved",
"applied",
"interviewing",
"negotiation",
"hired",
"archived"
],
"type": "string",
"description": "New application status"
},
"outcome": {
"enum": [
"rejected",
"no_response",
"withdrawn",
"didnt_apply",
"clear"
],
"type": "string",
"description": "What happened after applying, as reported by the user. \"clear\" removes a recorded outcome."
},
"excitement": {
"type": "number",
"maximum": 5,
"minimum": 0,
"description": "Excitement level from 0-5"
}
}
}| last_name | string | Last name |
| portfolio | string | Portfolio URL |
| seniority | array | Seniority levels the user wants. Replaces the current list. |
| first_name | string | First name, as shown on the profile and tailored resumes |
| visibility | string | public_profile: employers can find and view it. unsearchable_profile: viewable by link but not in search. private_profile: only the user sees it. |
| contact_email | string | Email shown to employers, if different from the login email |
| email_visible | boolean | Show the contact email on the profile |
| career_max_salary | number | Desired maximum salary |
| career_skill_list | array | Skills for job matching (e.g. ['Product design', 'User research']). Replaces the current list. |
| career_base_salary | number | Desired minimum salary |
| career_description | string | Description of what you're looking for |
| career_company_size | object | Company size preferences, e.g. {'1-10': 'not_interested', '51-200': 'preferred'}. Replaces all current size preferences, so include every size the user cares about. |
| career_compensation | string | How the user feels about equity as part of pay |
| career_primary_role | string | Primary role (e.g., 'software-engineer') |
| career_search_status | string | Career search status (e.g., 'actively_searching', 'open_to_roles', 'closed_to_roles') |
| career_salary_country | string | Currency of the desired salary |
| career_working_permits | array | Countries the user can legally work in, as country names (e.g. ['United States']). Replaces the current list. |
| career_interested_role_list | array | Other roles the user is interested in. Replaces the current list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bio": {
"type": "string",
"description": "Short bio"
},
"intro": {
"type": "string",
"description": "Introduction/headline"
},
"github": {
"type": "string",
"description": "GitHub profile URL"
},
"behance": {
"type": "string",
"description": "Behance profile URL"
},
"twitter": {
"type": "string",
"description": "Twitter/X profile URL"
},
"website": {
"type": "string",
"description": "Personal website URL"
},
"dribbble": {
"type": "string",
"description": "Dribbble profile URL"
},
"linkedin": {
"type": "string",
"description": "LinkedIn profile URL"
},
"location": {
"type": "string",
"description": "Country name (e.g. 'United States', 'Australia'). Cities and 'City, Country' strings are not accepted."
},
"username": {
"type": "string",
"description": "New username: 3 to 30 letters, numbers, dashes or underscores. The profile moves to himalayas.app/@username and the old link stops working."
},
"last_name": {
"type": "string",
"description": "Last name"
},
"portfolio": {
"type": "string",
"description": "Portfolio URL"
},
"seniority": {
"type": "array",
"items": {
"enum": [
"Entry-level",
"Mid-level",
"Senior",
"Manager",
"Director",
"Executive"
],
"type": "string"
},
"description": "Seniority levels the user wants. Replaces the current list."
},
"first_name": {
"type": "string",
"description": "First name, as shown on the profile and tailored resumes"
},
"visibility": {
"enum": [
"public_profile",
"unsearchable_profile",
"private_profile"
],
"type": "string",
"description": "public_profile: employers can find and view it. unsearchable_profile: viewable by link but not in search. private_profile: only the user sees it."
},
"contact_email": {
"type": "string",
"description": "Email shown to employers, if different from the login email"
},
"email_visible": {
"type": "boolean",
"description": "Show the contact email on the profile"
},
"career_max_salary": {
"type": "number",
"description": "Desired maximum salary"
},
"career_skill_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "Skills for job matching (e.g. ['Product design', 'User research']). Replaces the current list."
},
"career_base_salary": {
"type": "number",
"description": "Desired minimum salary"
},
"career_description": {
"type": "string",
"description": "Description of what you're looking for"
},
"career_company_size": {
"type": "object",
"required": [
"1-10",
"11-50",
"51-200",
"201-500",
"501-1000",
"1001-5000",
"5000+"
],
"description": "Company size preferences, e.g. {'1-10': 'not_interested', '51-200': 'preferred'}. Replaces all current size preferences, so include every size the user cares about.",
"propertyNames": {
"enum": [
"1-10",
"11-50",
"51-200",
"201-500",
"501-1000",
"1001-5000",
"5000+"
],
"type": "string"
},
"additionalProperties": {
"enum": [
"not_interested",
"okay",
"preferred"
],
"type": "string"
}
},
"career_compensation": {
"enum": [
"no_equity",
"open_to_compensation",
"equity_important"
],
"type": "string",
"description": "How the user feels about equity as part of pay"
},
"career_primary_role": {
"type": "string",
"description": "Primary role (e.g., 'software-engineer')"
},
"career_search_status": {
"enum": [
"actively_searching",
"open_to_roles",
"closed_to_roles"
],
"type": "string",
"description": "Career search status (e.g., 'actively_searching', 'open_to_roles', 'closed_to_roles')"
},
"career_salary_country": {
"enum": [
"USD",
"AUD",
"EUR",
"JPY",
"GBP",
"CAD",
"CHF",
"CNY",
"HKD",
"NZD",
"SGD",
"SEK",
"KRW",
"NOK",
"INR",
"MXN",
"TWD",
"ZAR",
"BRL",
"IDR",
"PHP",
"THB",
"CLP",
"CZK",
"DKK",
"HUF",
"ILS",
"TRY",
"PLN"
],
"type": "string",
"description": "Currency of the desired salary"
},
"career_working_permits": {
"type": "array",
"items": {
"type": "string"
},
"description": "Countries the user can legally work in, as country names (e.g. ['United States']). Replaces the current list."
},
"career_interested_role_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "Other roles the user is interested in. Replaces the current list."
}
}
}