100Hires - AI ATS & Recruitment Software
Server Details
Official 100Hires MCP: AI ATS & Recruitment Software for candidates, jobs, applications, interviews.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- 100Hires/mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 133 of 133 tools scored. Lowest: 3.1/5.
Most tools have clearly distinct purposes due to specific entity and action combinations. However, with 133 tools, there is some overlap (e.g., multiple ways to move applications) and similar-sounding operations (e.g., batch_remove_tags vs remove_candidate_tag) that could cause confusion. The detailed descriptions help but the sheer number increases ambiguity.
All tools follow a consistent 'hires_verb_noun' pattern with snake_case. Verbs are descriptive (create, list, get, delete, update, batch) and nouns match the domain entities (candidate, application, job, etc.). No mixing of conventions like camelCase or inconsistent verb styles.
133 tools is excessive for a typical server scope. While a full-featured ATS requires many operations, this count suggests insufficient aggregation. Tools for similar entities (e.g., multiple update/delete variants) could be consolidated. The high number overwhelms the tool surface and increases complexity.
The tool set covers core CRUD operations for major entities (candidates, applications, jobs, companies, users, messages, forms, etc.) plus batch operations, webhooks, and advanced features like AI scoring and nurture campaigns. Minor gaps exist (e.g., no direct reporting/analytics tools), but most workflows can be executed.
Available Tools
133 toolshires_add_candidate_tagsInspect
Add one or more tags to a candidate. Used for campaign tagging, qualification labels, and source attribution.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| tags | Yes | Array of tag strings to add. |
hires_add_hiring_team_memberInspect
Add a company member to the job's hiring team. Use in workflow setup and ownership automation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| user_id | Yes | User ID to add to the hiring team. |
hires_advance_applicationAdvance application to next stageDestructiveInspect
Advance an application to the next pipeline stage according to workflow order. No stage_id needed -- the system determines the next stage automatically. Always pass include=candidate,job when surfacing results in the widget — without it, the confirmation card can only show candidate/job IDs and cannot link to their backoffice pages.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. Set to `candidate,job` so the widget can link the candidate name to their profile and the job title to its pipeline view. |
hires_batch_add_tagsInspect
Add tags to multiple candidates in one request (max 100). Returns per-item results with partial success support.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Candidate IDs to tag (max 100). | |
| tags | Yes | Tag names to attach. |
hires_batch_create_messagesInspect
Create up to 100 scheduled messages in one request. Each item specifies its own candidate_id and message payload. Items are processed independently -- one failure does not stop others. Per-candidate RBAC is enforced for each item.
| Name | Required | Description | Default |
|---|---|---|---|
| messages | Yes | Array of message payloads to create (max 100). |
hires_batch_job_boardsRead-onlyInspect
Get board publication states for multiple jobs in one request. Optimized for batch monitoring and management UIs.
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | Yes | Array of job IDs |
hires_batch_move_applicationsDestructiveInspect
Move multiple applications to a pipeline stage in one request. Returns per-item results with partial success support. Max 100 application IDs per request.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Application IDs to move (max 100). | |
| stage_id | Yes | Target pipeline stage ID. |
hires_batch_publish_to_boardsInspect
Activate board publication for multiple jobs in one request. Use for bulk job distribution workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | Yes | Array of job IDs to publish | |
| boards | No | Array of board identifiers to activate (e.g. ['indeed', 'linkedin']) |
hires_batch_reject_applicationsDestructiveInspect
Reject multiple applications in one request with an optional rejection reason. Returns per-item results with partial success support. Max 100 application IDs per request.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Application IDs to reject (max 100). | |
| rejection_reason_id | No | Optional rejection reason ID. |
hires_batch_remove_from_boardsDestructiveInspect
Deactivate board publication for multiple jobs in one request. Use for bulk depublishing workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | Yes | Array of job IDs to depublish | |
| boards | No | Array of board identifiers to deactivate (e.g. ['indeed', 'linkedin']) |
hires_batch_remove_tagsDestructiveInspect
Remove tags from multiple candidates in one request (max 100). Returns per-item results with partial success support.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Candidate IDs to remove tags from (max 100). | |
| tags | Yes | Tag names to remove. |
hires_cancel_all_notification_messagesDestructiveInspect
Cancel all scheduled notification emails for a candidate. Already sent notifications are not affected. Returns success even if no scheduled notifications exist.
| Name | Required | Description | Default |
|---|---|---|---|
| candidate_id | Yes | Candidate ID (numeric) or alias. |
hires_create_applicationInspect
Create an application by linking an existing candidate to a job. Use for sourcing workflows and manual application ingestion. The candidate must already exist.
| Name | Required | Description | Default |
|---|---|---|---|
| cv | No | Optional CV/resume to attach. | |
| job_id | Yes | Job ID to apply the candidate to. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. | |
| stage_id | No | Pipeline stage ID. If omitted, defaults to the first stage. | |
| candidate_id | Yes | Candidate ID (numeric) or alias. |
hires_create_candidateInspect
Create a new candidate profile. Optionally link to a job/stage and attach the candidate's resume as extracted text. Used for imports, inbound forms, and enrichment workflows. When the user provides an attached resume (PDF/DOCX/etc.), parse the file content yourself from the chat context — LLMs natively extract text from uploaded files — and pass the extracted text via resume_text. Do NOT attempt to inline binary file data: host function-call serializers truncate arguments above ~20KB.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Candidate city for location/timezone resolution. | |
| No | Candidate email address. Used for deduplication. | ||
| phone | No | Candidate phone number. | |
| state | No | Candidate state or region. | |
| job_id | No | Job ID to create an application for this candidate. | |
| country | No | Candidate country name or ISO code. | |
| profile | No | Key-value map of profile field answers. Keys can be question text or question_id. Example: {"Current job title": "Senior Engineer"}. | |
| stage_id | No | Pipeline stage ID for the initial application. Requires job_id. | |
| timezone | No | IANA timezone (e.g. 'America/Los_Angeles'). Auto-resolved from city/country if omitted. | |
| last_name | No | Candidate last name. | |
| company_id | No | Target company ID. Required only when the API key has access to multiple companies. | |
| first_name | No | Candidate first name. | |
| resume_text | No | Plain-text resume content extracted by the model from an attached PDF/DOCX/etc. Stored as a text/plain attachment on the candidate. Do not pass binary or base64 here — only the parsed text content. |
hires_create_companyInspect
Create a client company (partner tenant) — provisions its public career-site URL (slug) and public branding (logo, name). Typical entrypoint for multi-tenant onboarding.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Company profile URL | |
| logo | No | Company logo file | |
| name | Yes | Company name | |
| website | No | Company website URL | |
| company_owner_name | Yes | Company owner full name | |
| is_staffing_agency | No | Whether this company is a staffing agency | |
| company_owner_email | Yes | Company owner email address | |
| company_owner_phone | No | Company owner phone number |
hires_create_email_templateInspect
Create a new email template with name, subject, and body. Subject and body support placeholders like {{first_name}}, {{job_title}}. To embed placeholders: 1) GET /template-placeholders to list them, 2) POST /template-placeholders/prepare to get the HTML tag, 3) insert the tag into the body.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Email body HTML (supports placeholders) | |
| name | Yes | Template name | |
| subject | Yes | Email subject line (supports placeholders like {{first_name}}, {{job_title}}) | |
| company_id | No | Target company ID |
hires_create_formInspect
Create a new application form, optionally attaching existing questions by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Form name. | |
| questions | No | Array of question IDs to attach to this form. | |
| company_id | No | Target company ID. |
hires_create_interviewInspect
Schedule a new interview for an application. Provide start/end times as Unix timestamps and a list of interviewer user IDs. Location is resolved to an existing record or created automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, application, job. | |
| end_time | Yes | Interview end time as Unix timestamp (seconds, must be after start_time). | |
| location | No | Location string; resolved to existing record or created automatically. | |
| start_time | Yes | Interview start time as Unix timestamp (seconds). | |
| interviewer_ids | Yes | List of user IDs who will conduct the interview. |
hires_create_jobInspect
Create a job with taxonomy, location, salary, and workflow configuration. Primary endpoint for programmatic job publishing. Required fields: status, title, description, location_city, location_country.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Public job title. | |
| status | Yes | Job status (e.g. Draft, Public). See GET /taxonomy/statuses. | |
| form_id | No | Application form ID. If omitted, a new form named after the job title is created with default questions. | |
| include | No | Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages | |
| is_remote | No | Whether this is a remote position. | |
| company_id | No | Target company ID. Required only when the API key has access to multiple companies. | |
| salary_max | No | Maximum salary. | |
| salary_min | No | Minimum salary. | |
| category_id | No | Job category ID from GET /taxonomy/categories. | |
| description | Yes | Job description (HTML allowed). | |
| workflow_id | No | Workflow ID. If omitted, a new workflow named after the job title is created with default stages. | |
| department_id | No | Department ID from GET /taxonomy/departments. | |
| location_city | Yes | Job city. | |
| parent_job_id | No | Canonical parent job ID. If provided, the created job becomes a satellite job. | |
| salary_period | No | Salary period. | |
| internal_title | No | Internal-only title visible to the hiring team. | |
| location_state | No | Job state or region. | |
| internal_job_id | No | External reference ID from your ATS or HR system. | |
| salary_currency | No | Salary currency code (e.g. USD, EUR). | |
| location_country | Yes | Job country. | |
| education_level_id | No | Education level ID from GET /taxonomy/education-levels. | |
| employment_type_id | No | Employment type ID from GET /taxonomy/employment-types. | |
| knockout_questions | No | Boolean knockout questions added to the application form. | |
| ai_scoring_criteria | No | AI scoring criteria for evaluating candidates. Diff-replace by id: items with id update existing, items without id create new, existing criteria not in payload are removed. Pass [] to detach all. | |
| experience_level_id | No | Experience level ID from GET /taxonomy/experience-levels. | |
| resume_field_status | No | Resume field behavior on the application form. | |
| location_postal_code | No | Postal or ZIP code. | |
| location_full_address | No | Full formatted address. | |
| location_street_address | No | Street address. |
hires_create_job_webhookInspect
Register a webhook URL for job-related events. Core step for outbound integration setup. URL must be HTTPS. Returns a signing_secret once — store it to verify the x-hires-signature-v2 header on incoming deliveries.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| url | Yes | Webhook destination URL. Must be HTTPS and point to a public host (no localhost / private / link-local IPs). |
hires_create_noteCreate noteInspect
Create a discussion note for a candidate. Supports visibility control (all or private) and @mentions with email notifications. Always pass include=candidate when surfacing results in the widget — without it, the confirmation card can only show the candidate ID and cannot link to their backoffice profile.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Note content. Supports HTML. | |
| include | No | Include related resources, e.g. 'user' for author details, 'candidate' for full candidate object with url_backoffice. Set to `candidate` so the widget can link the candidate name to their backoffice profile. | |
| user_id | No | Author user ID. If omitted, the authenticated user is used | |
| visibility | No | Visibility: 'all' (default) or 'private' | |
| candidate_id | Yes | Candidate ID (numeric) or alias | |
| mention_user_ids | No | Array of user IDs to mention. Mentioned users receive email notifications. |
hires_create_nurture_campaignInspect
Create a nurture campaign with steps. Steps are executed sequentially; each step has a type (email, sms, voicemail, move_to_next_stage, assign_tag, assign_task) with type-specific fields. Optionally bind to a workflow stage.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | Campaign steps (at least one required) | |
| title | Yes | Campaign name | |
| stage_id | No | Stage ID that triggers the campaign | |
| timezone | No | IANA timezone, e.g. "America/New_York" | |
| company_id | No | Target company ID (optional if API key is scoped to one company) | |
| delay_time | No | Delay time in seconds | |
| send_to_all | No | Send to all candidates or only new ones (default false) | |
| workflow_id | No | Workflow ID to bind the campaign to | |
| relative_days | No | Relative days for schedule | |
| relative_time | No | Relative time for schedule (seconds from midnight) | |
| response_move_to_stage_id | No | Stage to move candidate to when they reply |
hires_create_questionInspect
Create a reusable question with optional answer options for dropdown types. Used by forms and questionnaires.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Question text | |
| type | Yes | Question type (from hires_list_question_types) | |
| options | No | Answer options (for select/multiselect question types) | |
| company_id | No | Target company ID (uses default company when omitted) |
hires_create_webhookInspect
Create a company-scoped webhook subscription. Use for outbound company-level event integrations. Returns a signing_secret once — store it to verify the x-hires-signature-v2 header on incoming deliveries.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID | |
| url | Yes | Webhook destination URL. Must be HTTPS and point to a public host (no localhost / private / link-local IPs). |
hires_delete_applicationDestructiveInspect
Permanently delete an application. This removes it from all list and view queries.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. |
hires_delete_candidateDestructiveInspect
Permanently delete a candidate by ID or alias.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). |
hires_delete_companyDestructiveInspect
Delete (soft-delete) a company — takes its public career site offline. Use for lifecycle control in partner tenancy management.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID |
hires_delete_email_templateDestructiveInspect
Soft-delete an email template. Templates already used in automations will stop being available for new actions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Email template ID |
hires_delete_formDestructiveInspect
Delete an application form.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Form ID. |
hires_delete_jobDestructiveInspect
Delete a job. Use to align archived/removed positions across integrated platforms.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias |
hires_delete_job_webhookDestructiveInspect
Delete a job webhook subscription by ID. Use for cleanup, rotation, and endpoint migration.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| webhook_id | Yes | Webhook ID to delete |
hires_delete_messageDestructiveInspect
Cancel a scheduled message before it is processed by the mailbox scheduler.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Message ID. |
hires_delete_noteDestructiveInspect
Delete a note. Use for moderation policies and data cleanup operations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID |
hires_delete_notification_messageDestructiveInspect
Cancel a scheduled notification email before it is sent. Already sent messages cannot be canceled.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notification email message ID. |
hires_delete_nurture_campaignDestructiveInspect
Delete (soft-delete) a nurture campaign. Active campaign executions will be stopped.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nurture campaign ID |
hires_delete_questionDestructiveInspect
Delete a reusable question from the catalog. Use cautiously when deprecating question banks.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Question ID |
hires_delete_webhookDestructiveInspect
Delete a company-scoped webhook subscription by ID. Use for endpoint retirement and security rotation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID | |
| webhook_id | Yes | Webhook ID |
hires_disqualify_candidateDestructiveInspect
Disqualify a candidate from all active applications. Optionally provide rejection reason IDs. Returns affected application IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| reasons | No | Array of rejection reason IDs from GET /taxonomy/rejection-reasons. |
hires_download_attachmentRead-onlyInspect
Download an attachment (resume, candidate file, application file, mail attachment, call recording). Pass the absolute URL returned by another endpoint (e.g. message.attachments[].url, cv.url, resume.url) — it MUST belong to the configured 100Hires API host; other hosts are rejected to avoid leaking the Bearer token. Returns {file_name, mime_type, size, data} where data is base64-encoded bytes. Files larger than 25 MB are rejected up-front (Content-Length check / streaming abort) without being loaded into memory.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute attachment URL returned by another API response (e.g. https://api.100hires.com/v2/attachments/mail_attachment/<uuid>/<file_name>). Must match the API host. |
hires_get_ai_scoreRead-onlyInspect
Get the structured AI score for an application, including per-criterion scores, justifications, and follow-up questions. Returns null score if the application has not been AI-scored.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. |
hires_get_applicationRead-onlyInspect
Get full application details including stage, status, and rejection context. Recommended before mutating stage transitions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. |
hires_get_billingRead-onlyInspect
Get billing/pricing capability flags for the current company. Use before invoking paid-only API behaviors.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_get_candidateGet candidateRead-onlyInspect
Get full candidate data including application summaries by candidate ID or alias.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). |
hires_get_candidate_resumeRead-onlyInspect
Get the primary resume for a candidate. Returns uuid, absolute download url (use Bearer auth), relative_time, file metadata, type. Use include='text_content' to also get the parsed plain-text content in a text field without downloading the file.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| include | No | Comma-separated optional fields. Use 'text_content' to add a `text` field with parsed plain-text resume content. |
hires_get_career_jobRead-onlyInspect
Get full details of a single public job by ID. Returns salary, education level, experience level, and other extended fields. Returns 404 for draft, archived, or internal jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID | |
| company_slug | Yes | Company slug identifying the career site |
hires_get_companyRead-onlyInspect
Get company profile and owner metadata. Use before updates or ownership-sensitive actions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID |
hires_get_email_templateRead-onlyInspect
Get full details of a specific email template by ID, including subject and body content.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Email template ID |
hires_get_evaluationRead-onlyInspect
Get a filled evaluation form with all answers. Returns evaluator info, summary score, summary text, and individual question answers. Use for detailed review of evaluator feedback on a candidate application.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Evaluation form ID |
hires_get_formRead-onlyInspect
Get form details including all questions with their statuses.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Form ID. |
hires_get_interviewRead-onlyInspect
Get full details of a specific interview by ID. Use include to embed related candidate, application, or job data.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Interview ID | |
| include | No | Comma-separated related resources to embed: candidate, application, job |
hires_get_jobGet jobRead-onlyInspect
Get full details of a job by ID or alias. Use include to load related workflow, hiring team, or pipeline stages data.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| include | No | Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages |
hires_get_messageRead-onlyInspect
Get a scheduled message by ID. Returns scheduler-backed message details including sender account, schedule timestamps, and cancelability.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Message ID. |
hires_get_noteRead-onlyInspect
Get a single note with author and visibility metadata. Use include=user to load author details.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID | |
| include | No | Include related resources: 'user' for author details, 'candidate' for full candidate payload with url_backoffice. |
hires_get_notification_messageRead-onlyInspect
Get a notification email message (e.g. rejection email) by ID. Returns subject, body, sender, recipient, and schedule metadata. Use candidate messages list to discover notification message IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notification email message ID. |
hires_get_nurture_campaignRead-onlyInspect
Get a single nurture campaign by ID with all steps and configuration details.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nurture campaign ID |
hires_get_questionRead-onlyInspect
Get a question definition including type and options by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Question ID |
hires_get_userRead-onlyInspect
Get a single user by ID within current tenant scope. Use for identity resolution in automation flows. The default_mail_account_id field can be used as from_account_id when sending emails.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID |
hires_get_workflow_stagesRead-onlyInspect
Get stages for a specific workflow by ID. Equivalent to hires_list_workflow_stages with workflow_id filter.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID | |
| company_id | No | Target company ID (uses default company when omitted) |
hires_hire_applicationDestructiveInspect
Mark an application as hired. This is the finalization step in a hiring workflow. The application status changes to 'hired' and hired_at is set.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. |
hires_list_application_attachmentsRead-onlyInspect
List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. |
hires_list_application_evaluationsRead-onlyInspect
List all filled evaluation forms for an application. Each evaluation includes the evaluator, summary score (strong-yes to strong-no), and summary text.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| view | No | Response shape. Default `summary` replaces `summary_text` with a 200-char `summary_text_preview`. Use `full` only when the full evaluator commentary is needed; call hires_get_evaluation for a single record. | summary |
hires_list_applicationsList applications (pipeline view)Read-onlyInspect
List applications across all accessible jobs. Supports filtering by candidate, job, stage, status, AI score range, and date ranges. Use for pipeline analytics, sync jobs, and ATS dashboards. Avoid include=candidate or include=cv.text on large pages (each embeds heavy nested data); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints. Each application embeds its current stage (IdName) directly in the response — this is sufficient for rendering kanban/pipeline views; you DO NOT need to call hires_get_job to fetch workflow_stages separately when rendering a pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1). | |
| size | No | Items per page (default 25, max 100). | |
| sort | No | Sort order. Prefix with - for descending. Default: -created_at. | |
| job_id | No | Filter applications by job ID. | |
| status | No | Filter by application status: pending (active), hired, or rejected. | |
| include | No | Comma-separated relations to embed: `candidate`, `cv.text`. **Recommended: `candidate`** for pipeline / kanban / UI rendering — without it the widget shows candidate IDs instead of names and emails. Use `cv.text` only when resume text is genuinely needed (large payload). | |
| stage_id | No | Filter applications by pipeline stage ID. Best used together with job_id. | |
| company_id | No | Filter by company ID. Omit for all accessible companies. | |
| ai_score_max | No | Return only applications with ai_score <= this value. | |
| ai_score_min | No | Return only applications with ai_score >= this value. | |
| candidate_id | No | Filter applications by candidate ID. | |
| created_after | No | Return only applications created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. | |
| updated_after | No | Return only applications updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Use for incremental sync. |
hires_list_application_stage_historyRead-onlyInspect
Get the full chronological stage transition history for an application, including the initial assignment. Each entry has from_stage_id/name, to_stage_id/name, moved_at (Unix seconds), moved_by_type (system, user, automation), moved_by_user_id, and source (what caused the transition, e.g. 'apply:indeed', 'form_watcher', 'user'; null for historical records). Use this for funnel analysis, attribution reports, and time-in-stage reports instead of paginating through /candidates/{id}/activities when only stage data is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. |
hires_list_boardsRead-onlyInspect
List available publishing boards with metadata. Use for distribution setup and board selection.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_candidate_activitiesRead-onlyInspect
List timeline activities for a candidate (comments, stage moves, AI responses, etc.). Supports filtering by event type. Recommended size <= 10: copilot responses and call transcriptions can be large per event; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| page | No | Page number (1-based). | |
| size | No | Page size. Values above 100 are rejected with 400. Default 20, max 100. | |
| view | No | Response shape. Default `summary` replaces the largest event payloads (copilot LLM response/prompt, call transcription, comment body) with 200-char `*_preview` fields. Other event types pass through unchanged. Use `full` when the original content is needed. | summary |
| since | No | Inclusive lower bound on event timestamp. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-04-01T00:00:00Z). Fractional seconds accepted but truncated. | |
| until | No | Inclusive upper bound on event timestamp. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-04-01T00:00:00Z). Fractional seconds accepted but truncated. | |
| event_type | No | Comma-separated event types to filter. Supported: comment, copilot_response, stage_moved, automation_action_triggered, assign_job, enrichment, call, validate_emails, profile_mutation, qualification, assign_tags, assign_sources, candidate_rate. |
hires_list_candidate_filesRead-onlyInspect
List all files attached to a candidate (resumes and other documents). Each entry has uuid, absolute download url (use Bearer auth), relative_time, file metadata (orig_file_name, file_ext, file_type/MIME, readable_size), and type (resume/other). Default response is compact; avoid include=text_content on candidates with many files — it adds parsed resume text per file which can exceed the response budget.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). |
hires_list_candidate_interviewsRead-onlyInspect
List all interviews for a candidate across all applications. Useful for timeline views and scheduling conflict detection.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| page | No | Page number (1-based). | |
| size | No | Number of items per page. |
hires_list_candidate_messagesRead-onlyInspect
List email and messaging history for a candidate. Use is_scheduled=1 to filter only pending scheduled messages. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| page | No | Page number (1-based). | |
| size | No | Number of items per page. | |
| view | No | Response shape. Default `summary` excludes the HTML body and attachments metadata. Use `full` only when message body content is needed. | summary |
| is_scheduled | No | Set to 1 to return only scheduled (not yet sent) messages. |
hires_list_candidatesSearch candidatesRead-onlyInspect
List candidates with optional filters. Supports filtering by job, stage, email, name, LinkedIn, and date ranges. Returns paginated results. Recommended size <= 10: candidate payloads include the full profile answers array and can be large; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_candidate.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Plain-text search by name or email. Supports partial matches. | |
| page | No | Page number (1-based). | |
| size | No | Number of items per page. | |
| view | No | Response shape. Default `summary` excludes the `profile` array (custom profile-form answers). Use `full` only when those answers are genuinely needed; call hires_get_candidate for a single full record. | summary |
| No | Exact candidate email filter. | ||
| job_id | No | Filter candidates by job ID. | |
| include | No | Comma-separated related data. Supported: `applications` — embeds each candidate's application summaries with job titles and pipeline stages. Recommended when the caller needs stage/pipeline context (e.g. UI rendering, candidate-status questions). | |
| No | Search by LinkedIn profile URL or alias (e.g. 'johndoe' or full URL). | ||
| stage_id | No | Filter candidates by pipeline stage ID. Best used together with job_id. | |
| full_name | No | Candidate full-name filter. | |
| company_id | No | Filter by company ID. Required only when the API key has access to multiple companies. | |
| created_after | No | Return only candidates created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. | |
| updated_after | No | Return only candidates updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Useful for incremental sync. |
hires_list_candidate_tagsRead-onlyInspect
List all tags assigned to a candidate. Useful for segmentation and audience-based automations.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). |
hires_list_career_jobsRead-onlyInspect
List publicly visible jobs for a company career site. Supports filtering by department, employment type, city, and country. Use to power a custom careers page.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Filter by job city (exact match) | |
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) | |
| country | No | Filter by job country (exact match) | |
| company_slug | Yes | Company slug identifying the career site | |
| department_id | No | Filter by department ID | |
| employment_type_id | No | Filter by employment type ID (e.g. Full-time, Part-time) |
hires_list_categoriesRead-onlyInspect
List global job categories. Use for job classification and consistent taxonomy mapping.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_companiesRead-onlyInspect
List partner-accessible companies with pagination. Use for tenant discovery and management panels.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) |
hires_list_company_id_mail_accountsRead-onlyInspect
List all mail accounts for all users in a specific company. The company must be accessible (own company or a client).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID | |
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) |
hires_list_company_mail_accountsRead-onlyInspect
List all mail accounts for all users in the current company. Use to resolve from_account_id before creating scheduled emails.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) |
hires_list_departmentsRead-onlyInspect
List departments for the company. Use for job organization filters and reporting dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | Target company ID (uses default company when omitted) |
hires_list_education_levelsRead-onlyInspect
List education level taxonomy values. Useful for job requirements and structured matching.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_email_templatesRead-onlyInspect
List email templates for the target company. Returns paginated results with template name, subject, and body. Recommended size <= 10: templates include the full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size or fetch a single template via hires_get_email_template.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) | |
| view | No | Response shape. Default `summary` excludes the HTML template body. Use `full` only when body content is needed; call hires_get_email_template for a single record. | summary |
| company_id | No | Target company ID |
hires_list_employment_typesRead-onlyInspect
List supported employment types (full-time, part-time, contract, etc.). Use for validation and normalization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_experience_levelsRead-onlyInspect
List experience level taxonomy values for role seniority modeling.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_formsRead-onlyInspect
List application forms (paginated). Returns forms with their questions for the target company. Recommended size <= 10: each form embeds its full question list; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number. | |
| size | No | Page size. | |
| view | No | Response shape. Default `summary` omits the embedded `questions` array. Use `full` only when the full question list is needed; call hires_get_form for a single form. | summary |
| company_id | No | Target company ID. |
hires_list_hiring_teamRead-onlyInspect
List users currently assigned to a job's hiring team. Useful for notification routing and collaboration tooling.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias |
hires_list_interviewsList interviews (agenda)Read-onlyInspect
List interviews with optional filters by job, application, candidate, interviewer, date, or timestamps for incremental sync. Returns paginated results. Always pass include=candidate when surfacing results in the agenda widget — without it, the widget can only show candidate IDs and cannot link cards to candidate profiles. Avoid include=job on large pages (embeds full job description per interview); if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Filter by interview date (YYYY-MM-DD, UTC) | |
| page | No | Page number (default 1) | |
| size | No | Page size (default 20) | |
| job_id | No | Filter interviews by job ID | |
| include | No | Comma-separated related resources to embed: candidate, application, job. Set to `candidate` (or include `candidate` in the list) so the widget can link interview cards to candidate profiles in the backoffice. | |
| company_id | No | Filter by company ID. Omit for all accessible companies. | |
| candidate_id | No | Filter interviews by candidate ID | |
| created_after | No | Return only interviews created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. | |
| updated_after | No | Return only interviews updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. | |
| application_id | No | Filter interviews by application ID | |
| interviewer_user_id | No | Filter interviews by interviewer user ID |
hires_list_job_boardsRead-onlyInspect
Get current board publication state for a specific job. Returns which job boards the job is published to. Useful for distribution dashboards and posting audits.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias |
hires_list_jobsList jobsRead-onlyInspect
List jobs with optional filters by status, date range, department, or search query. Returns paginated results. Use for career-site sync, reporting, and external system indexing. Recommended size <= 10: full job payloads include description HTML and can be large; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints — reduce size, narrow filters, or fetch a single record via hires_get_job.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search by job title or internal title (partial match) | |
| page | No | Page number (default 1) | |
| size | No | Page size (default 20) | |
| view | No | Response shape. Default `summary` excludes heavy fields (description HTML, indeed_posting_data, ai_scoring_criteria) and embedded relations — recommended for list operations. Use `full` only when description or include=workflow/hiring_team/pipeline_stages is genuinely needed; call hires_get_job for a single full record. | summary |
| status | No | Filter by job status name (from GET /taxonomy/statuses, e.g. Public, Draft, Archived) | |
| include | No | Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages | |
| company_id | No | Filter by company ID (required only for multi-company API keys) | |
| department_id | No | Filter jobs by department ID (from GET /taxonomy/departments) | |
| updated_after | No | Return only jobs updated at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. Use for incremental sync. | |
| created_at_end | No | Return only jobs created at or before this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. | |
| created_at_start | No | Return only jobs created at or after this time. Unix timestamp (seconds) or ISO-8601 string (e.g. 2026-05-11T00:00:00Z). Fractional seconds accepted but truncated. |
hires_list_job_webhooksRead-onlyInspect
List webhooks configured for job-level events. Use to audit subscriptions and deployment state.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias |
hires_list_messagesRead-onlyInspect
List messages sent or scheduled from a specific mail account. Returns outbound messages only (sent and scheduled), not received. Useful for monitoring cold outreach campaigns — check pending queue, delivery history, and plan next sends. Recommended size <= 10: messages include full HTML body; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based). Default: 1. | |
| size | No | Number of items per page (1-100). Default: 20. | |
| view | No | Response shape. Default `summary` excludes the HTML body and attachments metadata — recommended for list operations. Use `full` only when message body content is needed. | summary |
| status | No | Filter by message status: `scheduled` (pending send), `sent` (delivered), `all` (both). Default: `all`. | |
| date_to | No | End of period (unix timestamp, seconds). Filters on scheduled/sent time. | |
| date_from | No | Start of period (unix timestamp, seconds). Filters on scheduled/sent time. | |
| from_account_id | Yes | ID of the mail account (from `GET /companies/mail-accounts` or `GET /users/{user_id}/mail-accounts`). |
hires_list_notesRead-onlyInspect
List notes by candidate. Returns paginated discussion notes for a candidate. Use for shared recruiter context and timeline synchronization. Notes can contain long free-form text; if the response exceeds the budget the tool returns isError:true with error_code=response_too_large and retry hints.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| size | No | Page size | |
| view | No | Response shape. Default `summary` replaces the full note body with a 200-char `body_preview`. Use `full` only when the full note text is genuinely needed; call hires_get_note for a single record. | summary |
| include | No | Include related resources: 'user' for author details, 'candidate' for full candidate payload with url_backoffice. | |
| candidate_id | Yes | Candidate ID (numeric) or alias |
hires_list_nurture_campaignsRead-onlyInspect
List nurture campaigns with pagination. Returns campaign summaries including steps.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) | |
| company_id | No | Target company ID (optional if API key is scoped to one company) |
hires_list_originsRead-onlyInspect
List candidate origin taxonomy values. Use for attribution analytics and source normalization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_questionsRead-onlyInspect
List paginated question catalog for the company.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) | |
| company_id | No | Target company ID (uses default company when omitted) |
hires_list_question_typesRead-onlyInspect
List available question types supported by the platform. Use to drive dynamic form builders.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_rejection_reasonsRead-onlyInspect
List configured rejection reasons for the company. Use to validate rejection actions and analytics.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | Target company ID (uses default company when omitted) |
hires_list_sourcesRead-onlyInspect
List candidate sources for the company. Use for attribution sync and reporting consistency.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | Target company ID (uses default company when omitted) |
hires_list_statusesRead-onlyInspect
List job status labels (draft, published, on_hold, closed, archived). Cache to validate job status updates.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
hires_list_tagsRead-onlyInspect
List all tags for the company. Returns paginated results. Recommended to cache for fast tagging UX.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | Target company ID (uses default company when omitted) |
hires_list_template_placeholdersRead-onlyInspect
List available placeholders for email templates with pagination. Use type to filter by category, q to search by label. Discover placeholders here, then use hires_prepare_template_placeholders to get an HTML tag for insertion.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Filter placeholders by label (case-insensitive substring match) | |
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) | |
| type | No | Filter by placeholder type | |
| company_id | No | Target company ID (uses default company when omitted) | |
| is_notification | No | Include notification-specific system placeholders (0 or 1, default 0) |
hires_list_user_mail_accountsRead-onlyInspect
List mail accounts connected to a user. Use to resolve from_account_id before creating scheduled emails via POST /candidates/{id}/messages.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) |
hires_list_usersRead-onlyInspect
List users for the target company with role context. Returns paginated results useful for access reviews and hiring-team management.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| size | No | Page size (default 25) | |
| company_id | No | Company ID to list users for |
hires_list_webhooksRead-onlyInspect
List webhook subscriptions configured at company scope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID |
hires_list_workflowsRead-onlyInspect
List workflows with embedded stages for the company. Use to build stage-aware integrations and routing rules.
| Name | Required | Description | Default |
|---|---|---|---|
| company_id | No | Target company ID (uses default company when omitted) |
hires_list_workflow_stagesRead-onlyInspect
List pipeline stages filtered by workflow or job. Useful for transition UIs and workflow validation.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | Filter stages by job ID (returns stages from the job's assigned workflow) | |
| company_id | No | Target company ID (uses default company when omitted) | |
| workflow_id | No | Filter stages by workflow ID (from hires_list_workflows) |
hires_move_applicationDestructiveInspect
Moves an application to a specific pipeline stage for explicit stage transitions in workflow orchestration. Requires the target stage_id (available via the job's pipeline_stages).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. | |
| stage_id | Yes | Target pipeline stage ID. |
hires_patch_messageDestructiveInspect
Partially update a scheduled message before send time. Only provided fields are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Carbon-copy recipient email addresses. | |
| id | Yes | Message ID. | |
| to | No | Primary recipient email addresses. | |
| bcc | No | Blind carbon-copy recipient email addresses. | |
| body | No | Email body as HTML. | |
| subject | No | Email subject line. | |
| scheduled_at | No | Updated send time as a Unix timestamp in seconds. | |
| from_account_id | No | Sending mail account ID. If omitted, the API key owner's default mail account is used. | |
| reply_to_email_id | No | Optional mailbox message ID to reply to. | |
| send_in_new_thread | No | Whether to send the updated message as a new thread. |
hires_prepare_template_placeholdersRead-onlyInspect
Convert a placeholder reference into an HTML tag for insertion into an email template body.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Placeholder type (system, candidate_column, job_variable, questionnaire_link, scheduling_link) | |
| identifier | No | Placeholder identifier | |
| job_variable_id | No | Job variable ID | |
| form_question_id | No | Form question ID | |
| system_column_title | No | System column title | |
| qas_profile_question_id | No | Profile question ID |
hires_publish_to_job_boardInspect
Activate selected job boards for a job. Sets boards to activation queue state. Use for controlled multi-board publishing workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| boards | No | Array of board identifiers to activate (e.g. ['indeed', 'linkedin']) |
hires_reject_applicationDestructiveInspect
Reject an application with an optional rejection reason. Use GET /taxonomy/rejection-reasons to list available reason IDs. Set suppress_notification to skip the rejection email.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. | |
| rejection_reason_id | No | Rejection reason ID from GET /taxonomy/rejection-reasons. | |
| suppress_notification | No | Set to true to skip sending the rejection email to the candidate. |
hires_remove_candidate_tagDestructiveInspect
Remove a specific tag from a candidate.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| tag | Yes | The tag string to remove. |
hires_remove_from_job_boardDestructiveInspect
Deactivate selected board publications for a job. Stops the job from being listed on specified boards.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| boards | No | Array of board identifiers to deactivate (e.g. ['indeed', 'linkedin']) |
hires_restore_companyDestructiveInspect
Restore a previously deleted company and re-enable it for active use — its public career site comes back online. Use for recovery and rollback scenarios.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID |
hires_rotate_job_webhook_secretDestructiveInspect
Rotate a job webhook's signing secret (zero-downtime). Returns the new signing_secret once; the previous secret stays valid for a grace window so deliveries are not dropped while you switch over.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| webhook_id | Yes | Webhook ID whose signing secret to rotate |
hires_rotate_webhook_secretDestructiveInspect
Rotate a company webhook's signing secret (zero-downtime). Returns the new signing_secret once; the previous secret stays valid for a grace window so deliveries are not dropped while you switch over.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID | |
| webhook_id | Yes | Webhook ID whose signing secret to rotate |
hires_send_candidate_messageInspect
Schedule an email message to a candidate. If scheduled_at is omitted, the message is scheduled for 15 minutes after creation.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Carbon-copy recipient email addresses. | |
| id | Yes | Candidate ID (integer) or alias (string). | |
| to | Yes | Primary recipient email addresses. | |
| bcc | No | Blind carbon-copy recipient email addresses. | |
| body | Yes | Email body as HTML. | |
| subject | Yes | Email subject line. | |
| scheduled_at | No | Unix timestamp (seconds) for when to send. Defaults to 15 minutes after creation. | |
| application_id | No | Optional application ID to link this message to. | |
| from_account_id | No | Sending mail account ID. If omitted, uses the API key owner's default mail account. | |
| reply_to_email_id | No | Optional mailbox message ID to reply to. | |
| send_in_new_thread | No | Send as a new email thread instead of replying in an existing one. |
hires_set_job_statusDestructiveInspect
Change job status via dedicated endpoint. Recommended for publish/unpublish/archive transitions and status automation workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| status | Yes | New job status (e.g. Draft, Public, Archived). See GET /taxonomy/statuses. | |
| include | No | Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages |
hires_submit_career_applicationInspect
Submit a job application on behalf of a candidate. Creates a candidate record and triggers the career-site pipeline automation.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Applicant email address | ||
| phone | No | Applicant phone number | |
| job_id | Yes | Job ID to apply to | |
| resume | No | Resume file upload (base64 encoded) | |
| source | No | Application source identifier | |
| answers | No | Array of form answer objects | |
| last_name | Yes | Applicant last name | |
| first_name | Yes | Applicant first name | |
| company_slug | Yes | Company slug identifying the career site | |
| linkedin_url | No | Applicant LinkedIn profile URL |
hires_submit_feedbackInspect
Submit structured API feedback about missing features, issues, or workflow improvements. Rate limited to 5 requests per hour.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Arbitrary context object (max 4KB JSON) | |
| endpoint | No | The API endpoint this feedback relates to, e.g. /v2/candidates | |
| issue_type | No | Category of the issue | |
| description | Yes | Description of the issue or feedback (max 2000 chars) | |
| suggested_improvement | No | Suggested solution or improvement (max 2000 chars) |
hires_transfer_applicationInspect
Transfer an application to another job. A new application is created on the target job. Optionally specify a stage on the target job's pipeline.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID to transfer. | |
| job_id | Yes | Target job ID to transfer the application to. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. | |
| stage_id | No | Pipeline stage ID on the target job. If omitted, defaults to the first stage. |
hires_unreject_applicationDestructiveInspect
Undo a rejection and reopen a previously rejected application. The status returns to active and rejected_at is cleared.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. |
hires_update_applicationDestructiveInspect
Update application fields such as stage, disqualification flag, and CV. For explicit stage transitions prefer hires_move_application or hires_advance_application.
| Name | Required | Description | Default |
|---|---|---|---|
| cv | No | Replace or attach a CV. | |
| id | Yes | Application ID. | |
| include | No | Comma-separated relations to embed: candidate, cv.text, job. | |
| stage_id | No | Move application to this pipeline stage. | |
| is_disqualified | No | Set to true to disqualify the candidate on this application. |
hires_update_candidateDestructiveInspect
Update candidate fields, profile answers, and optional resume text. Used for bi-directional sync from ATS, CRM, sourcing, or enrichment tools. When the user provides an attached resume, parse it yourself from chat context and pass via resume_text — do not inline binary data.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| city | No | Candidate city for location/timezone resolution. | |
| No | Candidate email address. | ||
| phone | No | Candidate phone number. | |
| state | No | Candidate state or region. | |
| job_id | No | Job ID to create a new application for this candidate. | |
| country | No | Candidate country name or ISO code. | |
| profile | No | Key-value map of profile field answers. Keys can be question text or question_id. | |
| stage_id | No | Pipeline stage ID for the application. Requires job_id. | |
| timezone | No | IANA timezone (e.g. 'America/Los_Angeles'). Auto-resolved from city/country if omitted. | |
| last_name | No | Candidate last name. | |
| first_name | No | Candidate first name. | |
| resume_text | No | Plain-text resume content extracted by the model from an attached file. Stored as a text/plain attachment. Do not pass binary or base64 — only parsed text. |
hires_update_companyDestructiveInspect
Update company profile, owner contact data, and optional logo — changes the tenant's public career-site URL (slug), name, and logo (public branding). Supports partner-operated account management.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company ID | |
| url | No | Company profile URL | |
| logo | No | Company logo file | |
| name | No | Company name | |
| website | No | Company website URL | |
| company_owner_name | No | Company owner full name | |
| is_staffing_agency | No | Whether this company is a staffing agency | |
| company_owner_email | No | Company owner email address | |
| company_owner_phone | No | Company owner phone number |
hires_update_email_templateDestructiveInspect
Update an existing email template. Only provided fields are overwritten; omitted fields keep their current values. To add placeholders, use the same workflow as creation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Email template ID | |
| body | No | Email body HTML (supports placeholders) | |
| name | No | Template name | |
| subject | No | Email subject line (supports placeholders) |
hires_update_formDestructiveInspect
Update form name and question composition.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Form ID. | |
| name | Yes | Form name. | |
| questions | No | Array of question IDs to attach to this form. |
hires_update_form_questionDestructiveInspect
Update the status (required/optional/hidden) of a question inside a form.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | Question visibility on this form: required, optional, or hidden. | |
| form_id | Yes | Form ID. | |
| question_id | Yes | Question ID. |
hires_update_jobDestructiveInspect
Update mutable job attributes. Only send fields you want to change. Preserves domain-level validation rules.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Job ID (numeric) or alias | |
| title | No | Public job title. | |
| status | No | Job status (e.g. Draft, Public). See GET /taxonomy/statuses. | |
| form_id | No | Application form ID to assign to this job. | |
| include | No | Comma-separated related resources to embed: workflow, hiring_team, pipeline_stages | |
| is_remote | No | Whether this is a remote position. | |
| salary_max | No | Maximum salary. | |
| salary_min | No | Minimum salary. | |
| category_id | No | Job category ID from GET /taxonomy/categories. | |
| description | No | Job description (HTML allowed). | |
| workflow_id | No | Workflow ID to assign to this job. | |
| department_id | No | Department ID from GET /taxonomy/departments. | |
| location_city | No | Job city. | |
| parent_job_id | No | Canonical parent job ID. If provided, the job becomes a satellite job. | |
| salary_period | No | Salary period. | |
| internal_title | No | Internal-only title visible to the hiring team. | |
| location_state | No | Job state or region. | |
| internal_job_id | No | External reference ID from your ATS or HR system. | |
| salary_currency | No | Salary currency code (e.g. USD, EUR). | |
| location_country | No | Job country. | |
| education_level_id | No | Education level ID from GET /taxonomy/education-levels. | |
| employment_type_id | No | Employment type ID from GET /taxonomy/employment-types. | |
| knockout_questions | No | Boolean knockout questions added to the application form. | |
| ai_scoring_criteria | No | AI scoring criteria for evaluating candidates. Diff-replace by id: items with id update existing, items without id create new, existing criteria not in payload are removed. Omit to leave existing criteria untouched. Pass [] to detach all. | |
| experience_level_id | No | Experience level ID from GET /taxonomy/experience-levels. | |
| resume_field_status | No | Resume field behavior on the application form. | |
| location_postal_code | No | Postal or ZIP code. | |
| location_full_address | No | Full formatted address. | |
| location_street_address | No | Street address. |
hires_update_messageDestructiveInspect
Fully update (replace) a scheduled message before send time. All required fields must be provided.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Carbon-copy recipient email addresses. | |
| id | Yes | Message ID. | |
| to | Yes | Primary recipient email addresses. | |
| bcc | No | Blind carbon-copy recipient email addresses. | |
| body | Yes | Email body as HTML. | |
| subject | Yes | Email subject line. | |
| scheduled_at | No | Updated send time as a Unix timestamp in seconds. | |
| from_account_id | No | Sending mail account ID. If omitted, the API key owner's default mail account is used. | |
| reply_to_email_id | No | Optional mailbox message ID to reply to. | |
| send_in_new_thread | No | Whether to send the updated message as a new thread. |
hires_update_noteDestructiveInspect
Update note body and/or visibility without creating a new timeline item. Use for corrections and moderation workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID | |
| body | No | Note content. Supports HTML. | |
| include | No | Include related resources: 'user' for author details, 'candidate' for full candidate payload with url_backoffice. | |
| visibility | No | Visibility: 'all' (default) or 'private' |
hires_update_notification_messageDestructiveInspect
Update a scheduled notification email before it is sent. Change subject, body, and optionally reschedule the send time. Only scheduled (not yet sent) messages can be updated.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Notification email message ID. | |
| body | Yes | Email body as HTML. | |
| subject | Yes | Email subject line. | |
| scheduled_at | No | Unix timestamp (seconds) to reschedule send time. If omitted, the existing schedule is preserved. |
hires_update_nurture_campaignDestructiveInspect
Update an existing nurture campaign. Pass all steps -- mark removed steps with is_deleted=true. Existing steps must include their id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nurture campaign ID | |
| steps | Yes | All steps -- mark removed steps with is_deleted=true | |
| title | Yes | Campaign name | |
| stage_id | No | Pipeline stage ID that triggers the campaign | |
| timezone | No | Timezone for scheduled sends, e.g. "America/New_York" | |
| delay_time | No | Delay in minutes before the first step | |
| send_to_all | No | Whether to send to all candidates or only new ones | |
| workflow_id | No | Workflow ID this campaign is associated with | |
| relative_days | No | Number of days offset for scheduling | |
| relative_time | No | Time of day for scheduled sends | |
| response_move_to_stage_id | No | Stage ID to move candidates to when they respond |
hires_update_questionDestructiveInspect
Update text, type, or options of an existing question definition.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Question ID | |
| text | Yes | Question text | |
| type | Yes | Question type (from hires_list_question_types) | |
| options | No | Answer options (for select/multiselect question types) |
hires_upload_application_attachmentInspect
Upload a file attachment to an application. Provide the file as base64-encoded data. Commonly used for signed documents and interviewer artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. | |
| file | Yes | File to upload. |
hires_upload_attachmentInspect
Upload a file and create an attachment. Supported categories: voicemail (wav/mp3, max 20 MB, no object_id — returned uuid is usable as attachment_uuid in nurture voicemail steps); candidate (candidate ID); application (application ID); candidate_comment (comment ID); job_note (job-note ID); company_favicon/company_header/company_link_preview (company ID). Object ownership is strictly verified against the authenticated API key's company. Returns {uuid, url, file, relative_time}.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | File payload. | |
| category | Yes | Attachment category. Determines allowed extensions and object_id semantics. | |
| object_id | No | Target object ID (candidate/application/comment/job-note/company, per category). Omit for `voicemail`. | |
| company_id | No | Target company ID. Needed for partner API keys managing multiple client companies. Omitted → defaults to the authenticated company. The object_id must belong to this company (strict match). |
hires_upload_candidate_fileInspect
Upload a file for a candidate using a base64 payload. Used for portfolio uploads and document attachment. WARNING: host function-call serializers (both OpenAI and Anthropic) truncate tool arguments above ~20KB, so binary files larger than that will arrive corrupted. For resumes specifically, prefer hires_create_candidate / hires_update_candidate with resume_text — the model parses the file from chat context and passes extracted text, avoiding the size limit entirely.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Candidate ID (integer) or alias (string). | |
| file | Yes | File to upload (base64 payload). |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!