Server definition
- Hash
- sha256:7c9823c1d64eb176c552039ea1a3713c6a8a50b7968cdcf10bfc2199857df9d3
- What it is
- What a remote MCP server returned when asked what it offers: 136 tools
The blob, as servednamed by its sha256
{
"instructions": "100Hires ATS. Conventions shared by all tools:\n- company_id is needed only when the API key or OAuth grant spans several companies; otherwise omit it.\n- Candidate and job ids accept the numeric id or the alias string.\n- List tools paginate with page (1-based) and size (default 25, max 100) and default to view=summary, which omits heavy fields (descriptions, message bodies, profile arrays). Use view=full or the matching hires_get_* tool when one full record is needed.\n- Time filters accept Unix seconds or ISO-8601 (2026-05-11T00:00:00Z); fractional seconds are truncated.\n- include is a comma-separated list of relations to embed; every relation adds payload.\n- A result above the tool budget comes back as isError with error_code=response_too_large and hints: lower size, narrow filters, or fetch a single record.\n- Career-site tools (hires_list_career_jobs, hires_get_career_job, hires_submit_career_application) are public and identify the company by company_slug.",
"tools": [
{
"description": "Add tags to a candidate.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"tags"
],
"type": "object"
},
"name": "hires_add_candidate_tags",
"outputSchema": null
},
{
"description": "Add a company user to the job's hiring team.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"user_id": {
"type": "number"
}
},
"required": [
"id",
"user_id"
],
"type": "object"
},
"name": "hires_add_hiring_team_member",
"outputSchema": null
},
{
"description": "Advance an application to the next stage in workflow order; no stage_id needed.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job. Pass candidate,job so the widget can link to the candidate and job pages",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_advance_application",
"outputSchema": null
},
{
"description": "Add tags to up to 100 candidates; returns per-item results.",
"inputSchema": {
"properties": {
"ids": {
"description": "Candidate ids",
"items": {
"type": "number"
},
"type": "array"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"ids",
"tags"
],
"type": "object"
},
"name": "hires_batch_add_tags",
"outputSchema": null
},
{
"description": "Create up to 100 scheduled messages in one request; items are processed independently, one failure does not stop the others.",
"inputSchema": {
"properties": {
"messages": {
"items": {
"properties": {
"application_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
]
},
"bcc": {
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "HTML",
"type": "string"
},
"candidate_id": {
"type": "integer"
},
"cc": {
"items": {
"type": "string"
},
"type": "array"
},
"from_account_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Default: API key owner's default mail account"
},
"reply_to_email_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Mailbox message id to reply to"
},
"scheduled_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Unix seconds; default now + 900"
},
"send_in_new_thread": {
"description": "Start a new thread instead of replying",
"type": "boolean"
},
"subject": {
"type": "string"
},
"to": {
"description": "Recipient emails",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"candidate_id",
"to",
"subject",
"body"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"messages"
],
"type": "object"
},
"name": "hires_batch_create_messages",
"outputSchema": null
},
{
"description": "Get board publication states for several jobs at once.",
"inputSchema": {
"properties": {
"jobs": {
"description": "Job ids",
"items": {
"type": "number"
},
"type": "array"
}
},
"required": [
"jobs"
],
"type": "object"
},
"name": "hires_batch_job_boards",
"outputSchema": null
},
{
"description": "Move up to 100 applications to a stage in one request; per-item results, partial success allowed.",
"inputSchema": {
"properties": {
"ids": {
"description": "Max 100",
"items": {
"type": "number"
},
"type": "array"
},
"stage_id": {
"type": "number"
}
},
"required": [
"ids",
"stage_id"
],
"type": "object"
},
"name": "hires_batch_move_applications",
"outputSchema": null
},
{
"description": "Queue several jobs for publication on the given boards.",
"inputSchema": {
"properties": {
"boards": {
"description": "e.g. indeed, linkedin",
"items": {
"type": "string"
},
"type": "array"
},
"jobs": {
"description": "Job ids",
"items": {
"type": "number"
},
"type": "array"
}
},
"required": [
"jobs"
],
"type": "object"
},
"name": "hires_batch_publish_to_boards",
"outputSchema": null
},
{
"description": "Reject up to 100 applications in one request, optionally with a reason; per-item results, partial success allowed.",
"inputSchema": {
"properties": {
"ids": {
"description": "Max 100",
"items": {
"type": "number"
},
"type": "array"
},
"rejection_reason_id": {
"description": "From hires_list_rejection_reasons",
"type": "number"
}
},
"required": [
"ids"
],
"type": "object"
},
"name": "hires_batch_reject_applications",
"outputSchema": null
},
{
"description": "Deactivate publication of several jobs on the given boards.",
"inputSchema": {
"properties": {
"boards": {
"description": "e.g. indeed, linkedin",
"items": {
"type": "string"
},
"type": "array"
},
"jobs": {
"description": "Job ids",
"items": {
"type": "number"
},
"type": "array"
}
},
"required": [
"jobs"
],
"type": "object"
},
"name": "hires_batch_remove_from_boards",
"outputSchema": null
},
{
"description": "Remove tags from up to 100 candidates; returns per-item results.",
"inputSchema": {
"properties": {
"ids": {
"description": "Candidate ids",
"items": {
"type": "number"
},
"type": "array"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"ids",
"tags"
],
"type": "object"
},
"name": "hires_batch_remove_tags",
"outputSchema": null
},
{
"description": "Cancel all scheduled notification emails of a candidate; sent ones are unaffected.",
"inputSchema": {
"properties": {
"candidate_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"description": "Candidate id or alias"
}
},
"required": [
"candidate_id"
],
"type": "object"
},
"name": "hires_cancel_all_notification_messages",
"outputSchema": null
},
{
"description": "Link an existing candidate to a job, creating an application.",
"inputSchema": {
"properties": {
"candidate_id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"cv": {
"properties": {
"data": {
"description": "Base64 file content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. application/pdf",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
},
"job_id": {
"type": "number"
},
"stage_id": {
"description": "Defaults to the first stage",
"type": "number"
}
},
"required": [
"candidate_id",
"job_id"
],
"type": "object"
},
"name": "hires_create_application",
"outputSchema": null
},
{
"description": "Create a candidate, optionally with an application (job_id, stage_id) and resume text. Parse an attached resume yourself and pass the text via resume_text; never inline binary data.",
"inputSchema": {
"properties": {
"city": {
"description": "Also used to resolve timezone",
"type": "string"
},
"company_id": {
"type": "number"
},
"country": {
"description": "Name or ISO code",
"type": "string"
},
"email": {
"description": "Used for deduplication",
"type": "string"
},
"first_name": {
"type": "string"
},
"job_id": {
"description": "Creates an application for this job",
"type": "number"
},
"last_name": {
"type": "string"
},
"phone": {
"type": "string"
},
"profile": {
"description": "Profile answers keyed by question text or question_id",
"type": "object"
},
"resume_text": {
"description": "Plain text extracted from the resume; stored as a text/plain attachment. No binary or base64.",
"type": "string"
},
"stage_id": {
"description": "Initial stage; requires job_id",
"type": "number"
},
"state": {
"type": "string"
},
"timezone": {
"description": "IANA, e.g. America/Los_Angeles; resolved from city and country if omitted",
"type": "string"
}
},
"type": "object"
},
"name": "hires_create_candidate",
"outputSchema": null
},
{
"description": "Create a client company; provisions its public career site (slug) and public branding (name, logo).",
"inputSchema": {
"properties": {
"company_owner_email": {
"type": "string"
},
"company_owner_name": {
"type": "string"
},
"company_owner_phone": {
"type": "string"
},
"is_staffing_agency": {
"type": "boolean"
},
"logo": {
"properties": {
"data": {
"description": "Base64 file content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. image/png",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"name": {
"type": "string"
},
"url": {
"description": "Company profile URL",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"name",
"company_owner_email",
"company_owner_name"
],
"type": "object"
},
"name": "hires_create_company",
"outputSchema": null
},
{
"description": "Create an email template. Subject and body accept placeholders such as {{first_name}}; get the exact tags from hires_list_template_placeholders and hires_prepare_template_placeholders.",
"inputSchema": {
"properties": {
"body": {
"description": "HTML; placeholders allowed",
"type": "string"
},
"company_id": {
"type": "number"
},
"name": {
"type": "string"
},
"subject": {
"description": "Placeholders allowed",
"type": "string"
}
},
"required": [
"name",
"subject",
"body"
],
"type": "object"
},
"name": "hires_create_email_template",
"outputSchema": null
},
{
"description": "Create an application form, optionally attaching existing questions.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"name": {
"type": "string"
},
"questions": {
"description": "Question ids to attach",
"items": {
"type": "number"
},
"type": "array"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "hires_create_form",
"outputSchema": null
},
{
"description": "Schedule an interview for an application. The location is matched to an existing record or created.",
"inputSchema": {
"properties": {
"end_time": {
"description": "Unix seconds, after start_time",
"type": "number"
},
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, application, job",
"type": "string"
},
"interviewer_ids": {
"description": "Interviewer user ids",
"items": {
"type": "number"
},
"type": "array"
},
"location": {
"description": "Free text",
"type": "string"
},
"start_time": {
"description": "Unix seconds",
"type": "number"
}
},
"required": [
"id",
"start_time",
"end_time",
"interviewer_ids"
],
"type": "object"
},
"name": "hires_create_interview",
"outputSchema": null
},
{
"description": "Create a job. Required: status, title, description, location_country; location_city unless is_remote is true.",
"inputSchema": {
"properties": {
"ai_scoring_criteria": {
"description": "AI scoring criteria for ranking applicants",
"items": {
"properties": {
"id": {
"description": "Existing criterion id; omit to create",
"exclusiveMinimum": 0,
"type": "integer"
},
"text": {
"description": "What to evaluate",
"type": "string"
},
"title": {
"type": "string"
},
"weight": {
"description": "Relative importance",
"maximum": 10,
"minimum": 1,
"type": "integer"
}
},
"required": [
"text",
"weight"
],
"type": "object"
},
"type": "array"
},
"category_id": {
"description": "From hires_list_categories",
"type": "number"
},
"company_id": {
"type": "number"
},
"department_id": {
"description": "From hires_list_departments",
"type": "number"
},
"description": {
"description": "HTML allowed",
"type": "string"
},
"education_level_id": {
"description": "From hires_list_education_levels",
"type": "number"
},
"employment_type_id": {
"description": "From hires_list_employment_types",
"type": "number"
},
"experience_level_id": {
"description": "From hires_list_experience_levels",
"type": "number"
},
"form_id": {
"description": "Omitted = new form named after the job",
"type": "number"
},
"include": {
"description": "Embed: workflow, hiring_team, pipeline_stages",
"type": "string"
},
"internal_job_id": {
"description": "External reference id",
"type": "string"
},
"internal_title": {
"description": "Hiring team only",
"type": "string"
},
"is_remote": {
"description": "Remote job; with empty city, state and postal code Indeed posts it nationwide",
"type": "boolean"
},
"knockout_questions": {
"description": "Yes/No screening questions added to the application form",
"items": {
"properties": {
"disqualify_on_wrong_answer": {
"description": "Disqualify on wrong answer",
"type": "boolean"
},
"expected_answer": {
"enum": [
"Yes",
"No"
],
"type": "string"
},
"text": {
"description": "Shown to the applicant",
"type": "string"
}
},
"required": [
"text",
"expected_answer",
"disqualify_on_wrong_answer"
],
"type": "object"
},
"type": "array"
},
"language": {
"anyOf": [
{
"maxLength": 35,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"description": "Job page locale, e.g. de-DE; null = follow the career site language. Values: hires_list_languages"
},
"location_city": {
"description": "Required unless is_remote; empty = nationwide remote posting on Indeed",
"type": "string"
},
"location_country": {
"type": "string"
},
"location_full_address": {
"type": "string"
},
"location_postal_code": {
"type": "string"
},
"location_state": {
"type": "string"
},
"location_street_address": {
"type": "string"
},
"parent_job_id": {
"description": "Parent job; makes this a satellite job",
"type": "number"
},
"resume_field_status": {
"enum": [
"required",
"optional",
"hidden"
],
"type": "string"
},
"salary_currency": {
"description": "ISO code, e.g. USD",
"type": "string"
},
"salary_max": {
"type": "number"
},
"salary_min": {
"type": "number"
},
"salary_period": {
"enum": [
"annually",
"monthly",
"daily",
"hourly"
],
"type": "string"
},
"status": {
"description": "From hires_list_statuses, e.g. Draft, Public",
"type": "string"
},
"title": {
"type": "string"
},
"workflow_id": {
"description": "Omitted = new workflow named after the job",
"type": "number"
}
},
"required": [
"status",
"title",
"description",
"location_country"
],
"type": "object"
},
"name": "hires_create_job",
"outputSchema": null
},
{
"description": "Register an HTTPS webhook for this job's events. Returns signing_secret once; use it to verify the x-hires-signature-v2 header.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"url": {
"description": "HTTPS URL on a public host (no localhost, private or link-local IPs)",
"type": "string"
}
},
"required": [
"id",
"url"
],
"type": "object"
},
"name": "hires_create_job_webhook",
"outputSchema": null
},
{
"description": "Create a discussion note for a candidate, with optional visibility (all or private) and @mentions that email the mentioned users.",
"inputSchema": {
"properties": {
"body": {
"description": "HTML allowed",
"type": "string"
},
"candidate_id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"include": {
"description": "Embed: user (author), candidate. Pass candidate so the widget can link to the candidate profile",
"type": "string"
},
"mention_user_ids": {
"description": "Mentioned users get an email",
"items": {
"type": "number"
},
"type": "array"
},
"user_id": {
"description": "Author; defaults to the authenticated user",
"type": "number"
},
"visibility": {
"description": "all (default) or private",
"type": "string"
}
},
"required": [
"candidate_id",
"body"
],
"type": "object"
},
"name": "hires_create_note",
"outputSchema": null
},
{
"description": "Create a nurture campaign with ordered steps (email, sms, voicemail, move_to_next_stage, assign_tag, assign_task), optionally triggered by a workflow stage.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"delay_time": {
"description": "Delay before the first step, seconds (max 86400); wins over relative_days + relative_time if both are sent",
"type": "number"
},
"relative_days": {
"description": "Days after the trigger for the first step; use with relative_time",
"type": "number"
},
"relative_time": {
"description": "Time of day for the first step, seconds from midnight",
"type": "number"
},
"response_move_to_stage_id": {
"description": "Stage to move a candidate to when they reply",
"type": "number"
},
"send_to_all": {
"description": "Send to all candidates in the stage, not only new ones (default false)",
"type": "boolean"
},
"stage_id": {
"description": "Stage that triggers the campaign",
"type": "number"
},
"steps": {
"description": "Executed in order. Each field names the step types that use it and whether it is required there.",
"items": {
"properties": {
"assignees": {
"description": "assign_task (required): user ids",
"items": {
"type": "number"
},
"type": "array"
},
"attachment_uuid": {
"description": "voicemail (required): uuid from hires_upload_attachment, category voicemail",
"format": "uuid",
"type": "string"
},
"delay_days": {
"description": "Days to wait before this step",
"minimum": 0,
"type": "number"
},
"due_in_interval": {
"description": "assign_task: ISO-8601 duration, e.g. P3D",
"type": "string"
},
"id": {
"description": "Existing step id (update only)",
"type": "number"
},
"is_deleted": {
"description": "Update only: true removes the step",
"type": "boolean"
},
"is_new_thread": {
"description": "email: send as a new thread",
"type": "boolean"
},
"is_send_by_carousel": {
"description": "email, sms: rotate sender accounts",
"type": "boolean"
},
"priority": {
"description": "assign_task",
"type": "number"
},
"schedule_id": {
"description": "email, sms, voicemail: sending schedule id",
"type": "number"
},
"send_condition": {
"enum": [
"if_no_reply",
"if_no_reply_but_opened"
],
"type": "string"
},
"sender": {
"description": "email (required)",
"properties": {
"id": {
"type": "number"
},
"type": {
"description": "account or user",
"type": "string"
}
},
"required": [
"type",
"id"
],
"type": "object"
},
"sender_user_id": {
"description": "sms (required)",
"type": "number"
},
"stage_id": {
"description": "move_to_next_stage (required)",
"type": "number"
},
"tag_id": {
"description": "assign_tag (required)",
"type": "number"
},
"task_template_id": {
"description": "assign_task (required)",
"type": "number"
},
"template_id": {
"description": "email, sms (required)",
"type": "number"
},
"type": {
"enum": [
"email",
"sms",
"voicemail",
"move_to_next_stage",
"assign_tag",
"assign_task"
],
"type": "string"
}
},
"required": [
"type",
"delay_days",
"send_condition"
],
"type": "object"
},
"type": "array"
},
"timezone": {
"description": "IANA timezone, e.g. America/New_York",
"type": "string"
},
"title": {
"type": "string"
},
"workflow_id": {
"description": "Workflow the campaign is bound to",
"type": "number"
}
},
"required": [
"title",
"steps"
],
"type": "object"
},
"name": "hires_create_nurture_campaign",
"outputSchema": null
},
{
"description": "Create a reusable question; options apply to select/multiselect types.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"options": {
"description": "Answer options for select/multiselect types",
"items": {
"type": "string"
},
"type": "array"
},
"text": {
"type": "string"
},
"type": {
"description": "From hires_list_question_types",
"type": "string"
}
},
"required": [
"text",
"type"
],
"type": "object"
},
"name": "hires_create_question",
"outputSchema": null
},
{
"description": "Create a company-scoped webhook. signing_secret is returned once; use it to verify the x-hires-signature-v2 header on deliveries.",
"inputSchema": {
"properties": {
"id": {
"description": "Company id",
"type": "number"
},
"url": {
"description": "HTTPS URL on a public host (no localhost, private or link-local IPs)",
"type": "string"
}
},
"required": [
"id",
"url"
],
"type": "object"
},
"name": "hires_create_webhook",
"outputSchema": null
},
{
"description": "Permanently delete an application.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_application",
"outputSchema": null
},
{
"description": "Permanently delete a candidate.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_candidate",
"outputSchema": null
},
{
"description": "Soft-delete a company; its public career site goes offline.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_company",
"outputSchema": null
},
{
"description": "Soft-delete an email template; automations that used it cannot pick it for new actions.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_email_template",
"outputSchema": null
},
{
"description": "Delete an application form.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_form",
"outputSchema": null
},
{
"description": "Delete a job.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_job",
"outputSchema": null
},
{
"description": "Delete a job webhook.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"webhook_id": {
"type": "number"
}
},
"required": [
"id",
"webhook_id"
],
"type": "object"
},
"name": "hires_delete_job_webhook",
"outputSchema": null
},
{
"description": "Cancel a scheduled message before it is sent.",
"inputSchema": {
"properties": {
"id": {
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_message",
"outputSchema": null
},
{
"description": "Delete a note.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_note",
"outputSchema": null
},
{
"description": "Cancel a scheduled notification email; sent messages cannot be canceled.",
"inputSchema": {
"properties": {
"id": {
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_notification_message",
"outputSchema": null
},
{
"description": "Soft-delete a nurture campaign; running executions stop.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_nurture_campaign",
"outputSchema": null
},
{
"description": "Delete a reusable question from the catalog.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_delete_question",
"outputSchema": null
},
{
"description": "Delete a company-scoped webhook.",
"inputSchema": {
"properties": {
"id": {
"description": "Company id",
"type": "number"
},
"webhook_id": {
"type": "number"
}
},
"required": [
"id",
"webhook_id"
],
"type": "object"
},
"name": "hires_delete_webhook",
"outputSchema": null
},
{
"description": "Reject all active applications of a candidate; returns the affected application ids.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"reasons": {
"description": "Rejection reason ids from hires_list_rejection_reasons",
"items": {
"type": [
"number",
"string"
]
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_disqualify_candidate",
"outputSchema": null
},
{
"description": "Download an attachment (resume, candidate or application file, mail attachment, call recording) by the url another tool returned. Returns file_name, mime_type, size and base64 data; files over 25 MB are rejected.",
"inputSchema": {
"properties": {
"url": {
"description": "Absolute url from another tool's response; must be on the 100Hires API host",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "hires_download_attachment",
"outputSchema": null
},
{
"description": "Get the AI score of an application with per-criterion scores, justifications and follow-up questions; null score until scored.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_ai_score",
"outputSchema": null
},
{
"description": "Get an application with its stage, status and rejection context.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_application",
"outputSchema": null
},
{
"description": "Get billing and feature flags of the current company.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_get_billing",
"outputSchema": null
},
{
"description": "Get a candidate with application summaries.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_candidate",
"outputSchema": null
},
{
"description": "Get a candidate's primary resume: uuid, download url, file metadata, type. include=text_content adds the parsed plain text.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"include": {
"description": "text_content: add the parsed plain text",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_candidate_resume",
"outputSchema": null
},
{
"description": "Get a public job with salary, education and experience levels; 404 for draft, archived or internal jobs.",
"inputSchema": {
"properties": {
"company_slug": {
"type": "string"
},
"id": {
"type": "number"
}
},
"required": [
"company_slug",
"id"
],
"type": "object"
},
"name": "hires_get_career_job",
"outputSchema": null
},
{
"description": "Get career site settings: language is the locale the public site renders in (null = en-US); a job may override it with its own language field.",
"inputSchema": {
"properties": {
"company_id": {
"description": "Omit for the API key's own company",
"type": "number"
}
},
"type": "object"
},
"name": "hires_get_career_site_settings",
"outputSchema": null
},
{
"description": "Get a company profile with owner details.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_company",
"outputSchema": null
},
{
"description": "Get an email template with its subject and body.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_email_template",
"outputSchema": null
},
{
"description": "Get a filled evaluation form: evaluator, summary score and text, answers.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_evaluation",
"outputSchema": null
},
{
"description": "Get a form with its questions and their statuses.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_form",
"outputSchema": null
},
{
"description": "Get an interview by id.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, application, job",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_interview",
"outputSchema": null
},
{
"description": "Get a job by id or alias.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"include": {
"description": "Embed: workflow, hiring_team, pipeline_stages",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_job",
"outputSchema": null
},
{
"description": "Get a scheduled message with sender account, schedule timestamps and cancelability.",
"inputSchema": {
"properties": {
"id": {
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_message",
"outputSchema": null
},
{
"description": "Get a note with its author and visibility.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: user (author), candidate",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_note",
"outputSchema": null
},
{
"description": "Get a notification email (e.g. a rejection email): subject, body, sender, recipient, schedule. Ids come from hires_list_candidate_messages.",
"inputSchema": {
"properties": {
"id": {
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_notification_message",
"outputSchema": null
},
{
"description": "Get a nurture campaign with all steps and schedule settings.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_nurture_campaign",
"outputSchema": null
},
{
"description": "Get a question with its type and options.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_question",
"outputSchema": null
},
{
"description": "Get a user by id. Its default_mail_account_id can serve as from_account_id when sending emails.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_user",
"outputSchema": null
},
{
"description": "Get the stages of one workflow.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"id": {
"description": "Workflow id",
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_get_workflow_stages",
"outputSchema": null
},
{
"description": "Mark an application as hired: status becomes hired and hired_at is set.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_hire_application",
"outputSchema": null
},
{
"description": "List an application's attachments with file metadata and download URLs.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_application_attachments",
"outputSchema": null
},
{
"description": "List filled evaluation forms of an application with evaluator, summary score (strong-yes to strong-no) and summary text.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"view": {
"default": "summary",
"description": "summary replaces summary_text with a 200-char summary_text_preview",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_application_evaluations",
"outputSchema": null
},
{
"description": "Chronological stage transitions of an application, including the initial assignment: from/to stage, moved_at, moved_by_type (system, user, automation), moved_by_user_id and source. Prefer it over candidate activities for stage reports.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_application_stage_history",
"outputSchema": null
},
{
"description": "List applications across accessible jobs with filters by candidate, job, stage, status, AI score and dates. Each item embeds its current stage, so a pipeline view needs no extra job call.",
"inputSchema": {
"properties": {
"ai_score_max": {
"type": "number"
},
"ai_score_min": {
"type": "number"
},
"candidate_id": {
"type": "number"
},
"company_id": {
"type": "number"
},
"created_after": {
"description": "Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"include": {
"description": "Embed: candidate, cv.text. Pass candidate for pipeline rendering (names instead of ids)",
"type": "string"
},
"job_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
},
"sort": {
"description": "Default -created_at",
"enum": [
"created_at",
"-created_at",
"ai_score",
"-ai_score",
"last_message_at",
"-last_message_at"
],
"type": "string"
},
"stage_id": {
"description": "Best combined with job_id",
"type": "number"
},
"status": {
"enum": [
"pending",
"hired",
"rejected"
],
"type": "string"
},
"updated_after": {
"description": "Unix seconds or ISO-8601; for incremental sync",
"type": [
"number",
"string"
]
}
},
"type": "object"
},
"name": "hires_list_applications",
"outputSchema": null
},
{
"description": "List job boards available for publishing.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_boards",
"outputSchema": null
},
{
"description": "List a candidate's timeline events. Prefer size <= 10. event_type values: comment, copilot_response, stage_moved, automation_action_triggered, assign_job, enrichment, call, validate_emails, profile_mutation, qualification, assign_tags, assign_sources, candidate_rate.",
"inputSchema": {
"properties": {
"event_type": {
"description": "Comma-separated; values listed in the tool description",
"type": "string"
},
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"page": {
"type": "number"
},
"since": {
"description": "Inclusive; Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"size": {
"description": "Default 20, max 100",
"type": "number"
},
"until": {
"description": "Inclusive; Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"view": {
"default": "summary",
"description": "summary replaces copilot text, call transcription and comment body with 200-char *_preview fields",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_candidate_activities",
"outputSchema": null
},
{
"description": "List a candidate's files (resume and other documents): uuid, download url, file metadata, type.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_candidate_files",
"outputSchema": null
},
{
"description": "List a candidate's interviews across all applications.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_candidate_interviews",
"outputSchema": null
},
{
"description": "List a candidate's email history; is_scheduled=1 returns only pending scheduled messages. Prefer size <= 10.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"is_scheduled": {
"const": 1,
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
},
"view": {
"default": "summary",
"description": "summary omits the HTML body and attachment metadata",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_candidate_messages",
"outputSchema": null
},
{
"description": "List a candidate's tags.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_candidate_tags",
"outputSchema": null
},
{
"description": "List candidates filtered by job, stage, email, name, LinkedIn or dates. Prefer size <= 10.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"created_after": {
"description": "Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"email": {
"description": "Exact match",
"type": "string"
},
"full_name": {
"type": "string"
},
"include": {
"description": "Embed: applications (job titles and stages)",
"type": "string"
},
"job_id": {
"type": "number"
},
"linkedin": {
"description": "LinkedIn profile URL or alias",
"type": "string"
},
"page": {
"type": "number"
},
"q": {
"description": "Partial match on name or email",
"type": "string"
},
"size": {
"type": "number"
},
"stage_id": {
"description": "Pipeline stage id; combine with job_id",
"type": "number"
},
"updated_after": {
"description": "Unix seconds or ISO-8601; for incremental sync",
"type": [
"number",
"string"
]
},
"view": {
"default": "summary",
"description": "summary omits the profile answers array",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"type": "object"
},
"name": "hires_list_candidates",
"outputSchema": null
},
{
"description": "List public jobs of a company career site, filterable by department, employment type, city and country.",
"inputSchema": {
"properties": {
"city": {
"description": "Exact match",
"type": "string"
},
"company_slug": {
"type": "string"
},
"country": {
"description": "Exact match",
"type": "string"
},
"department_id": {
"type": "number"
},
"employment_type_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"required": [
"company_slug"
],
"type": "object"
},
"name": "hires_list_career_jobs",
"outputSchema": null
},
{
"description": "List global job categories.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_categories",
"outputSchema": null
},
{
"description": "List companies accessible to the partner API key.",
"inputSchema": {
"properties": {
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_companies",
"outputSchema": null
},
{
"description": "List mail accounts of all users in a given company (own or client).",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_company_id_mail_accounts",
"outputSchema": null
},
{
"description": "List mail accounts of all users in the current company; use to resolve from_account_id for messages.",
"inputSchema": {
"properties": {
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_company_mail_accounts",
"outputSchema": null
},
{
"description": "List departments of the company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_departments",
"outputSchema": null
},
{
"description": "List education level values.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_education_levels",
"outputSchema": null
},
{
"description": "List email templates of a company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
},
"view": {
"default": "summary",
"description": "summary omits the HTML body",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"type": "object"
},
"name": "hires_list_email_templates",
"outputSchema": null
},
{
"description": "List employment types (full-time, part-time, contract, etc.).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_employment_types",
"outputSchema": null
},
{
"description": "List experience level values.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_experience_levels",
"outputSchema": null
},
{
"description": "List application forms of a company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
},
"view": {
"default": "summary",
"description": "summary omits the questions array",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"type": "object"
},
"name": "hires_list_forms",
"outputSchema": null
},
{
"description": "List users on the job's hiring team.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_hiring_team",
"outputSchema": null
},
{
"description": "List interviews filtered by job, application, candidate, interviewer, date or timestamps. Pass include=candidate so the agenda widget can link cards to candidate profiles.",
"inputSchema": {
"properties": {
"application_id": {
"type": "number"
},
"candidate_id": {
"type": "number"
},
"company_id": {
"type": "number"
},
"created_after": {
"description": "Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"date": {
"description": "YYYY-MM-DD, UTC",
"type": "string"
},
"include": {
"description": "Embed: candidate, application, job",
"type": "string"
},
"interviewer_user_id": {
"type": "number"
},
"job_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
},
"updated_after": {
"description": "Unix seconds or ISO-8601; for incremental sync",
"type": [
"number",
"string"
]
}
},
"type": "object"
},
"name": "hires_list_interviews",
"outputSchema": null
},
{
"description": "List job boards the job is published to, with their state.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_job_boards",
"outputSchema": null
},
{
"description": "List webhooks subscribed to this job's events.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_job_webhooks",
"outputSchema": null
},
{
"description": "List jobs filtered by status, creation/update time, department or search query.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"created_at_end": {
"description": "Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"created_at_start": {
"description": "Unix seconds or ISO-8601",
"type": [
"number",
"string"
]
},
"department_id": {
"description": "From hires_list_departments",
"type": "number"
},
"include": {
"description": "Embed: workflow, hiring_team, pipeline_stages",
"type": "string"
},
"page": {
"type": "number"
},
"q": {
"description": "Search title or internal title",
"type": "string"
},
"size": {
"type": "number"
},
"status": {
"description": "From hires_list_statuses, e.g. Public, Draft, Archived",
"type": "string"
},
"updated_after": {
"description": "Unix seconds or ISO-8601; for incremental sync",
"type": [
"number",
"string"
]
},
"view": {
"default": "summary",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"type": "object"
},
"name": "hires_list_jobs",
"outputSchema": null
},
{
"description": "List career site locales (e.g. de-DE) accepted by language parameters; is_default marks the one used when none is picked.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_languages",
"outputSchema": null
},
{
"description": "List outbound messages (sent and scheduled) of one mail account; received mail is not included.",
"inputSchema": {
"properties": {
"date_from": {
"description": "Unix seconds; filters on scheduled/sent time",
"type": "integer"
},
"date_to": {
"description": "Unix seconds",
"type": "integer"
},
"from_account_id": {
"description": "Mail account id from hires_list_company_mail_accounts or hires_list_user_mail_accounts",
"type": "integer"
},
"page": {
"minimum": 1,
"type": "integer"
},
"size": {
"description": "Default 20",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"status": {
"description": "Default: all",
"enum": [
"scheduled",
"sent",
"all"
],
"type": "string"
},
"view": {
"default": "summary",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"from_account_id"
],
"type": "object"
},
"name": "hires_list_messages",
"outputSchema": null
},
{
"description": "List discussion notes of a candidate.",
"inputSchema": {
"properties": {
"candidate_id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"include": {
"description": "Embed: user (author), candidate",
"type": "string"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
},
"view": {
"default": "summary",
"description": "summary replaces the body with a 200-char body_preview",
"enum": [
"summary",
"full"
],
"type": "string"
}
},
"required": [
"candidate_id"
],
"type": "object"
},
"name": "hires_list_notes",
"outputSchema": null
},
{
"description": "List nurture campaigns with their steps.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_nurture_campaigns",
"outputSchema": null
},
{
"description": "List candidate origin values.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_origins",
"outputSchema": null
},
{
"description": "List supported question types.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_question_types",
"outputSchema": null
},
{
"description": "List the reusable question catalog of the company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_questions",
"outputSchema": null
},
{
"description": "List rejection reasons configured for the company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_rejection_reasons",
"outputSchema": null
},
{
"description": "List candidate sources of the company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_sources",
"outputSchema": null
},
{
"description": "List job status labels (draft, published, on_hold, closed, archived).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "hires_list_statuses",
"outputSchema": null
},
{
"description": "List all tags of the company.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_tags",
"outputSchema": null
},
{
"description": "List email template placeholders; pass the chosen one to hires_prepare_template_placeholders to get its HTML tag.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"is_notification": {
"description": "1 includes notification-only system placeholders (default 0)",
"type": "number"
},
"page": {
"type": "number"
},
"q": {
"description": "Label substring, case-insensitive",
"type": "string"
},
"size": {
"type": "number"
},
"type": {
"enum": [
"profile_field",
"job_variable",
"questionnaire_link",
"self_scheduling_link"
],
"type": "string"
}
},
"type": "object"
},
"name": "hires_list_template_placeholders",
"outputSchema": null
},
{
"description": "List a user's connected mail accounts; use one as from_account_id when sending messages.",
"inputSchema": {
"properties": {
"id": {
"description": "User id",
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_user_mail_accounts",
"outputSchema": null
},
{
"description": "List company users with their roles.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"page": {
"type": "number"
},
"size": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_users",
"outputSchema": null
},
{
"description": "List company-scoped webhook subscriptions.",
"inputSchema": {
"properties": {
"id": {
"description": "Company id",
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_list_webhooks",
"outputSchema": null
},
{
"description": "List pipeline stages, filtered by workflow or job.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
},
"job_id": {
"description": "Stages of the job's assigned workflow",
"type": "number"
},
"workflow_id": {
"description": "Workflow id from hires_list_workflows",
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_workflow_stages",
"outputSchema": null
},
{
"description": "List workflows of the company with their stages.",
"inputSchema": {
"properties": {
"company_id": {
"type": "number"
}
},
"type": "object"
},
"name": "hires_list_workflows",
"outputSchema": null
},
{
"description": "Move an application to a specific pipeline stage; stage ids come from the job's pipeline_stages.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
},
"stage_id": {
"type": "number"
}
},
"required": [
"id",
"stage_id"
],
"type": "object"
},
"name": "hires_move_application",
"outputSchema": null
},
{
"description": "Partially update a scheduled message before it is sent.",
"inputSchema": {
"properties": {
"bcc": {
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "HTML",
"type": "string"
},
"cc": {
"items": {
"type": "string"
},
"type": "array"
},
"from_account_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Default: API key owner's default mail account"
},
"id": {
"type": "integer"
},
"reply_to_email_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Mailbox message id to reply to"
},
"scheduled_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Unix seconds"
},
"send_in_new_thread": {
"description": "Send as a new thread",
"type": "boolean"
},
"subject": {
"type": "string"
},
"to": {
"description": "Recipient emails",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_patch_message",
"outputSchema": null
},
{
"description": "Convert a placeholder reference into the HTML tag to insert into an email template body.",
"inputSchema": {
"properties": {
"form_question_id": {
"type": "number"
},
"identifier": {
"type": "string"
},
"job_variable_id": {
"type": "number"
},
"qas_profile_question_id": {
"description": "Profile question id",
"type": "number"
},
"system_column_title": {
"type": "string"
},
"type": {
"description": "system, candidate_column, job_variable, questionnaire_link or scheduling_link",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"name": "hires_prepare_template_placeholders",
"outputSchema": null
},
{
"description": "Queue the job for publication on the given boards.",
"inputSchema": {
"properties": {
"boards": {
"description": "e.g. indeed, linkedin",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_publish_to_job_board",
"outputSchema": null
},
{
"description": "Reject an application, optionally with a reason and without the rejection email.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
},
"rejection_reason_id": {
"description": "From hires_list_rejection_reasons",
"type": "number"
},
"suppress_notification": {
"description": "Skip the rejection email to the candidate",
"type": "boolean"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_reject_application",
"outputSchema": null
},
{
"description": "Remove one tag from a candidate.",
"inputSchema": {
"properties": {
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"tag": {
"type": "string"
}
},
"required": [
"id",
"tag"
],
"type": "object"
},
"name": "hires_remove_candidate_tag",
"outputSchema": null
},
{
"description": "Deactivate the job's publication on the given boards.",
"inputSchema": {
"properties": {
"boards": {
"description": "e.g. indeed, linkedin",
"items": {
"type": "string"
},
"type": "array"
},
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_remove_from_job_board",
"outputSchema": null
},
{
"description": "Restore a soft-deleted company; its public career site comes back online.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_restore_company",
"outputSchema": null
},
{
"description": "Rotate the signing secret; the new one is returned once, the old stays valid for a grace window.",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"webhook_id": {
"type": "number"
}
},
"required": [
"id",
"webhook_id"
],
"type": "object"
},
"name": "hires_rotate_job_webhook_secret",
"outputSchema": null
},
{
"description": "Rotate a company webhook signing secret with zero downtime: the new signing_secret is returned once and the old one stays valid for a grace window.",
"inputSchema": {
"properties": {
"id": {
"description": "Company id",
"type": "number"
},
"webhook_id": {
"type": "number"
}
},
"required": [
"id",
"webhook_id"
],
"type": "object"
},
"name": "hires_rotate_webhook_secret",
"outputSchema": null
},
{
"description": "Schedule an email to a candidate; without scheduled_at it is sent 15 minutes after creation.",
"inputSchema": {
"properties": {
"application_id": {
"type": [
"number",
"null"
]
},
"bcc": {
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "HTML",
"type": "string"
},
"cc": {
"items": {
"type": "string"
},
"type": "array"
},
"from_account_id": {
"description": "Mail account id; default: the API key owner's default account",
"type": [
"number",
"null"
]
},
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"reply_to_email_id": {
"description": "Mailbox message id to reply to",
"type": [
"number",
"null"
]
},
"scheduled_at": {
"description": "Unix seconds; default: now + 15 min",
"type": [
"number",
"null"
]
},
"send_in_new_thread": {
"description": "Start a new thread instead of replying",
"type": "boolean"
},
"subject": {
"type": "string"
},
"to": {
"description": "Recipient emails",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"to",
"subject",
"body"
],
"type": "object"
},
"name": "hires_send_candidate_message",
"outputSchema": null
},
{
"description": "Change job status (publish, unpublish, archive).",
"inputSchema": {
"properties": {
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"include": {
"description": "Embed: workflow, hiring_team, pipeline_stages",
"type": "string"
},
"status": {
"description": "From hires_list_statuses, e.g. Draft, Public, Archived",
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object"
},
"name": "hires_set_job_status",
"outputSchema": null
},
{
"description": "Submit a career site application: creates the candidate and runs the pipeline automation.",
"inputSchema": {
"properties": {
"answers": {
"anyOf": [
{
"items": {
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "Form answer objects"
},
"company_slug": {
"type": "string"
},
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"job_id": {
"type": "number"
},
"last_name": {
"type": "string"
},
"linkedin_url": {
"type": [
"string",
"null"
]
},
"phone": {
"type": [
"string",
"null"
]
},
"resume": {
"anyOf": [
{
"properties": {
"data": {
"description": "Base64 file content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. application/pdf",
"type": "string"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
{
"type": "null"
}
]
},
"source": {
"description": "Source identifier",
"type": [
"string",
"null"
]
}
},
"required": [
"company_slug",
"job_id",
"first_name",
"last_name",
"email"
],
"type": "object"
},
"name": "hires_submit_career_application",
"outputSchema": null
},
{
"description": "Submit feedback about the API: missing features, issues, improvements. Rate limit: 5 per hour.",
"inputSchema": {
"properties": {
"context": {
"description": "Any JSON, max 4 KB",
"type": "object"
},
"description": {
"description": "Max 2000 chars",
"type": "string"
},
"endpoint": {
"description": "e.g. /v2/candidates",
"type": "string"
},
"issue_type": {
"enum": [
"missing_filter",
"pagination",
"performance",
"missing_field",
"bulk_operation",
"other"
],
"type": "string"
},
"suggested_improvement": {
"description": "Max 2000 chars",
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"name": "hires_submit_feedback",
"outputSchema": null
},
{
"description": "Transfer an application to another job by creating a new application there, optionally at a given stage.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
},
"job_id": {
"description": "Target job",
"type": "number"
},
"stage_id": {
"description": "Stage on the target job; defaults to its first stage",
"type": "number"
}
},
"required": [
"id",
"job_id"
],
"type": "object"
},
"name": "hires_transfer_application",
"outputSchema": null
},
{
"description": "Reopen a rejected application: status returns to active and rejected_at is cleared.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_unreject_application",
"outputSchema": null
},
{
"description": "Update application fields. stage_id performs a full stage transition with the target stage's automation, like hires_move_application.",
"inputSchema": {
"properties": {
"cv": {
"description": "Replace or attach a CV",
"properties": {
"data": {
"description": "Base64 file content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. application/pdf",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"id": {
"type": "number"
},
"include": {
"description": "Embed: candidate, cv.text, job",
"type": "string"
},
"is_disqualified": {
"type": "boolean"
},
"stage_id": {
"description": "Target stage; runs its workflow automation",
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_update_application",
"outputSchema": null
},
{
"description": "Update candidate fields, profile answers or resume text. For an attached resume pass the parsed text via resume_text; never inline binary data.",
"inputSchema": {
"properties": {
"city": {
"description": "Also used to resolve timezone",
"type": "string"
},
"country": {
"description": "Name or ISO code",
"type": "string"
},
"email": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
},
"job_id": {
"description": "Creates a new application for this job",
"type": "number"
},
"last_name": {
"type": "string"
},
"phone": {
"type": "string"
},
"profile": {
"description": "Profile answers keyed by question text or question_id",
"type": "object"
},
"resume_text": {
"description": "Plain text extracted from the resume; stored as a text/plain attachment. No binary or base64.",
"type": "string"
},
"stage_id": {
"description": "Stage for that application; requires job_id",
"type": "number"
},
"state": {
"type": "string"
},
"timezone": {
"description": "IANA, e.g. America/Los_Angeles; resolved from city and country if omitted",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_update_candidate",
"outputSchema": null
},
{
"description": "Set the public career site language; job and company pages follow it unless a job overrides it.",
"inputSchema": {
"properties": {
"company_id": {
"description": "Omit for the API key's own company",
"type": "number"
},
"language": {
"anyOf": [
{
"maxLength": 35,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"description": "Locale, e.g. de-DE; values from hires_list_languages. Omit to keep, null to reset to en-US"
}
},
"type": "object"
},
"name": "hires_update_career_site_settings",
"outputSchema": null
},
{
"description": "Update a company profile, owner contacts or logo; name, slug and logo changes alter the public career site.",
"inputSchema": {
"properties": {
"company_owner_email": {
"type": "string"
},
"company_owner_name": {
"type": "string"
},
"company_owner_phone": {
"type": "string"
},
"id": {
"type": "number"
},
"is_staffing_agency": {
"type": "boolean"
},
"logo": {
"properties": {
"data": {
"description": "Base64 file content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. image/png",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"name": {
"type": "string"
},
"url": {
"description": "Company profile URL",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_update_company",
"outputSchema": null
},
{
"description": "Update an email template; omitted fields keep their values.",
"inputSchema": {
"properties": {
"body": {
"description": "HTML; placeholders allowed",
"type": "string"
},
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"subject": {
"description": "Placeholders allowed",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_update_email_template",
"outputSchema": null
},
{
"description": "Update a form's name and question composition.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"questions": {
"description": "Question ids to attach",
"items": {
"type": "number"
},
"type": "array"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"name": "hires_update_form",
"outputSchema": null
},
{
"description": "Set a question's status (required, optional, hidden) on a form.",
"inputSchema": {
"properties": {
"form_id": {
"type": "number"
},
"question_id": {
"type": "number"
},
"status": {
"enum": [
"required",
"optional",
"hidden"
],
"type": "string"
}
},
"required": [
"form_id",
"question_id",
"status"
],
"type": "object"
},
"name": "hires_update_form_question",
"outputSchema": null
},
{
"description": "Update a job. Send only the fields to change.",
"inputSchema": {
"properties": {
"ai_scoring_criteria": {
"description": "Diff-replace by id: with id update, without id create, absent ones are removed; [] detaches all; omit to keep",
"items": {
"properties": {
"id": {
"description": "Existing criterion id; omit to create",
"exclusiveMinimum": 0,
"type": "integer"
},
"text": {
"description": "What to evaluate",
"type": "string"
},
"title": {
"type": "string"
},
"weight": {
"description": "Relative importance",
"maximum": 10,
"minimum": 1,
"type": "integer"
}
},
"required": [
"text",
"weight"
],
"type": "object"
},
"type": "array"
},
"category_id": {
"description": "From hires_list_categories",
"type": "number"
},
"department_id": {
"description": "From hires_list_departments",
"type": "number"
},
"description": {
"description": "HTML allowed",
"type": "string"
},
"education_level_id": {
"description": "From hires_list_education_levels",
"type": "number"
},
"employment_type_id": {
"description": "From hires_list_employment_types",
"type": "number"
},
"experience_level_id": {
"description": "From hires_list_experience_levels",
"type": "number"
},
"form_id": {
"description": "Application form to assign",
"type": "number"
},
"id": {
"description": "Job id or alias",
"type": [
"string",
"number"
]
},
"include": {
"description": "Embed: workflow, hiring_team, pipeline_stages",
"type": "string"
},
"internal_job_id": {
"description": "External reference id",
"type": "string"
},
"internal_title": {
"description": "Hiring team only",
"type": "string"
},
"is_remote": {
"description": "Remote job; with empty city, state and postal code Indeed posts it nationwide",
"type": "boolean"
},
"knockout_questions": {
"description": "Yes/No screening questions added to the application form",
"items": {
"properties": {
"disqualify_on_wrong_answer": {
"description": "Disqualify on wrong answer",
"type": "boolean"
},
"expected_answer": {
"enum": [
"Yes",
"No"
],
"type": "string"
},
"text": {
"description": "Shown to the applicant",
"type": "string"
}
},
"required": [
"text",
"expected_answer",
"disqualify_on_wrong_answer"
],
"type": "object"
},
"type": "array"
},
"language": {
"anyOf": [
{
"maxLength": 35,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"description": "Job page locale, e.g. de-DE; null = follow the career site language, omit = keep current. Values: hires_list_languages"
},
"location_city": {
"description": "Empty string clears it; remote without city = nationwide posting on Indeed",
"type": "string"
},
"location_country": {
"type": "string"
},
"location_full_address": {
"type": "string"
},
"location_postal_code": {
"type": "string"
},
"location_state": {
"type": "string"
},
"location_street_address": {
"type": "string"
},
"parent_job_id": {
"description": "Parent job; makes this a satellite job",
"type": "number"
},
"resume_field_status": {
"enum": [
"required",
"optional",
"hidden"
],
"type": "string"
},
"salary_currency": {
"description": "ISO code, e.g. USD",
"type": "string"
},
"salary_max": {
"type": "number"
},
"salary_min": {
"type": "number"
},
"salary_period": {
"enum": [
"annually",
"monthly",
"daily",
"hourly"
],
"type": "string"
},
"status": {
"description": "From hires_list_statuses, e.g. Draft, Public",
"type": "string"
},
"title": {
"type": "string"
},
"workflow_id": {
"description": "Workflow to assign",
"type": "number"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_update_job",
"outputSchema": null
},
{
"description": "Replace a scheduled message before it is sent; all required fields must be provided.",
"inputSchema": {
"properties": {
"bcc": {
"items": {
"type": "string"
},
"type": "array"
},
"body": {
"description": "HTML",
"type": "string"
},
"cc": {
"items": {
"type": "string"
},
"type": "array"
},
"from_account_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Default: API key owner's default mail account"
},
"id": {
"type": "integer"
},
"reply_to_email_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Mailbox message id to reply to"
},
"scheduled_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Unix seconds"
},
"send_in_new_thread": {
"description": "Send as a new thread",
"type": "boolean"
},
"subject": {
"type": "string"
},
"to": {
"description": "Recipient emails",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"to",
"subject",
"body"
],
"type": "object"
},
"name": "hires_update_message",
"outputSchema": null
},
{
"description": "Update a note's body or visibility in place, without a new timeline item.",
"inputSchema": {
"properties": {
"body": {
"description": "HTML allowed",
"type": "string"
},
"id": {
"type": "number"
},
"include": {
"description": "Embed: user (author), candidate",
"type": "string"
},
"visibility": {
"description": "all (default) or private",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "hires_update_note",
"outputSchema": null
},
{
"description": "Update the subject, body or send time of a scheduled notification email; sent messages cannot be changed.",
"inputSchema": {
"properties": {
"body": {
"description": "HTML",
"type": "string"
},
"id": {
"type": "integer"
},
"scheduled_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Unix seconds; omit to keep the current schedule"
},
"subject": {
"type": "string"
}
},
"required": [
"id",
"subject",
"body"
],
"type": "object"
},
"name": "hires_update_notification_message",
"outputSchema": null
},
{
"description": "Update a nurture campaign. Send the full steps list: existing steps with their id, removed steps with is_deleted=true.",
"inputSchema": {
"properties": {
"delay_time": {
"description": "Delay before the first step, seconds (max 86400); wins over relative_days + relative_time if both are sent",
"type": "number"
},
"id": {
"type": "number"
},
"relative_days": {
"description": "Days after the trigger for the first step; use with relative_time",
"type": "number"
},
"relative_time": {
"description": "Time of day for the first step, seconds from midnight",
"type": "number"
},
"response_move_to_stage_id": {
"description": "Stage to move a candidate to when they reply",
"type": "number"
},
"send_to_all": {
"description": "Send to all candidates in the stage, not only new ones (default false)",
"type": "boolean"
},
"stage_id": {
"description": "Stage that triggers the campaign",
"type": "number"
},
"steps": {
"description": "Executed in order. Each field names the step types that use it and whether it is required there.",
"items": {
"properties": {
"assignees": {
"description": "assign_task (required): user ids",
"items": {
"type": "number"
},
"type": "array"
},
"attachment_uuid": {
"description": "voicemail (required): uuid from hires_upload_attachment, category voicemail",
"format": "uuid",
"type": "string"
},
"delay_days": {
"description": "Days to wait before this step",
"minimum": 0,
"type": "number"
},
"due_in_interval": {
"description": "assign_task: ISO-8601 duration, e.g. P3D",
"type": "string"
},
"id": {
"description": "Existing step id (update only)",
"type": "number"
},
"is_deleted": {
"description": "Update only: true removes the step",
"type": "boolean"
},
"is_new_thread": {
"description": "email: send as a new thread",
"type": "boolean"
},
"is_send_by_carousel": {
"description": "email, sms: rotate sender accounts",
"type": "boolean"
},
"priority": {
"description": "assign_task",
"type": "number"
},
"schedule_id": {
"description": "email, sms, voicemail: sending schedule id",
"type": "number"
},
"send_condition": {
"enum": [
"if_no_reply",
"if_no_reply_but_opened"
],
"type": "string"
},
"sender": {
"description": "email (required)",
"properties": {
"id": {
"type": "number"
},
"type": {
"description": "account or user",
"type": "string"
}
},
"required": [
"type",
"id"
],
"type": "object"
},
"sender_user_id": {
"description": "sms (required)",
"type": "number"
},
"stage_id": {
"description": "move_to_next_stage (required)",
"type": "number"
},
"tag_id": {
"description": "assign_tag (required)",
"type": "number"
},
"task_template_id": {
"description": "assign_task (required)",
"type": "number"
},
"template_id": {
"description": "email, sms (required)",
"type": "number"
},
"type": {
"enum": [
"email",
"sms",
"voicemail",
"move_to_next_stage",
"assign_tag",
"assign_task"
],
"type": "string"
}
},
"required": [
"type",
"delay_days",
"send_condition"
],
"type": "object"
},
"type": "array"
},
"timezone": {
"description": "IANA timezone, e.g. America/New_York",
"type": "string"
},
"title": {
"type": "string"
},
"workflow_id": {
"description": "Workflow the campaign is bound to",
"type": "number"
}
},
"required": [
"id",
"title",
"steps"
],
"type": "object"
},
"name": "hires_update_nurture_campaign",
"outputSchema": null
},
{
"description": "Update the text, type or options of a question.",
"inputSchema": {
"properties": {
"id": {
"type": "number"
},
"options": {
"description": "Answer options for select/multiselect types",
"items": {
"type": "string"
},
"type": "array"
},
"text": {
"type": "string"
},
"type": {
"description": "From hires_list_question_types",
"type": "string"
}
},
"required": [
"id",
"text",
"type"
],
"type": "object"
},
"name": "hires_update_question",
"outputSchema": null
},
{
"description": "Upload a base64-encoded file as an application attachment.",
"inputSchema": {
"properties": {
"file": {
"properties": {
"data": {
"description": "Base64 file content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. application/pdf",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"id": {
"type": "number"
}
},
"required": [
"id",
"file"
],
"type": "object"
},
"name": "hires_upload_application_attachment",
"outputSchema": null
},
{
"description": "Upload a base64 file as an attachment. voicemail: wav/mp3, max 20 MB, no object_id, the returned uuid serves as attachment_uuid in nurture voicemail steps. Returns uuid, url, file, relative_time.",
"inputSchema": {
"properties": {
"category": {
"description": "Determines allowed extensions and the object_id owner type",
"enum": [
"voicemail",
"candidate",
"application",
"candidate_comment",
"job_note",
"company_favicon",
"company_header",
"company_link_preview"
],
"type": "string"
},
"company_id": {
"description": "Company that owns object_id; default: the authenticated company",
"type": [
"number",
"null"
]
},
"file": {
"properties": {
"data": {
"description": "Base64 content",
"type": "string"
},
"file_name": {
"description": "With extension, e.g. greeting.mp3",
"type": "string"
},
"mime_type": {
"description": "e.g. audio/mpeg, application/pdf",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"object_id": {
"description": "Owner id per category: candidate, application, comment, job note or company; omit for voicemail",
"type": [
"number",
"null"
]
}
},
"required": [
"category",
"file"
],
"type": "object"
},
"name": "hires_upload_attachment",
"outputSchema": null
},
{
"description": "Upload a base64 file to a candidate. Hosts truncate tool arguments above ~20 KB, so for resumes prefer resume_text in hires_create_candidate or hires_update_candidate.",
"inputSchema": {
"properties": {
"file": {
"properties": {
"data": {
"description": "Base64 content",
"type": "string"
},
"file_name": {
"type": "string"
},
"mime_type": {
"description": "e.g. application/pdf",
"type": "string"
},
"size": {
"description": "Bytes",
"type": "number"
}
},
"required": [
"data",
"file_name",
"mime_type"
],
"type": "object"
},
"id": {
"description": "Candidate id or alias",
"type": [
"string",
"number"
]
}
},
"required": [
"id",
"file"
],
"type": "object"
},
"name": "hires_upload_candidate_file",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:7c9823c1d64eb176c552039ea1a3713c6a8a50b7968cdcf10bfc2199857df9d3 | sha256sum