HopeHire MCP
An official MCP server for HopeHire that allows AI agents to perform job search tasks including tailoring resumes for ATS compatibility, scoring fit, finding hiring leads, and sending personalized cold outreach emails from the user's own Gmail account.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://hopehire.in/mcpWhat you can do with it
- Tailor resumes for ATS systems
- Score ATS fit of resumes
- Find hiring leads at target companies
- Send personalized cold outreach emails
Source and maintenance
Protocol and capabilities
- Server
- HopeHire 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 168 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Tools
168 advertised
get_notifications_api_notifications_get
Get Notifications Fetch notifications for the current user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
{
"type": "object",
"title": "get_notifications_api_notifications_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 20,
"maximum": 100,
"minimum": 1
},
"is_read": {
"type": "boolean",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "is_read"
}
}
}mark_all_notifications_as_read_api_notifications_read_all_post
Mark All Notifications As Read Mark every unread notification as read (not just the page the client loaded). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "mark_all_notifications_as_read_api_notifications_read_all_postArguments",
"properties": {}
}mark_notification_as_read_api_notifications__notification_id__read_patch
Mark Notification As Read Mark a notification as read. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "mark_notification_as_read_api_notifications__notification_id__read_patchArguments",
"required": [
"notification_id"
],
"properties": {
"notification_id": {
"type": "string",
"title": "notification_id"
}
}
}delete_notification_api_notifications__notification_id__delete
Delete Notification Delete a notification. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "delete_notification_api_notifications__notification_id__deleteArguments",
"required": [
"notification_id"
],
"properties": {
"notification_id": {
"type": "string",
"title": "notification_id"
}
}
}get_ats_score_api_resume_ats_score_get
Get Ats Score Return the most recently calculated ATS score for the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_ats_score_api_resume_ats_score_getArguments",
"properties": {}
}refresh_ats_score_api_resume_ats_score_refresh_post
Refresh Ats Score Recalculate the ATS score from the current resume and persist it. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "refresh_ats_score_api_resume_ats_score_refresh_postArguments",
"properties": {}
}resume_ai_chat_api_resume_ai_chat_post
Resume Ai Chat Stream an AI response that helps the user interactively improve their resume. Body: user_id (str) — authenticated user's ID message (str) — latest user message conversation_history (list) — [{role: "user"|"assistant", content: str}] ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "resume_ai_chat_api_resume_ai_chat_postArguments",
"properties": {}
}mark_improvement_suggestions_invalid_api_resume_improvement_suggestions_mark_invalid_post
Mark Improvement Suggestions Invalid Replace improvement suggestions with the provided valid_suggestions list. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "mark_improvement_suggestions_invalid_api_resume_improvement_suggestions_mark_invalid_postArguments",
"required": [
"user_id",
"valid_suggestions"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"valid_suggestions": {
"type": "array",
"items": {
"type": "string"
},
"title": "valid_suggestions"
}
}
}generate_yaml_version_api_resume_generate_yaml_post
Generate Yaml Version Generate YAML version and RenderCV PDF for existing resume ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "generate_yaml_version_api_resume_generate_yaml_postArguments",
"properties": {}
}apply_suggestions_api_resume_apply_suggestions_post
Apply Suggestions Apply improvement suggestions to YAML and regenerate PDF ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "apply_suggestions_api_resume_apply_suggestions_postArguments",
"properties": {}
}get_yaml_suggestions_api_resume_yaml_suggestions_post
Get Yaml Suggestions Generate YAML-based improvement suggestions ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_yaml_suggestions_api_resume_yaml_suggestions_postArguments",
"properties": {}
}generate_complete_resume_api_resume_generate_complete_post
Generate Complete Resume Generate a complete, enhanced resume with additional relevant content using AI. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "generate_complete_resume_api_resume_generate_complete_postArguments",
"required": [
"user_id",
"resume_text"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"resume_text": {
"type": "string",
"title": "resume_text"
}
}
}render_raw_yaml_api_resume_render_raw_yaml_post
Render Raw Yaml Hot-reload: Generate PDF from raw YAML content ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "render_raw_yaml_api_resume_render_raw_yaml_postArguments",
"properties": {}
}list_themes_api_resume_themes_get
List Themes ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "list_themes_api_resume_themes_getArguments",
"properties": {}
}apply_resume_theme_api_resume_apply_theme_post
Apply Resume Theme Switch the design theme in a YAML document. Pure transform: no render, no save. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "apply_resume_theme_api_resume_apply_theme_postArguments",
"properties": {}
}save_resume_yaml_api_resume_save_yaml_post
Save Resume Yaml Save raw YAML content to the user's resume. YAML is treated as the source of truth: the structured resume fields (personalInfo, experience, education, projects, skills, certifications) are parsed from the YAML and written back to the database so that every other part of the application (resume overview, AI chat, job matching …) always reflects the latest YAML edits. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "save_resume_yaml_api_resume_save_yaml_postArguments",
"properties": {}
}create_resume_from_linkedin_api_resume_from_linkedin_post
Create Resume From Linkedin Create a resume from LinkedIn profile URL using Apify API. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "create_resume_from_linkedin_api_resume_from_linkedin_postArguments",
"properties": {}
}get_rendercv_pdf_api_resume_rendercv_pdf_get
Get Rendercv Pdf Get RenderCV PDF download URL for the user's resume. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_rendercv_pdf_api_resume_rendercv_pdf_getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}get_rendercv_pdf_download_api_resume_rendercv_pdf_download_get
Get Rendercv Pdf Download Return a presigned URL with Content-Disposition: attachment so the browser downloads the resume PDF instead of opening it inline. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_rendercv_pdf_download_api_resume_rendercv_pdf_download_getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}test_pdf_generation_api_resume_test_pdf_generation_get
Test Pdf Generation Test PDF generation to debug PDF issues. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "test_pdf_generation_api_resume_test_pdf_generation_getArguments",
"properties": {}
}debug_pdf_api_resume_debug_pdf_get
Debug Pdf Get debugging information about a PDF file. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "debug_pdf_api_resume_debug_pdf_getArguments",
"required": [
"file_path"
],
"properties": {
"file_path": {
"type": "string",
"title": "file_path"
}
}
}download_resume_api_resume_download_get
Download Resume Download the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "download_resume_api_resume_download_getArguments",
"required": [
"s3Path"
],
"properties": {
"s3Path": {
"type": "string",
"title": "s3Path"
}
}
}public_resume_api_resume_public_get
Public Resume Resume link embedded in cold emails: no login, but only links we signed will open. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "public_resume_api_resume_public_getArguments",
"required": [
"s3Path",
"sig"
],
"properties": {
"sig": {
"type": "string",
"title": "sig"
},
"s3Path": {
"type": "string",
"title": "s3Path"
}
}
}show_resume_api_resume__resume_id__get
Show Resume Show the resume via redirect to presigned S3 URL. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "show_resume_api_resume__resume_id__getArguments",
"required": [
"s3Path"
],
"properties": {
"s3Path": {
"type": "string",
"title": "s3Path"
}
}
}get_resume_api_resume_get
Get Resume Get the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_resume_api_resume_getArguments",
"properties": {
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id"
}
}
}upload_resume_api_resume_post
Upload Resume Upload and process a resume file. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "upload_resume_api_resume_postArguments",
"properties": {
"file": {
"type": "string",
"anyOf": [
{
"type": "string",
"contentMediaType": "application/octet-stream"
},
{
"type": "null"
}
],
"title": "file"
},
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id"
}
}
}update_resume_manual_api_resume_put
Update Resume Manual Update a user's resume manually and trigger PDF generation. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "update_resume_manual_api_resume_putArguments",
"required": [
"id",
"userId",
"personalInfo",
"experience",
"education",
"skills",
"createdAt",
"updatedAt"
],
"properties": {
"id": {
"type": "string",
"title": "id"
},
"s3Path": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "s3Path"
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"title": "skills"
},
"source": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "source"
},
"userId": {
"type": "string",
"title": "userId"
},
"fileName": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "fileName"
},
"fileSize": {
"type": "integer",
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "fileSize"
},
"fileType": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "fileType"
},
"projects": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"title": "ProjectItem",
"required": [
"title"
],
"properties": {
"link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Link"
},
"title": {
"type": "string",
"title": "Title"
},
"techStack": {
"type": "array",
"items": {
"type": "string"
},
"title": "Techstack",
"default": []
},
"highlights": {
"type": "array",
"items": {
"type": "string"
},
"title": "Highlights",
"default": []
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
}
}
}
},
{
"type": "null"
}
],
"title": "projects"
},
"createdAt": {
"type": "string",
"title": "createdAt",
"format": "date-time"
},
"education": {
"type": "array",
"items": {
"type": "object",
"title": "EducationItem",
"required": [
"degree",
"institution"
],
"properties": {
"gpa": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Gpa"
},
"area": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Area"
},
"degree": {
"type": "string",
"title": "Degree"
},
"endDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enddate"
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location"
},
"startDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Startdate"
},
"highlights": {
"type": "array",
"items": {
"type": "string"
},
"title": "Highlights",
"default": []
},
"institution": {
"type": "string",
"title": "Institution"
}
}
},
"title": "education"
},
"languages": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "languages"
},
"updatedAt": {
"type": "string",
"title": "updatedAt",
"format": "date-time"
},
"experience": {
"type": "array",
"items": {
"type": "object",
"title": "ExperienceItem",
"required": [
"title",
"company"
],
"properties": {
"title": {
"type": "string",
"title": "Title"
},
"company": {
"type": "string",
"title": "Company"
},
"endDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enddate"
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location"
},
"startDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Startdate"
},
"techStack": {
"type": "array",
"items": {
"type": "string"
},
"title": "Techstack",
"default": []
},
"highlights": {
"type": "array",
"items": {
"type": "string"
},
"title": "Highlights",
"default": []
}
}
},
"title": "experience"
},
"achievements": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "achievements"
},
"linkedin_url": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "linkedin_url"
},
"personalInfo": {
"type": "object",
"title": "personalInfo",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Summary"
},
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Location"
},
"contactInfo": {
"anyOf": [
{
"type": "object",
"title": "ContactInfo",
"properties": {
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Email"
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phone"
},
"github": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Github"
},
"linkedin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Linkedin"
},
"portfolio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portfolio"
}
}
},
{
"type": "null"
}
]
}
}
},
"yaml_content": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "yaml_content"
},
"certifications": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "certifications"
},
"jobPreferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "JobPreferences",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Id"
},
"userId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Userid"
},
"jobTypes": {
"type": "array",
"items": {
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"freelance"
],
"type": "string",
"title": "JobType"
},
"title": "Jobtypes",
"default": []
},
"isFresher": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Isfresher"
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"title": "Locations",
"default": []
},
"techStack": {
"type": "array",
"items": {
"type": "string"
},
"title": "Techstack",
"default": []
},
"updatedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updatedat"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"title": "Industries",
"default": []
},
"expectedCtc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Expectedctc"
},
"targetRoles": {
"type": "array",
"items": {
"type": "string"
},
"title": "Targetroles",
"default": []
},
"functionAreas": {
"type": "array",
"items": {
"type": "string"
},
"title": "Functionareas",
"default": []
},
"locationTypes": {
"type": "array",
"items": {
"enum": [
"remote",
"onsite",
"hybrid",
"not_specified"
],
"type": "string",
"title": "JobLocationType"
},
"title": "Locationtypes",
"default": []
},
"graduationYear": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Graduationyear"
},
"specializations": {
"type": "array",
"items": {
"type": "string"
},
"title": "Specializations",
"default": []
},
"targetCompanies": {
"type": "array",
"items": {
"type": "string"
},
"title": "Targetcompanies",
"default": []
},
"experienceLevels": {
"type": "array",
"items": {
"enum": [
"entry",
"associate",
"mid",
"senior",
"lead",
"executive",
"not_specified"
],
"type": "string",
"title": "ExperienceLevel"
},
"title": "Experiencelevels",
"default": []
}
},
"description": "User job preferences"
},
{
"type": "null"
}
],
"title": "jobPreferences"
},
"yaml_updated_at": {
"type": "string",
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "yaml_updated_at"
},
"extracurriculars": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "extracurriculars"
},
"rendercv_pdf_url": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "rendercv_pdf_url"
},
"rendercv_pdf_path": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "rendercv_pdf_path"
},
"improvementSuggestions": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {}
},
{
"type": "null"
}
],
"title": "improvementSuggestions"
},
"cold_email_resume_source": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "cold_email_resume_source"
},
"positionsOfResponsibility": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "positionsOfResponsibility"
},
"rendercv_url_refreshed_at": {
"type": "string",
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "rendercv_url_refreshed_at"
}
}
}delete_resume_api_resume_delete
Delete Resume Delete the user's resume and cleanup associated resources. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "delete_resume_api_resume_deleteArguments",
"properties": {
"s3Path": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "s3Path"
},
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id"
}
}
}set_cold_email_resume_source_api_resume_cold_email_source_put
Set Cold Email Resume Source Set which resume file cold outreach should use: the originally uploaded file ("uploaded", the default) or HopeHire's RenderCV-generated PDF ("generated"). A lightweight sibling to the full manual-edit PUT above — this only flips one field and doesn't trigger PDF/YAML regeneration. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "set_cold_email_resume_source_api_resume_cold_email_source_putArguments",
"properties": {}
}get_preferences_api_job_preferences_get
Get Preferences Get the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_preferences_api_job_preferences_getArguments",
"properties": {
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id"
}
}
}create_preferences_api_job_preferences_post
Create Preferences Create the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "create_preferences_api_job_preferences_postArguments",
"properties": {
"id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "id"
},
"userId": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "userId"
},
"jobTypes": {
"type": "array",
"items": {
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"freelance"
],
"type": "string",
"title": "JobType"
},
"title": "jobTypes",
"default": []
},
"isFresher": {
"type": "boolean",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "isFresher"
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"title": "locations",
"default": []
},
"techStack": {
"type": "array",
"items": {
"type": "string"
},
"title": "techStack",
"default": []
},
"updatedAt": {
"type": "string",
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "updatedAt"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"title": "industries",
"default": []
},
"expectedCtc": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "expectedCtc"
},
"targetRoles": {
"type": "array",
"items": {
"type": "string"
},
"title": "targetRoles",
"default": []
},
"functionAreas": {
"type": "array",
"items": {
"type": "string"
},
"title": "functionAreas",
"default": []
},
"locationTypes": {
"type": "array",
"items": {
"enum": [
"remote",
"onsite",
"hybrid",
"not_specified"
],
"type": "string",
"title": "JobLocationType"
},
"title": "locationTypes",
"default": []
},
"graduationYear": {
"type": "integer",
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "graduationYear"
},
"specializations": {
"type": "array",
"items": {
"type": "string"
},
"title": "specializations",
"default": []
},
"targetCompanies": {
"type": "array",
"items": {
"type": "string"
},
"title": "targetCompanies",
"default": []
},
"experienceLevels": {
"type": "array",
"items": {
"enum": [
"entry",
"associate",
"mid",
"senior",
"lead",
"executive",
"not_specified"
],
"type": "string",
"title": "ExperienceLevel"
},
"title": "experienceLevels",
"default": []
}
}
}update_preferences_api_job_preferences_put
Update Preferences Update the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "update_preferences_api_job_preferences_putArguments",
"properties": {
"id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "id"
},
"userId": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "userId"
},
"jobTypes": {
"type": "array",
"items": {
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"freelance"
],
"type": "string",
"title": "JobType"
},
"title": "jobTypes",
"default": []
},
"isFresher": {
"type": "boolean",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "isFresher"
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"title": "locations",
"default": []
},
"techStack": {
"type": "array",
"items": {
"type": "string"
},
"title": "techStack",
"default": []
},
"updatedAt": {
"type": "string",
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "updatedAt"
},
"industries": {
"type": "array",
"items": {
"type": "string"
},
"title": "industries",
"default": []
},
"expectedCtc": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "expectedCtc"
},
"targetRoles": {
"type": "array",
"items": {
"type": "string"
},
"title": "targetRoles",
"default": []
},
"functionAreas": {
"type": "array",
"items": {
"type": "string"
},
"title": "functionAreas",
"default": []
},
"locationTypes": {
"type": "array",
"items": {
"enum": [
"remote",
"onsite",
"hybrid",
"not_specified"
],
"type": "string",
"title": "JobLocationType"
},
"title": "locationTypes",
"default": []
},
"graduationYear": {
"type": "integer",
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "graduationYear"
},
"specializations": {
"type": "array",
"items": {
"type": "string"
},
"title": "specializations",
"default": []
},
"targetCompanies": {
"type": "array",
"items": {
"type": "string"
},
"title": "targetCompanies",
"default": []
},
"experienceLevels": {
"type": "array",
"items": {
"enum": [
"entry",
"associate",
"mid",
"senior",
"lead",
"executive",
"not_specified"
],
"type": "string",
"title": "ExperienceLevel"
},
"title": "experienceLevels",
"default": []
}
}
}delete_preferences_api_job_preferences_delete
Delete Preferences Delete the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "delete_preferences_api_job_preferences_deleteArguments",
"properties": {
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id"
}
}
}start_job_matching_api_job_matches_start_post
Start Job Matching Start an asynchronous job matching process Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "start_job_matching_api_job_matches_start_postArguments",
"properties": {
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id",
"description": "User ID to match jobs for"
},
"resume_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "resume_id",
"description": "Resume ID to use for matching"
},
"use_preferences": {
"type": "boolean",
"title": "use_preferences",
"default": true,
"description": "Whether to filter jobs by user preferences first"
}
}
}get_filtered_jobs_api_job_matches_get
Get Filtered Jobs Get filtered job matches for a user Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_filtered_jobs_api_job_matches_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of results to return"
},
"offset": {
"type": "integer",
"title": "offset",
"default": 0,
"minimum": 0,
"description": "Number of results to skip"
},
"sort_by": {
"type": "string",
"title": "sort_by",
"default": "match_score",
"description": "Field to sort by"
},
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id",
"description": "User ID to get matches for"
},
"job_type": {
"type": "string",
"anyOf": [
{
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"freelance"
],
"type": "string",
"title": "JobType"
},
{
"type": "null"
}
],
"title": "job_type",
"description": "Filter by job type"
},
"keywords": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "keywords",
"description": "Filter by keywords"
},
"location": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "location",
"description": "Filter by location"
},
"resume_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "resume_id",
"description": "Resume ID to get matches for"
},
"min_salary": {
"type": "number",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "min_salary",
"description": "Filter by minimum salary"
},
"sort_order": {
"type": "string",
"title": "sort_order",
"default": "desc",
"description": "Sort order (asc or desc)"
},
"location_type": {
"type": "string",
"anyOf": [
{
"enum": [
"remote",
"onsite",
"hybrid",
"not_specified"
],
"type": "string",
"title": "JobLocationType"
},
{
"type": "null"
}
],
"title": "location_type",
"description": "Filter by location type (remote, onsite, hybrid)"
},
"min_match_score": {
"type": "number",
"anyOf": [
{
"type": "number",
"maximum": 1,
"minimum": 0
},
{
"type": "null"
}
],
"title": "min_match_score",
"description": "Filter by minimum match score"
},
"experience_level": {
"type": "string",
"anyOf": [
{
"enum": [
"entry",
"associate",
"mid",
"senior",
"lead",
"executive",
"not_specified"
],
"type": "string",
"title": "ExperienceLevel"
},
{
"type": "null"
}
],
"title": "experience_level",
"description": "Filter by experience level"
}
}
}clear_job_matches_api_job_matches_delete
Clear Job Matches Clear all job matches for a user Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "clear_job_matches_api_job_matches_deleteArguments",
"properties": {
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id",
"description": "User ID to clear matches for"
}
}
}start_conversation_api_auto_apply_start_conversation_post
Start Conversation Start a new conversation using the shared auto-apply service logic. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "start_conversation_api_auto_apply_start_conversation_postArguments",
"required": [
"job_id",
"user_id"
],
"properties": {
"job_id": {
"type": "string",
"title": "job_id",
"description": "Related job ID"
},
"user_id": {
"type": "string",
"title": "user_id",
"description": "User ID initiating the conversation"
},
"resume_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "resume_id",
"description": "Resume ID if available"
},
"user_profile": {
"type": "object",
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"title": "user_profile",
"description": "User profile (optional, for backward compatibility)"
}
}
}start_auto_apply_api_auto_apply_post
Start auto-apply process Launches an automated job application process that finds contacts, generates personalized messages, and sends emails with resume attachments. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "task_id": "Task Id", "status": "AutoApplyStatus" } ```
{
"type": "object",
"title": "start_auto_apply_api_auto_apply_postArguments",
"required": [
"job_id",
"user_id",
"user_profile"
],
"properties": {
"job_id": {
"type": "string",
"title": "job_id",
"example": "job-123",
"description": "ID of the job to apply for"
},
"user_id": {
"type": "string",
"title": "user_id",
"example": "user-456",
"description": "ID of the user applying for the job"
},
"user_profile": {
"type": "object",
"title": "user_profile",
"required": [
"name",
"experience",
"skills"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"example": "John Doe",
"description": "Full name of the user"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Email",
"example": "john.doe@example.com",
"description": "User's email address"
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"title": "Skills",
"example": [
"Python",
"FastAPI",
"React"
],
"description": "List of professional skills"
},
"experience": {
"type": "string",
"title": "Experience",
"example": "5 years of software engineering experience",
"description": "Brief description of professional experience"
}
},
"description": "User profile information for job application"
}
}
}get_auto_apply_tasks_api_auto_apply_get
Get all auto-apply tasks for a user Get all auto-apply tasks for a given user. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_auto_apply_tasks_api_auto_apply_getArguments",
"properties": {
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id",
"description": "ID of the user to fetch tasks for"
}
}
}get_auto_apply_status_api_auto_apply__task_id__get
Check auto-apply status Retrieves the current status and results of an auto-apply task. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "task_id": "Task Id", "status": "AutoApplyStatus" } ```
{
"type": "object",
"title": "get_auto_apply_status_api_auto_apply__task_id__getArguments",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"title": "task_id",
"description": "Auto-apply task ID returned from the start endpoint"
}
}
}get_auto_apply_status_by_task_id_api_auto_apply_status__task_id__get
Get Auto Apply Status By Task Id Get status of an auto-apply task by task_id (conversationId). Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "task_id": "Task Id", "status": "AutoApplyStatus" } ```
{
"type": "object",
"title": "get_auto_apply_status_by_task_id_api_auto_apply_status__task_id__getArguments",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"title": "task_id",
"description": "Auto-apply task ID"
}
}
}start_conversation_api_email_conversations_start_conversation_post
Start Conversation Start a new email conversation. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "start_conversation_api_email_conversations_start_conversation_postArguments",
"required": [
"contact_email",
"subject_line",
"intent"
],
"properties": {
"intent": {
"enum": [
"job_application",
"job_referral",
"networking",
"information",
"follow_up",
"other"
],
"type": "string",
"title": "intent",
"description": "Primary intent of the conversation"
},
"job_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "job_id",
"description": "Related job ID if applicable"
},
"contact_name": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "contact_name",
"description": "Name of the contact"
},
"context_data": {
"type": "object",
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
],
"title": "context_data",
"description": "Additional context data"
},
"initial_body": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "initial_body",
"description": "Optional initial message body"
},
"subject_line": {
"type": "string",
"title": "subject_line",
"description": "Subject line for the conversation"
},
"contact_email": {
"type": "string",
"title": "contact_email",
"description": "Email address of the contact"
}
}
}get_conversations_api_email_conversations_get
Get Conversations Get all conversations for the authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "id": "Id", "contact_email": "Contact Email", "status": "ConversationStatus", "intent": "ConversationIntent", "subject_line": "Subject Line", "message_count": 1, "last_updated": "2023-01-01T00:00:00Z" } ] ```
{
"type": "object",
"title": "get_conversations_api_email_conversations_getArguments",
"properties": {
"skip": {
"type": "integer",
"title": "skip",
"default": 0,
"minimum": 0
},
"limit": {
"type": "integer",
"title": "limit",
"default": 10,
"maximum": 100,
"minimum": 1
}
}
}get_conversation_details_api_email_conversations__conversation_id__get
Get Conversation Details Get details of a specific conversation. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "id": "Id", "contact_email": "Contact Email", "status": "ConversationStatus", "intent": "ConversationIntent", "subject_line": "Subject Line", "message_count": 1, "last_updated": "2023-01-01T00:00:00Z", "messages": [ {} ], "context_data": {} } ```
{
"type": "object",
"title": "get_conversation_details_api_email_conversations__conversation_id__getArguments",
"required": [
"conversation_id"
],
"properties": {
"conversation_id": {
"type": "string",
"title": "conversation_id",
"description": "ID of the conversation to get"
}
}
}pause_conversation_api_email_conversations__conversation_id__pause_post
Pause Conversation Pause an ongoing conversation to stop automatic follow-ups. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "pause_conversation_api_email_conversations__conversation_id__pause_postArguments",
"required": [
"conversation_id"
],
"properties": {
"conversation_id": {
"type": "string",
"title": "conversation_id",
"description": "ID of the conversation to pause"
}
}
}resume_conversation_api_email_conversations__conversation_id__resume_post
Resume Conversation Resume a paused conversation. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "resume_conversation_api_email_conversations__conversation_id__resume_postArguments",
"required": [
"conversation_id"
],
"properties": {
"conversation_id": {
"type": "string",
"title": "conversation_id",
"description": "ID of the conversation to resume"
}
}
}send_manual_message_api_email_conversations__conversation_id__message_post
Send Manual Message Send a manual message in the conversation, overriding the AI. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "send_manual_message_api_email_conversations__conversation_id__message_postArguments",
"required": [
"conversation_id",
"message_content"
],
"properties": {
"conversation_id": {
"type": "string",
"title": "conversation_id",
"description": "ID of the conversation"
},
"message_content": {
"type": "string",
"title": "message_content",
"description": "Content of the manual message to send"
}
}
}resolve_protocol_api_email_conversations__conversation_id__resolve_post
Resolve Protocol Resolve a human-intervention protocol by sending a manual reply and marking the associated notification as read. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "resolve_protocol_api_email_conversations__conversation_id__resolve_postArguments",
"required": [
"conversation_id",
"message_content",
"notification_id"
],
"properties": {
"conversation_id": {
"type": "string",
"title": "conversation_id",
"description": "ID of the conversation"
},
"message_content": {
"type": "string",
"title": "message_content",
"description": "Content of the manual message to send"
},
"notification_id": {
"type": "string",
"title": "notification_id",
"description": "ID of the notification to mark as read"
}
}
}get_system_stats_api_multi_tenant_monitoring_stats_get
Get System Stats Get overall system statistics ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "workers": [ {} ], "total_active_users": 1, "system_status": "System Status" } ```
{
"type": "object",
"title": "get_system_stats_api_multi_tenant_monitoring_stats_getArguments",
"properties": {}
}get_active_users_api_multi_tenant_monitoring_users_active_get
Get Active Users Get list of active users with email monitoring enabled ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
{
"type": "object",
"title": "get_active_users_api_multi_tenant_monitoring_users_active_getArguments",
"properties": {
"skip": {
"type": "integer",
"title": "skip",
"default": 0,
"description": "Number of users to skip"
},
"limit": {
"type": "integer",
"title": "limit",
"default": 50,
"description": "Maximum number of users to return"
}
}
}enable_user_monitoring_api_multi_tenant_monitoring_users__user_id__enable_post
Enable User Monitoring Enable email monitoring for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "enable_user_monitoring_api_multi_tenant_monitoring_users__user_id__enable_postArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}disable_user_monitoring_api_multi_tenant_monitoring_users__user_id__disable_post
Disable User Monitoring Disable email monitoring for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "disable_user_monitoring_api_multi_tenant_monitoring_users__user_id__disable_postArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}update_user_monitoring_config_api_multi_tenant_monitoring_users__user_id__config_put
Update User Monitoring Config Update email monitoring configuration for a user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_user_monitoring_config_api_multi_tenant_monitoring_users__user_id__config_putArguments",
"required": [
"user_id",
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id",
"description": "User ID"
},
"priority": {
"type": "string",
"title": "priority",
"default": "normal",
"description": "Priority level (low, normal, high)"
},
"monitoring_frequency": {
"type": "integer",
"title": "monitoring_frequency",
"default": 60,
"description": "Monitoring frequency in seconds"
},
"email_monitoring_enabled": {
"type": "boolean",
"title": "email_monitoring_enabled",
"default": true,
"description": "Enable/disable email monitoring"
}
}
}trigger_user_discovery_api_multi_tenant_monitoring_discovery_trigger_post
Trigger User Discovery Manually trigger user discovery process ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "trigger_user_discovery_api_multi_tenant_monitoring_discovery_trigger_postArguments",
"properties": {}
}get_user_monitoring_status_api_multi_tenant_monitoring_users__user_id__status_get
Get User Monitoring Status Get monitoring status for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_user_monitoring_status_api_multi_tenant_monitoring_users__user_id__status_getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}get_email_analytics_report_api_reports__user_id___duration__get
Get Email Analytics Report Get email analytics report for a user over a specific duration. Duration options: - 7d: Last 7 days - 30d: Last 30 days - 90d: Last 90 days - 1y: Last year - all: All time ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_email_analytics_report_api_reports__user_id___duration__getArguments",
"required": [
"user_id",
"duration"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"duration": {
"type": "string",
"title": "duration"
}
}
}get_email_analytics_summary_api_reports__user_id__summary_get
Get Email Analytics Summary Get a quick summary of email analytics for the last 30 days. This is a lightweight endpoint for dashboard widgets. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_email_analytics_summary_api_reports__user_id__summary_getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}get_user_memory_api_user_memory__user_id__get
Get User Memory Get user memory by user ID ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_user_memory_api_user_memory__user_id__getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}create_user_memory_api_user_memory__user_id__post
Create User Memory Create new user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "create_user_memory_api_user_memory__user_id__postArguments",
"required": [
"user_id",
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"compensation": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "CompensationInfo",
"properties": {
"currency": {
"type": "string",
"title": "Currency",
"default": "INR",
"description": "Currency for compensation"
},
"current_ctc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Ctc",
"description": "Current Cost to Company"
},
"expected_ctc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Expected Ctc",
"description": "Expected Cost to Company"
}
},
"description": "Compensation and salary information"
},
{
"type": "null"
}
],
"title": "compensation"
},
"notice_period": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "NoticePeriodInfo",
"properties": {
"notice_period": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notice Period",
"description": "Notice period value"
},
"notice_period_unit": {
"type": "string",
"title": "Notice Period Unit",
"default": "days",
"description": "Unit for notice period (days/weeks/months)"
}
},
"description": "Notice period information"
},
{
"type": "null"
}
],
"title": "notice_period"
},
"career_context": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "CareerContext",
"properties": {
"constraints": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Constraints",
"description": "Career constraints and limitations"
},
"availability": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Availability",
"description": "Availability information"
},
"career_goals": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Career Goals",
"description": "User's career objectives and goals"
},
"preferred_work_mode": {
"enum": [
"remote",
"onsite",
"hybrid",
"not_specified"
],
"type": "string",
"title": "JobLocationType",
"default": "not_specified",
"description": "Preferred work mode"
}
},
"description": "Career goals and constraints"
},
{
"type": "null"
}
],
"title": "career_context"
},
"job_preferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "JobPreferences",
"properties": {
"skills": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Skills",
"description": "Key skills and technologies"
},
"job_types": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"freelance"
],
"type": "string",
"title": "JobType"
}
},
{
"type": "null"
}
],
"title": "Job Types",
"description": "Preferred job types"
},
"locations": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Locations",
"description": "Preferred job locations"
},
"industries": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Industries",
"description": "Preferred industries"
},
"company_sizes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Company Sizes",
"description": "Preferred company sizes"
},
"experience_levels": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"entry",
"associate",
"mid",
"senior",
"lead",
"executive",
"not_specified"
],
"type": "string",
"title": "ExperienceLevel"
}
},
{
"type": "null"
}
],
"title": "Experience Levels",
"description": "Preferred experience levels"
},
"remote_preference": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Remote Preference",
"description": "Remote work preference"
}
},
"description": "Job preferences for matching and applications"
},
{
"type": "null"
}
],
"title": "job_preferences"
},
"ai_context_notes": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "ai_context_notes"
},
"safety_guardrails": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "SafetyGuardrails",
"properties": {
"custom_rules": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Custom Rules",
"description": "Custom safety rules"
},
"required_tone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Required Tone",
"description": "Strictly required tone"
},
"do_not_mentions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Do Not Mentions",
"description": "Topics or phrases to never mention"
},
"ip_restrictions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Ip Restrictions",
"description": "IP or internal info not to share"
}
},
"description": "Safety guardrails and hard constraints for AI actions"
},
{
"type": "null"
}
],
"title": "safety_guardrails"
},
"screening_profile": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "ScreeningProfile",
"properties": {
"legal_last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Last Name",
"description": "Last name exactly as on PAN/Aadhaar"
},
"current_location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Location",
"description": "City the candidate currently lives in"
},
"legal_first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal First Name",
"description": "First name exactly as on PAN/Aadhaar"
},
"job_change_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Job Change Reason",
"description": "Reason for looking for a change"
},
"relocation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Relocation Reason",
"description": "Reason for relocating, if asked"
},
"open_to_relocation": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Open To Relocation",
"description": "Whether the candidate will relocate for a job"
},
"interview_availability": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interview Availability",
"description": "When the candidate can interview, e.g. 'Weekdays after 6 PM IST'"
}
},
"description": "Facts recruiters ask in screening emails. Used verbatim; never guessed by the AI."
},
{
"type": "null"
}
],
"title": "screening_profile"
},
"auto_apply_preferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "AutoApplyPreferences",
"properties": {
"auto_apply_preferences": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auto Apply Preferences",
"description": "Preferences for auto-apply functionality"
}
},
"description": "Preferences for automated application processes"
},
{
"type": "null"
}
],
"title": "auto_apply_preferences"
},
"communication_preferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "CommunicationPreferences",
"properties": {
"email_tone": {
"enum": [
"professional",
"casual",
"enthusiastic",
"formal"
],
"type": "string",
"title": "Email Tone",
"default": "professional",
"description": "Preferred email tone (professional/casual/enthusiastic/formal)"
},
"communication_style": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Communication Style",
"description": "Communication style preferences"
}
},
"description": "Communication style preferences"
},
{
"type": "null"
}
],
"title": "communication_preferences"
}
}
}update_user_memory_api_user_memory__user_id__put
Update User Memory Update existing user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "update_user_memory_api_user_memory__user_id__putArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"compensation": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "CompensationInfo",
"properties": {
"currency": {
"type": "string",
"title": "Currency",
"default": "INR",
"description": "Currency for compensation"
},
"current_ctc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Ctc",
"description": "Current Cost to Company"
},
"expected_ctc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Expected Ctc",
"description": "Expected Cost to Company"
}
},
"description": "Compensation and salary information"
},
{
"type": "null"
}
],
"title": "compensation"
},
"notice_period": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "NoticePeriodInfo",
"properties": {
"notice_period": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Notice Period",
"description": "Notice period value"
},
"notice_period_unit": {
"type": "string",
"title": "Notice Period Unit",
"default": "days",
"description": "Unit for notice period (days/weeks/months)"
}
},
"description": "Notice period information"
},
{
"type": "null"
}
],
"title": "notice_period"
},
"career_context": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "CareerContext",
"properties": {
"constraints": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Constraints",
"description": "Career constraints and limitations"
},
"availability": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Availability",
"description": "Availability information"
},
"career_goals": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Career Goals",
"description": "User's career objectives and goals"
},
"preferred_work_mode": {
"enum": [
"remote",
"onsite",
"hybrid",
"not_specified"
],
"type": "string",
"title": "JobLocationType",
"default": "not_specified",
"description": "Preferred work mode"
}
},
"description": "Career goals and constraints"
},
{
"type": "null"
}
],
"title": "career_context"
},
"job_preferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "JobPreferences",
"properties": {
"skills": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Skills",
"description": "Key skills and technologies"
},
"job_types": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"full_time",
"part_time",
"contract",
"internship",
"freelance"
],
"type": "string",
"title": "JobType"
}
},
{
"type": "null"
}
],
"title": "Job Types",
"description": "Preferred job types"
},
"locations": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Locations",
"description": "Preferred job locations"
},
"industries": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Industries",
"description": "Preferred industries"
},
"company_sizes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Company Sizes",
"description": "Preferred company sizes"
},
"experience_levels": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"entry",
"associate",
"mid",
"senior",
"lead",
"executive",
"not_specified"
],
"type": "string",
"title": "ExperienceLevel"
}
},
{
"type": "null"
}
],
"title": "Experience Levels",
"description": "Preferred experience levels"
},
"remote_preference": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Remote Preference",
"description": "Remote work preference"
}
},
"description": "Job preferences for matching and applications"
},
{
"type": "null"
}
],
"title": "job_preferences"
},
"ai_context_notes": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "ai_context_notes"
},
"safety_guardrails": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "SafetyGuardrails",
"properties": {
"custom_rules": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Custom Rules",
"description": "Custom safety rules"
},
"required_tone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Required Tone",
"description": "Strictly required tone"
},
"do_not_mentions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Do Not Mentions",
"description": "Topics or phrases to never mention"
},
"ip_restrictions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Ip Restrictions",
"description": "IP or internal info not to share"
}
},
"description": "Safety guardrails and hard constraints for AI actions"
},
{
"type": "null"
}
],
"title": "safety_guardrails"
},
"screening_profile": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "ScreeningProfile",
"properties": {
"legal_last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal Last Name",
"description": "Last name exactly as on PAN/Aadhaar"
},
"current_location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Location",
"description": "City the candidate currently lives in"
},
"legal_first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Legal First Name",
"description": "First name exactly as on PAN/Aadhaar"
},
"job_change_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Job Change Reason",
"description": "Reason for looking for a change"
},
"relocation_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Relocation Reason",
"description": "Reason for relocating, if asked"
},
"open_to_relocation": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Open To Relocation",
"description": "Whether the candidate will relocate for a job"
},
"interview_availability": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Interview Availability",
"description": "When the candidate can interview, e.g. 'Weekdays after 6 PM IST'"
}
},
"description": "Facts recruiters ask in screening emails. Used verbatim; never guessed by the AI."
},
{
"type": "null"
}
],
"title": "screening_profile"
},
"auto_apply_preferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "AutoApplyPreferences",
"properties": {
"auto_apply_preferences": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Auto Apply Preferences",
"description": "Preferences for auto-apply functionality"
}
},
"description": "Preferences for automated application processes"
},
{
"type": "null"
}
],
"title": "auto_apply_preferences"
},
"communication_preferences": {
"type": "object",
"anyOf": [
{
"type": "object",
"title": "CommunicationPreferences",
"properties": {
"email_tone": {
"enum": [
"professional",
"casual",
"enthusiastic",
"formal"
],
"type": "string",
"title": "Email Tone",
"default": "professional",
"description": "Preferred email tone (professional/casual/enthusiastic/formal)"
},
"communication_style": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Communication Style",
"description": "Communication style preferences"
}
},
"description": "Communication style preferences"
},
{
"type": "null"
}
],
"title": "communication_preferences"
}
}
}delete_user_memory_api_user_memory__user_id__delete
Delete User Memory Delete (deactivate) user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "delete_user_memory_api_user_memory__user_id__deleteArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}get_user_memory_history_api_user_memory__user_id__history_get
Get User Memory History Get user memory history (all versions) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "total": 1, "page": 1, "limit": 1 } ```
{
"type": "object",
"title": "get_user_memory_history_api_user_memory__user_id__history_getArguments",
"required": [
"user_id"
],
"properties": {
"page": {
"type": "integer",
"title": "page",
"default": 1,
"minimum": 1,
"description": "Page number"
},
"limit": {
"type": "integer",
"title": "limit",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Items per page"
},
"user_id": {
"type": "string",
"title": "user_id"
}
}
}add_ai_interaction_context_api_user_memory__user_id__context_post
Add Ai Interaction Context Add AI interaction context to user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "add_ai_interaction_context_api_user_memory__user_id__context_postArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}update_remembered_field_answer_api_user_memory__user_id__remembered_field_put
Update Remembered Field Answer Edit one remembered application-field answer from the memory-bank UI. Same durable store the extension writes to (interaction_history, keyed by normalized label) - this just lets the user correct it directly instead of waiting to be asked the question again on some future form. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "update_remembered_field_answer_api_user_memory__user_id__remembered_field_putArguments",
"required": [
"user_id",
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"title": "label"
},
"value": {
"type": "string",
"title": "value"
},
"user_id": {
"type": "string",
"title": "user_id"
}
}
}delete_remembered_field_answer_api_user_memory__user_id__remembered_field_delete
Delete Remembered Field Answer Forgets one remembered application-field answer (memory-bank UI delete action). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "delete_remembered_field_answer_api_user_memory__user_id__remembered_field_deleteArguments",
"required": [
"user_id",
"normalized_label"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"normalized_label": {
"type": "string",
"title": "normalized_label",
"description": "The entry's normalized_label, as returned in interaction_history"
}
}
}apply_memory_suggestion_api_user_memory_apply_suggestion_post
Apply Memory Suggestion Apply a specific memory update suggested by the AI. Body: { user_id, suggestion } ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "apply_memory_suggestion_api_user_memory_apply_suggestion_postArguments",
"properties": {}
}user_memory_ai_chat_api_user_memory_ai_chat_post
User Memory Ai Chat ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "user_memory_ai_chat_api_user_memory_ai_chat_postArguments",
"properties": {}
}get_available_senders_api_email_sender_pool_senders_get
Get Available Senders Get all available email senders (admin only — exposes other senders' PII and quotas) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_available_senders_api_email_sender_pool_senders_getArguments",
"properties": {}
}get_least_used_sender_api_email_sender_pool_least_used_sender_get
Get Least Used Sender Get the least used email sender for load balancing, considering company contact history (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_least_used_sender_api_email_sender_pool_least_used_sender_getArguments",
"properties": {
"company_id": {
"type": "string",
"title": "company_id",
"description": "Company ID to consider for contact history"
},
"company_name": {
"type": "string",
"title": "company_name",
"description": "Company name to consider for contact history"
}
}
}get_fallback_sender_api_email_sender_pool_fallback_sender_get
Get Fallback Sender Get a fallback email sender, excluding the specified user (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_fallback_sender_api_email_sender_pool_fallback_sender_getArguments",
"properties": {
"exclude_user_id": {
"type": "string",
"title": "exclude_user_id",
"description": "User ID to exclude from selection"
}
}
}send_email_via_pool_api_email_sender_pool_send_email_post
Send Email Via Pool Send an email using the email sender pool (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "send_email_via_pool_api_email_sender_pool_send_email_postArguments",
"required": [
"to",
"subject",
"message_text"
],
"properties": {
"to": {
"type": "string",
"title": "to"
},
"subject": {
"type": "string",
"title": "subject"
},
"thread_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "thread_id"
},
"references": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "references"
},
"in_reply_to": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "in_reply_to"
},
"message_text": {
"type": "string",
"title": "message_text"
},
"sender_user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "sender_user_id"
},
"s3_attachment_key": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "s3_attachment_key"
},
"attachment_filename": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "attachment_filename"
}
}
}get_my_footer_api_email_footer_me_get
Get My Footer Get the footer for the currently authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_my_footer_api_email_footer_me_getArguments",
"properties": {}
}update_my_footer_api_email_footer_me_put
Update My Footer Update the footer for the currently authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_my_footer_api_email_footer_me_putArguments",
"properties": {
"name": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "name"
},
"email": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "email"
},
"phone": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "phone"
},
"title": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "title"
},
"github": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "github"
},
"company": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "company"
},
"linkedin": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "linkedin"
},
"location": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "location"
},
"portfolio": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "portfolio"
},
"project_links": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "object"
}
},
{
"type": "null"
}
],
"title": "project_links"
}
}
}get_email_footer_api_email_footer__user_id__get
Get Email Footer Get email footer for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_email_footer_api_email_footer__user_id__getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}update_email_footer_api_email_footer__user_id__put
Update Email Footer Update email footer for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_email_footer_api_email_footer__user_id__putArguments",
"required": [
"user_id"
],
"properties": {
"name": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "name"
},
"email": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "email"
},
"phone": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "phone"
},
"title": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "title"
},
"github": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "github"
},
"company": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "company"
},
"user_id": {
"type": "string",
"title": "user_id"
},
"linkedin": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "linkedin"
},
"location": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "location"
},
"portfolio": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "portfolio"
},
"project_links": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "object"
}
},
{
"type": "null"
}
],
"title": "project_links"
}
}
}get_formatted_footer_api_email_footer__user_id__formatted_get
Get Formatted Footer Get formatted footer string for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_formatted_footer_api_email_footer__user_id__formatted_getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}generate_footer_from_resume_api_email_footer__user_id__generate_from_resume_post
Generate Footer From Resume Generate email footer from user's resume data. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "generate_footer_from_resume_api_email_footer__user_id__generate_from_resume_postArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}get_user_config_api_config_user__user_id__get
Get User Config Get configuration for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_user_config_api_config_user__user_id__getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}update_user_config_api_config_user__user_id__put
Update User Config Update configuration for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_user_config_api_config_user__user_id__putArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}reset_user_config_api_config_user__user_id__delete
Reset User Config Reset user configuration to defaults ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "reset_user_config_api_config_user__user_id__deleteArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}get_campaign_config_api_config_campaign__campaign_id__get
Get Campaign Config Get configuration for a specific campaign ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_campaign_config_api_config_campaign__campaign_id__getArguments",
"required": [
"campaign_id"
],
"properties": {
"campaign_id": {
"type": "string",
"title": "campaign_id"
}
}
}update_campaign_config_api_config_campaign__campaign_id__put
Update Campaign Config Update configuration for a specific campaign ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_campaign_config_api_config_campaign__campaign_id__putArguments",
"required": [
"campaign_id"
],
"properties": {
"campaign_id": {
"type": "string",
"title": "campaign_id"
}
}
}reset_campaign_config_api_config_campaign__campaign_id__delete
Reset Campaign Config Reset campaign configuration to defaults ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "reset_campaign_config_api_config_campaign__campaign_id__deleteArguments",
"required": [
"campaign_id"
],
"properties": {
"campaign_id": {
"type": "string",
"title": "campaign_id"
}
}
}get_effective_config_api_config_effective__user_id__get
Get Effective Config Get effective configuration combining user and campaign settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_effective_config_api_config_effective__user_id__getArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"campaign_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "campaign_id"
}
}
}get_default_config_api_config_defaults_get
Get Default Config Get default configuration values ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_default_config_api_config_defaults_getArguments",
"properties": {}
}get_all_user_configs_api_config_admin_users_get
Get All User Configs Get all user configurations (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_all_user_configs_api_config_admin_users_getArguments",
"properties": {}
}get_all_campaign_configs_api_config_admin_campaigns_get
Get All Campaign Configs Get all campaign configurations (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_all_campaign_configs_api_config_admin_campaigns_getArguments",
"properties": {}
}get_available_leads_api_linkedin_leads_get
Get Available Leads Return leads for the authenticated user, filtered by outreach status. status=fresh — leads not yet contacted (default); AI-ranked status=queued — leads the user has queued for outreach status=contacted — leads the user has already emailed ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_available_leads_api_linkedin_leads_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 50,
"maximum": 200,
"minimum": 1
},
"offset": {
"type": "integer",
"title": "offset",
"default": 0,
"minimum": 0
},
"status": {
"type": "string",
"title": "status",
"default": "fresh",
"description": "fresh | queued | contacted"
},
"email_only": {
"type": "boolean",
"title": "email_only",
"default": false,
"description": "Only return leads with a known email address"
},
"min_quality": {
"type": "number",
"title": "min_quality",
"default": 0,
"maximum": 1,
"minimum": 0
}
}
}get_all_leads_admin_api_linkedin_leads_all_get
Get All Leads Admin Admin view: return all leads regardless of outreach status. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_all_leads_admin_api_linkedin_leads_all_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 100,
"maximum": 500,
"minimum": 1
},
"offset": {
"type": "integer",
"title": "offset",
"default": 0,
"minimum": 0
},
"email_only": {
"type": "boolean",
"title": "email_only",
"default": false
},
"min_quality": {
"type": "number",
"title": "min_quality",
"default": 0,
"maximum": 1,
"minimum": 0
}
}
}get_lead_stats_api_linkedin_leads_stats_get
Get Lead Stats Return summary statistics for the lead database. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_lead_stats_api_linkedin_leads_stats_getArguments",
"properties": {}
}list_accounts_api_linkedin_leads_accounts_get
List Accounts List all LinkedIn scraper accounts in the pool (passwords masked). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "list_accounts_api_linkedin_leads_accounts_getArguments",
"properties": {}
}add_account_api_linkedin_leads_accounts_post
Add Account Add a LinkedIn scraper account to the pool. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "add_account_api_linkedin_leads_accounts_postArguments",
"required": [
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"title": "email"
},
"proxy": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "proxy"
},
"password": {
"type": "string",
"title": "password"
},
"assigned_queries": {
"type": "array",
"items": {
"type": "string"
},
"title": "assigned_queries"
},
"max_requests_per_day": {
"type": "integer",
"title": "max_requests_per_day",
"default": 80
}
}
}update_account_status_api_linkedin_leads_accounts__account_id__status_patch
Update Account Status Update the status of a LinkedIn account (active / cooldown / banned). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_account_status_api_linkedin_leads_accounts__account_id__status_patchArguments",
"required": [
"account_id",
"status"
],
"properties": {
"status": {
"type": "string",
"title": "status"
},
"account_id": {
"type": "string",
"title": "account_id"
}
}
}list_scrape_runs_api_linkedin_leads_scrape_runs_get
List Scrape Runs List recent scrape run records for audit / dashboard (admin only: they hold platform-wide queries and volumes). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "list_scrape_runs_api_linkedin_leads_scrape_runs_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}get_lead_outreach_history_api_linkedin_leads__lead_id__history_get
Get Lead Outreach History Return the outreach thread for this lead for the current user. Returns a chronological list of events: - type=sent — initial cold email - type=follow_up — follow-up email - type=reply — recruiter reply ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_lead_outreach_history_api_linkedin_leads__lead_id__history_getArguments",
"required": [
"lead_id"
],
"properties": {
"lead_id": {
"type": "string",
"title": "lead_id"
}
}
}get_lead_api_linkedin_leads__lead_id__get
Get Lead Fetch a single lead by its ID. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_lead_api_linkedin_leads__lead_id__getArguments",
"required": [
"lead_id"
],
"properties": {
"lead_id": {
"type": "string",
"title": "lead_id"
}
}
}update_outreach_status_api_linkedin_leads__lead_id__outreach_patch
Update Outreach Status Update the current user's outreach status for a given lead. Use this after sending a cold email so the lead is marked as contacted. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "update_outreach_status_api_linkedin_leads__lead_id__outreach_patchArguments",
"required": [
"lead_id",
"status"
],
"properties": {
"notes": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "notes"
},
"status": {
"type": "string",
"title": "status"
},
"lead_id": {
"type": "string",
"title": "lead_id"
},
"cold_email_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "cold_email_id"
}
}
}send_outreach_from_lead_api_linkedin_leads__lead_id__send_outreach_post
Send Outreach From Lead Generate and send a cold outreach email directly from a LinkedIn lead. Flow: 1. Fetch the lead — must have an email address. 2. Load the authenticated user's resume/profile from MongoDB. 3. Call send_and_track_cold_email() to generate (or use custom_message) and send the email via the user's connected Gmail. 4. Record the outreach status on the lead (status='sent') with a back- reference to the cold_email_id. 5. Sync the company HR contact (idempotent — already done on scrape, but update lastContactedAt now). Returns the cold_email_id so the frontend can link to the email thread. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "send_outreach_from_lead_api_linkedin_leads__lead_id__send_outreach_postArguments",
"required": [
"lead_id"
],
"properties": {
"lead_id": {
"type": "string",
"title": "lead_id"
},
"job_link": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "job_link",
"description": "Optional job URL to include in the email"
},
"custom_message": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "custom_message",
"description": "Override the LLM-generated email body"
}
}
}generate_linkedin_message_api_linkedin_leads__lead_id__generate_linkedin_message_post
Generate Linkedin Message Generate a short LinkedIn outreach message (≤280 chars) personalised to this lead. The frontend copies it to clipboard and opens the recruiter's LinkedIn profile so the user can paste-and-send in one step. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "generate_linkedin_message_api_linkedin_leads__lead_id__generate_linkedin_message_postArguments",
"required": [
"lead_id"
],
"properties": {
"lead_id": {
"type": "string",
"title": "lead_id"
}
}
}bulk_send_outreach_api_linkedin_leads_bulk_outreach_post
Bulk Send Outreach Send outreach emails to multiple leads in one call. Each lead must have an email address. Leads without emails are skipped. Returns per-lead results so the frontend can show success/fail per contact. Rate-limited to 20 leads per request to protect Gmail sending quotas. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "bulk_send_outreach_api_linkedin_leads_bulk_outreach_postArguments",
"required": [
"lead_ids"
],
"properties": {
"lead_ids": {
"type": "array",
"items": {
"type": "string"
},
"title": "lead_ids",
"description": "List of lead IDs to contact"
}
}
}trigger_scrape_api_linkedin_leads_trigger_post
Trigger Scrape Manually kick off a LinkedIn scrape run. Admin only: each run spends metered Apify credits and accepts arbitrary search queries. Strategy (tried in order): 1. Publish to the linkedin_scrape_queue via RabbitMQ (if running). 2. If RabbitMQ is unavailable or times out, run the scrape directly as a FastAPI BackgroundTask so this endpoint always returns fast. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "trigger_scrape_api_linkedin_leads_trigger_postArguments",
"properties": {
"queries": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10
},
{
"type": "null"
}
],
"title": "queries"
},
"max_posts_per_query": {
"type": "integer",
"title": "max_posts_per_query",
"default": 50,
"maximum": 100
}
}
}apify_webhook_api_linkedin_leads_webhook_apify_post
Apify Webhook Receives push notifications from Apify when a scraper run completes. No authentication required (Apify calls this endpoint). Apify includes a secret token in the URL for verification in production. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "apify_webhook_api_linkedin_leads_webhook_apify_postArguments",
"properties": {}
}list_templates_api_email_templates_get
List Templates Return the user's email templates, generating them if none exist yet. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "id": "Id", "name": "Name", "subject": "Subject", "body": "Body", "usage_count": 1, "reply_count": 1, "reply_rate": 1.0 } ] ```
{
"type": "object",
"title": "list_templates_api_email_templates_getArguments",
"properties": {}
}update_template_api_email_templates__template_id__put
Update Template Edit a template's subject, body, or name. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "id": "Id", "name": "Name", "subject": "Subject", "body": "Body", "usage_count": 1, "reply_count": 1, "reply_rate": 1.0 } ```
{
"type": "object",
"title": "update_template_api_email_templates__template_id__putArguments",
"required": [
"template_id"
],
"properties": {
"body": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "body"
},
"name": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "name"
},
"subject": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "subject"
},
"template_id": {
"type": "string",
"title": "template_id"
}
}
}regenerate_templates_api_email_templates_regenerate_post
Regenerate Templates Delete all existing templates and generate a fresh one via AI. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "id": "Id", "name": "Name", "subject": "Subject", "body": "Body", "usage_count": 1, "reply_count": 1, "reply_rate": 1.0 } ] ```
{
"type": "object",
"title": "regenerate_templates_api_email_templates_regenerate_postArguments",
"properties": {}
}get_tools_schema_api_tools_schema_get
Get Tools Schema Returns the JSON schema for all available tools. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_tools_schema_api_tools_schema_getArguments",
"properties": {
"use_composio": {
"type": "boolean",
"title": "use_composio",
"default": false,
"description": "Whether to include Composio tools"
}
}
}execute_tool_api_tools_execute_post
Execute Tool Executes a tool by name with provided arguments. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "execute_tool_api_tools_execute_postArguments",
"properties": {}
}get_connection_url_api_tools_connect__app_name__get
Get Connection Url Get the authorization URL for a specific Composio app. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_connection_url_api_tools_connect__app_name__getArguments",
"required": [
"app_name"
],
"properties": {
"app_name": {
"enum": [
"gmail",
"googlecalendar"
],
"type": "string",
"title": "app_name"
}
}
}disconnect_app_api_tools_connect__app_name__delete
Disconnect App Revoke the user's Composio connection for a specific app. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "disconnect_app_api_tools_connect__app_name__deleteArguments",
"required": [
"app_name"
],
"properties": {
"app_name": {
"enum": [
"gmail",
"googlecalendar"
],
"type": "string",
"title": "app_name"
}
}
}list_connections_api_tools_connections_get
List Connections List all active connections for the user in Composio. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "list_connections_api_tools_connections_getArguments",
"properties": {}
}get_integration_status_api_tools_status_get
Get Integration Status Get the connection status for key integrations across all providers. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_integration_status_api_tools_status_getArguments",
"properties": {}
}get_user_credits_api_referrals_credits_get
Get User Credits Return the current user's credit balance, referral code, and total referrals. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_user_credits_api_referrals_credits_getArguments",
"properties": {}
}get_referral_code_api_referrals_code_get
Get Referral Code Return the user's referral code, generating one if it doesn't exist yet. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_referral_code_api_referrals_code_getArguments",
"properties": {}
}claim_referral_code_api_referrals_claim_post
Claim Referral Code Claim a referral code. Awards 10 credits to both the claimer and the referrer. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "claim_referral_code_api_referrals_claim_postArguments",
"required": [
"referral_code"
],
"properties": {
"referral_code": {
"type": "string",
"title": "referral_code"
}
}
}get_outreach_queue_api_outreach_queue_get
Get Outreach Queue Get pending outreach queue items for the current user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
{
"type": "object",
"title": "get_outreach_queue_api_outreach_queue_getArguments",
"properties": {}
}approve_outreach_item_api_outreach_queue__item_id__approve_post
Approve Outreach Item Approve a queue item and send the cold email. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "approve_outreach_item_api_outreach_queue__item_id__approve_postArguments",
"required": [
"item_id"
],
"properties": {
"item_id": {
"type": "string",
"title": "item_id"
}
}
}dismiss_outreach_item_api_outreach_queue__item_id__delete
Dismiss Outreach Item Dismiss an outreach queue item. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "dismiss_outreach_item_api_outreach_queue__item_id__deleteArguments",
"required": [
"item_id"
],
"properties": {
"item_id": {
"type": "string",
"title": "item_id"
}
}
}get_autopilot_settings_api_autopilot_settings_get
Get Autopilot Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "daily_outreach_enabled": true, "outreach_timezone": "Outreach Timezone", "daily_outreach_batch_size": 1, "credit_balance": 1, "autopilot_enabled": true, "outreach_paused": true } ```
{
"type": "object",
"title": "get_autopilot_settings_api_autopilot_settings_getArguments",
"properties": {}
}update_daily_outreach_settings_api_autopilot_settings_patch
Update Daily Outreach Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "daily_outreach_enabled": true, "outreach_timezone": "Outreach Timezone", "daily_outreach_batch_size": 1, "credit_balance": 1, "autopilot_enabled": true, "outreach_paused": true } ```
{
"type": "object",
"title": "update_daily_outreach_settings_api_autopilot_settings_patchArguments",
"required": [
"daily_outreach_enabled"
],
"properties": {
"outreach_timezone": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "outreach_timezone"
},
"daily_outreach_enabled": {
"type": "boolean",
"title": "daily_outreach_enabled"
},
"daily_outreach_batch_size": {
"type": "integer",
"anyOf": [
{
"type": "integer",
"maximum": 50,
"minimum": 1
},
{
"type": "null"
}
],
"title": "daily_outreach_batch_size"
}
}
}resume_outreach_endpoint_api_autopilot_resume_outreach_post
Resume Outreach Endpoint User-initiated: clear the bounce circuit breaker's paused state. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "daily_outreach_enabled": true, "outreach_timezone": "Outreach Timezone", "daily_outreach_batch_size": 1, "credit_balance": 1, "autopilot_enabled": true, "outreach_paused": true } ```
{
"type": "object",
"title": "resume_outreach_endpoint_api_autopilot_resume_outreach_postArguments",
"properties": {}
}update_legacy_autopilot_settings_api_autopilot_legacy_settings_patch
Update Legacy Autopilot Settings Legacy job-board autopilot — not available when daily outreach is enabled. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "autopilot_enabled": true, "autopilot_min_match_score": 1.0 } ```
{
"type": "object",
"title": "update_legacy_autopilot_settings_api_autopilot_legacy_settings_patchArguments",
"required": [
"autopilot_enabled",
"autopilot_min_match_score"
],
"properties": {
"autopilot_enabled": {
"type": "boolean",
"title": "autopilot_enabled"
},
"autopilot_min_match_score": {
"type": "number",
"title": "autopilot_min_match_score",
"maximum": 100,
"minimum": 0
}
}
}get_active_outreach_batch_api_outreach_batches_active_get
Get Active Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_active_outreach_batch_api_outreach_batches_active_getArguments",
"properties": {}
}get_outreach_batch_api_outreach_batches__batch_id__get
Get Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_outreach_batch_api_outreach_batches__batch_id__getArguments",
"required": [
"batch_id"
],
"properties": {
"batch_id": {
"type": "string",
"title": "batch_id"
}
}
}create_outreach_batch_api_outreach_batches_post
Create Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "create_outreach_batch_api_outreach_batches_postArguments",
"required": [
"batch_type"
],
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 10,
"maximum": 100,
"minimum": 1
},
"item_ids": {
"type": "array",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "item_ids",
"description": "Explicit IDs to process; otherwise auto-select from fresh/pending items"
},
"batch_type": {
"type": "string",
"title": "batch_type",
"description": "linkedin_leads | outreach_queue"
},
"min_quality": {
"type": "number",
"title": "min_quality",
"default": 0.3,
"maximum": 1,
"minimum": 0
}
}
}cancel_outreach_batch_api_outreach_batches__batch_id__cancel_post
Cancel Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "cancel_outreach_batch_api_outreach_batches__batch_id__cancel_postArguments",
"required": [
"batch_id"
],
"properties": {
"batch_id": {
"type": "string",
"title": "batch_id"
}
}
}get_pending_auto_replies_api_auto_replies_get
Get Pending Auto Replies List pending auto-replies the user can still cancel. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
{
"type": "object",
"title": "get_pending_auto_replies_api_auto_replies_getArguments",
"properties": {}
}cancel_pending_auto_reply_api_auto_replies__reply_id__delete
Cancel Pending Auto Reply Cancel a pending auto-reply before it fires. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "cancel_pending_auto_reply_api_auto_replies__reply_id__deleteArguments",
"required": [
"reply_id"
],
"properties": {
"reply_id": {
"type": "string",
"title": "reply_id"
}
}
}send_pending_auto_reply_now_api_auto_replies__reply_id__send_post
Send Pending Auto Reply Now Send a pending auto-reply now instead of waiting for tomorrow's 9:30 AM run. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "send_pending_auto_reply_now_api_auto_replies__reply_id__send_postArguments",
"required": [
"reply_id"
],
"properties": {
"reply_id": {
"type": "string",
"title": "reply_id"
}
}
}create_application_api_applications_post
Create Application Track a newly-submitted job application (called by the extension after a user submits). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "user_id": "User Id", "company_name": "Company Name", "job_title": "Job Title", "job_url": "Job Url", "platform": "Platform", "status": "ApplicationStatus", "applied_at": "2023-01-01T00:00:00Z", "status_history": [ { "status": "ApplicationStatus", "changed_at": "2023-01-01T00:00:00Z" } ], "source": "Source" } ```
{
"type": "object",
"title": "create_application_api_applications_postArguments",
"required": [
"company_name",
"job_title",
"job_url"
],
"properties": {
"job_url": {
"type": "string",
"title": "job_url"
},
"platform": {
"type": "string",
"title": "platform",
"default": "generic"
},
"job_title": {
"type": "string",
"title": "job_title"
},
"company_name": {
"type": "string",
"title": "company_name"
}
}
}list_applications_api_applications_get
List Applications List the current user's tracked applications, most recent first. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "user_id": "User Id", "company_name": "Company Name", "job_title": "Job Title", "job_url": "Job Url", "platform": "Platform", "status": "ApplicationStatus", "applied_at": "2023-01-01T00:00:00Z", "status_history": [ { "status": "ApplicationStatus", "changed_at": "2023-01-01T00:00:00Z" } ], "source": "Source" } ] ```
{
"type": "object",
"title": "list_applications_api_applications_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 50,
"maximum": 200,
"minimum": 1
},
"offset": {
"type": "integer",
"title": "offset",
"default": 0,
"minimum": 0
}
}
}update_application_status_api_applications__application_id__status_patch
Update Application Status Manually update an application's status (e.g. marking Interview/Offer/Rejected). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "user_id": "User Id", "company_name": "Company Name", "job_title": "Job Title", "job_url": "Job Url", "platform": "Platform", "status": "ApplicationStatus", "applied_at": "2023-01-01T00:00:00Z", "status_history": [ { "status": "ApplicationStatus", "changed_at": "2023-01-01T00:00:00Z" } ], "source": "Source" } ```
{
"type": "object",
"title": "update_application_status_api_applications__application_id__status_patchArguments",
"required": [
"application_id",
"status"
],
"properties": {
"status": {
"enum": [
"applied",
"outreach_sent",
"replied",
"interview",
"offer",
"rejected"
],
"type": "string",
"title": "status"
},
"application_id": {
"type": "string",
"title": "application_id"
}
}
}answer_fields_api_extension_answer_fields_post
Answer Fields AI fallback for job-application form fields the extension's coded/heuristic fill pass could not confidently answer. Batched per application (not per field) to control latency and cost. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "answers": [ { "field_id": "Field Id", "confidence": "Confidence", "source": "Source" } ] } ```
{
"type": "object",
"title": "answer_fields_api_extension_answer_fields_postArguments",
"required": [
"job_context",
"fields"
],
"properties": {
"fields": {
"type": "array",
"items": {
"type": "object",
"title": "FieldToAnswer",
"required": [
"field_id",
"label"
],
"properties": {
"type": {
"type": "string",
"title": "Type",
"default": "text"
},
"label": {
"type": "string",
"title": "Label"
},
"options": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Options"
},
"field_id": {
"type": "string",
"title": "Field Id"
},
"sensitive": {
"type": "boolean",
"title": "Sensitive",
"default": false
},
"max_length": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Length"
}
}
},
"title": "fields"
},
"job_context": {
"type": "object",
"title": "job_context",
"required": [
"company_name",
"job_title",
"job_url"
],
"properties": {
"job_url": {
"type": "string",
"title": "Job Url"
},
"platform": {
"type": "string",
"title": "Platform",
"default": "generic"
},
"job_title": {
"type": "string",
"title": "Job Title"
},
"company_name": {
"type": "string",
"title": "Company Name"
}
}
}
}
}agent_step_api_extension_agent_step_post
Agent Step Tier 4: one step of an agentic fallback loop for pages where tiers 1-3 (coded adapters, universal field matcher, batched AI field-answering) found nothing to work with. The extension sends a snapshot of every visible interactive element on the page; this returns exactly one action to take next. Never raises on a bad/failed model response - degrades to "blocked" so the client loop just stops rather than crashing the fill. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "action": "Action" } ```
{
"type": "object",
"title": "agent_step_api_extension_agent_step_postArguments",
"required": [
"job_context",
"elements",
"step"
],
"properties": {
"step": {
"type": "integer",
"title": "step"
},
"history": {
"type": "array",
"items": {
"type": "object",
"title": "AgentHistoryEntry",
"required": [
"step",
"action",
"result"
],
"properties": {
"step": {
"type": "integer",
"title": "Step"
},
"index": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Index"
},
"action": {
"type": "string",
"title": "Action"
},
"result": {
"type": "string",
"title": "Result"
}
}
},
"title": "history",
"default": []
},
"elements": {
"type": "array",
"items": {
"type": "object",
"title": "AgentElement",
"required": [
"index",
"tag"
],
"properties": {
"tag": {
"type": "string",
"title": "Tag"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Type"
},
"index": {
"type": "integer",
"title": "Index"
},
"label": {
"type": "string",
"title": "Label",
"default": ""
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Value"
},
"options": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Options"
}
}
},
"title": "elements"
},
"job_context": {
"type": "object",
"title": "job_context",
"required": [
"company_name",
"job_title",
"job_url"
],
"properties": {
"job_url": {
"type": "string",
"title": "Job Url"
},
"platform": {
"type": "string",
"title": "Platform",
"default": "generic"
},
"job_title": {
"type": "string",
"title": "Job Title"
},
"company_name": {
"type": "string",
"title": "Company Name"
}
}
}
}
}remember_field_answer_api_extension_remember_field_answer_post
Remember Field Answer Durable, cross-device, cross-site memory of one field answer the extension learned - either a confirmed AI answer or a user's correction, fired on every blur/selection of a field the extension filled. Grounds future /answer-fields calls (see get_remembered_field_answers above) so the same question doesn't need asking again on the next application, anywhere. Requires extension_field_memory_consent - the extension's own UI should already gate whether it ever sends this request, but a consent decision this sensitive (can include EEO/self-identification answers the user typed themselves) shouldn't rely on client-side gating alone. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "remember_field_answer_api_extension_remember_field_answer_postArguments",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"title": "label"
},
"value": {
"type": "string",
"title": "value"
}
}
}tailor_resume_api_extension_tailor_resume_post
Tailor Resume Generates a one-off resume PDF reworded toward a specific job description, for the extension to swap into a file-upload field before submitting that one application. Never persisted to the user's profile/canonical resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "pdf_base64": "Pdf Base64", "file_name": "File Name" } ```
{
"type": "object",
"title": "tailor_resume_api_extension_tailor_resume_postArguments",
"required": [
"job_description"
],
"properties": {
"job_description": {
"type": "string",
"title": "job_description"
}
}
}match_score_api_extension_match_score_post
Match Score Ad-hoc resume<->job-description match score for a posting the extension is looking at, which isn't (and doesn't need to be) a job stored in the DB. Uses the pure heuristic matcher (no embeddings/DB lookups needed). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "match_score": 1.0, "summary": "Summary", "missing_skills": [ "string" ] } ```
{
"type": "object",
"title": "match_score_api_extension_match_score_postArguments",
"required": [
"job_description"
],
"properties": {
"job_description": {
"type": "string",
"title": "job_description"
}
}
}get_extension_settings_api_extension_settings_get
Get Extension Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "recruiter_comms_consent": true, "field_memory_consent": true, "credit_balance": 1 } ```
{
"type": "object",
"title": "get_extension_settings_api_extension_settings_getArguments",
"properties": {}
}update_extension_settings_api_extension_settings_patch
Update Extension Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "recruiter_comms_consent": true, "field_memory_consent": true, "credit_balance": 1 } ```
{
"type": "object",
"title": "update_extension_settings_api_extension_settings_patchArguments",
"properties": {
"field_memory_consent": {
"type": "boolean",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "field_memory_consent"
},
"recruiter_comms_consent": {
"type": "boolean",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "recruiter_comms_consent"
}
}
}extension_apply_api_extension_apply_post
Extension Apply Orchestrator called by the extension right after a user submits a job application: tracks the application, then immediately attempts the same credit-gated cold-outreach send the daily cron would eventually do, triggered on-demand instead. Outreach is best-effort: if there is no known contact for the company or the user is out of credits, the application is still tracked and the response says why outreach was skipped rather than failing the request. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "extension_apply_api_extension_apply_postArguments",
"required": [
"company_name",
"job_title",
"job_url"
],
"properties": {
"job_url": {
"type": "string",
"title": "job_url"
},
"platform": {
"type": "string",
"title": "platform",
"default": "generic"
},
"job_title": {
"type": "string",
"title": "job_title"
},
"company_name": {
"type": "string",
"title": "company_name"
},
"job_description": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "job_description"
}
}
}send_product_update_broadcast_api_newsletter_send_post
Send Product Update Broadcast Manually trigger a one-off product-update broadcast to all subscribed users. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "send_product_update_broadcast_api_newsletter_send_postArguments",
"required": [
"subject",
"html_body"
],
"properties": {
"subject": {
"type": "string",
"title": "subject"
},
"html_body": {
"type": "string",
"title": "html_body"
}
}
}unsubscribe_api_newsletter_unsubscribe_get
Unsubscribe Public link clicked from a newsletter email - no auth, verified by HMAC signature. ### Responses: **200**: Successful Response (Success Response) Content-Type: text/html **Example Response:** ```json "string" ```
{
"type": "object",
"title": "unsubscribe_api_newsletter_unsubscribe_getArguments",
"required": [
"uid",
"sig"
],
"properties": {
"sig": {
"type": "string",
"title": "sig"
},
"uid": {
"type": "string",
"title": "uid"
}
}
}submit_feedback_api_feedback_post
Submit Feedback ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "submit_feedback_api_feedback_postArguments",
"required": [
"action_type"
],
"properties": {
"action_type": {
"enum": [
"account_deletion",
"gmail_disconnect",
"daily_outreach_disabled",
"extension_consent_disabled"
],
"type": "string",
"title": "action_type"
},
"feedback_text": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "feedback_text"
}
}
}list_keys_api_api_keys_get
List Keys ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "list_keys_api_api_keys_getArguments",
"properties": {}
}create_key_api_api_keys_post
Create Key Create a new API key. The raw key is only ever returned here -- store it now. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "create_key_api_api_keys_postArguments",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "name",
"maxLength": 100,
"minLength": 1
}
}
}delete_key_api_api_keys__key_id__delete
Delete Key ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "delete_key_api_api_keys__key_id__deleteArguments",
"required": [
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"title": "key_id"
}
}
}invite_info_api_orgs_invites__token__get
Invite Info Public (pre-login) details for the join page. Unknown, used and expired all look the same. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "invite_info_api_orgs_invites__token__getArguments",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"title": "token"
}
}
}my_org_api_orgs_me_get
My Org ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "my_org_api_orgs_me_getArguments",
"properties": {}
}my_org_summary_api_orgs_me_summary_get
My Org Summary ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "my_org_summary_api_orgs_me_summary_getArguments",
"properties": {}
}my_students_api_orgs_me_students_get
My Students ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "my_students_api_orgs_me_students_getArguments",
"properties": {
"q": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "q"
},
"skip": {
"type": "integer",
"title": "skip",
"default": 0,
"minimum": 0
},
"limit": {
"type": "integer",
"title": "limit",
"default": 50,
"maximum": 100,
"minimum": 1
},
"cohort_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "cohort_id"
}
}
}remove_student_api_orgs_me_students__user_id__delete
Remove Student ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "remove_student_api_orgs_me_students__user_id__deleteArguments",
"required": [
"user_id"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
}
}
}create_invites_api_orgs_me_invites_post
Create Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "create_invites_api_orgs_me_invites_postArguments",
"required": [
"invites"
],
"properties": {
"invites": {
"type": "array",
"items": {
"type": "object",
"title": "InviteRow",
"required": [
"email"
],
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"email": {
"type": "string",
"title": "Email"
},
"track": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Track"
},
"org_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Org Role"
},
"cohort_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cohort Id"
},
"target_roles": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Target Roles"
}
}
},
"title": "invites",
"maxItems": 500
}
}
}list_invites_api_orgs_me_invites_get
List Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "list_invites_api_orgs_me_invites_getArguments",
"properties": {
"status": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "status"
}
}
}revoke_invite_api_orgs_me_invites__invite_id__delete
Revoke Invite ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "revoke_invite_api_orgs_me_invites__invite_id__deleteArguments",
"required": [
"invite_id"
],
"properties": {
"invite_id": {
"type": "string",
"title": "invite_id"
}
}
}get_least_contacted_hr_api_cold_email_least_contacted_hr_get
Get Least Contacted Hr Get the least contacted HR email for a specific company. This endpoint uses the same logic as the unified email flow to select the best HR contact. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "hr_email": "Hr Email", "company_name": "Company Name", "total_contacts": 1 } ```
{
"type": "object",
"title": "get_least_contacted_hr_api_cold_email_least_contacted_hr_getArguments",
"required": [
"company_name"
],
"properties": {
"company_name": {
"type": "string",
"title": "company_name",
"description": "Name of the company to get least contacted HR for"
}
}
}get_cold_email_api_cold_email_get
Get Cold Email Get cold emails for a user with pagination. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "cold_emails": [ { "user_id": "User Id", "recruiter_email": "Recruiter Email", "company_name": "Company Name", "sent_at": "2023-01-01T00:00:00Z", "status": "Status", "followup_interval_hours": 1, "followup_count": 1, "replied": true, "message": "Message", "opened": true, "open_count": 1, "auto_draft_generated": true } ], "offset": 1, "pagination": 1, "has_more": true } ```
{
"type": "object",
"title": "get_cold_email_api_cold_email_getArguments",
"required": [
"offset",
"pagination"
],
"properties": {
"offset": {
"type": "integer",
"title": "offset"
},
"user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "user_id"
},
"pagination": {
"type": "integer",
"title": "pagination"
}
}
}send_cold_email_api_cold_email_post
Send Cold Email Send a cold email with a pre-generated message. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "user_id": "User Id", "recruiter_email": "Recruiter Email", "company_name": "Company Name", "sent_at": "2023-01-01T00:00:00Z", "status": "Status", "followup_interval_hours": 1, "followup_count": 1, "replied": true, "message": "Message", "opened": true, "open_count": 1, "auto_draft_generated": true } ```
{
"type": "object",
"title": "send_cold_email_api_cold_email_postArguments",
"required": [
"recruiter_email",
"company_name",
"user_id",
"user_profile",
"message"
],
"properties": {
"message": {
"type": "string",
"title": "message"
},
"user_id": {
"type": "string",
"title": "user_id"
},
"company_name": {
"type": "string",
"title": "company_name"
},
"user_profile": {
"type": "object",
"title": "user_profile"
},
"recruiter_email": {
"type": "string",
"title": "recruiter_email"
}
}
}preview_cold_email_api_cold_email_preview_post
Preview Cold Email Generate a preview of a cold email without sending it. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "message": "Message", "subject": "Subject" } ```
{
"type": "object",
"title": "preview_cold_email_api_cold_email_preview_postArguments",
"required": [
"recruiter_email",
"company_name",
"user_id",
"user_profile"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"company_name": {
"type": "string",
"title": "company_name"
},
"user_profile": {
"type": "object",
"title": "user_profile"
},
"recruiter_email": {
"type": "string",
"title": "recruiter_email"
}
}
}send_cold_email_to_hr_api_cold_email_send_to_hr_post
Send Cold Email To Hr Send a cold email to a specific HR contact. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "send_cold_email_to_hr_api_cold_email_send_to_hr_postArguments",
"required": [
"user_id",
"company_id",
"company_name",
"hr_email",
"user_profile"
],
"properties": {
"user_id": {
"type": "string",
"title": "user_id"
},
"hr_email": {
"type": "string",
"title": "hr_email"
},
"company_id": {
"type": "string",
"title": "company_id"
},
"company_name": {
"type": "string",
"title": "company_name"
},
"user_profile": {
"type": "object",
"title": "user_profile"
}
}
}send_unified_cold_email_api_cold_email_unified_post
Send Unified Cold Email Unified cold email endpoint that handles: 1. Company creation if it doesn't exist 2. HR email auto-selection if not provided 3. HR contact addition to company 4. Email sending with tracking Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "cold_email": { "user_id": "User Id", "recruiter_email": "Recruiter Email", "company_name": "Company Name", "sent_at": "2023-01-01T00:00:00Z", "status": "Status", "followup_interval_hours": 1, "followup_count": 1, "replied": true, "message": "Message", "opened": true, "open_count": 1, "auto_draft_generated": true }, "hr_email_used": "Hr Email Used", "company_created": true, "hr_added": true } ```
{
"type": "object",
"title": "send_unified_cold_email_api_cold_email_unified_postArguments",
"required": [
"company_name",
"user_id",
"user_profile"
],
"properties": {
"jobLink": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "jobLink"
},
"subject": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "subject"
},
"user_id": {
"type": "string",
"title": "user_id"
},
"hr_email": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "hr_email"
},
"company_name": {
"type": "string",
"title": "company_name"
},
"user_profile": {
"type": "object",
"title": "user_profile"
},
"email_content": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "email_content"
},
"is_new_company": {
"type": "boolean",
"title": "is_new_company",
"default": false
},
"sender_user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "sender_user_id"
},
"fallback_enabled": {
"type": "boolean",
"title": "fallback_enabled",
"default": false
}
}
}preview_unified_cold_email_api_cold_email_unified_preview_post
Preview Unified Cold Email Generate a preview for unified cold email flow. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "message": "Message", "subject": "Subject" } ```
{
"type": "object",
"title": "preview_unified_cold_email_api_cold_email_unified_preview_postArguments",
"required": [
"company_name",
"user_id",
"user_profile"
],
"properties": {
"jobLink": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "jobLink"
},
"subject": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "subject"
},
"user_id": {
"type": "string",
"title": "user_id"
},
"hr_email": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "hr_email"
},
"company_name": {
"type": "string",
"title": "company_name"
},
"user_profile": {
"type": "object",
"title": "user_profile"
},
"email_content": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "email_content"
},
"is_new_company": {
"type": "boolean",
"title": "is_new_company",
"default": false
},
"sender_user_id": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "sender_user_id"
},
"fallback_enabled": {
"type": "boolean",
"title": "fallback_enabled",
"default": false
}
}
}get_cold_email_replies_api_cold_email__cold_email_id__replies_get
Get Cold Email Replies Get replies for a specific cold email using its ID. This checks both the cold_emails collection and email_conversations collection. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_cold_email_replies_api_cold_email__cold_email_id__replies_getArguments",
"required": [
"cold_email_id"
],
"properties": {
"cold_email_id": {
"type": "string",
"title": "cold_email_id"
}
}
}get_cold_email_replies_by_message_id_api_cold_email_message__message_id__replies_get
Get Cold Email Replies By Message Id Get replies for a cold email using its Gmail message_id. This is useful when you have the message_id from the cold email response. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "get_cold_email_replies_by_message_id_api_cold_email_message__message_id__replies_getArguments",
"required": [
"message_id"
],
"properties": {
"message_id": {
"type": "string",
"title": "message_id"
}
}
}list_companies_api_companies_get
List Companies ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "hrContacts": [ { "email": "Email" } ], "hrContactCount": 1 } ] ```
{
"type": "object",
"title": "list_companies_api_companies_getArguments",
"properties": {}
}create_company_endpoint_api_companies_post
Create Company Endpoint ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "hrContacts": [ { "email": "Email" } ], "hrContactCount": 1 } ```
{
"type": "object",
"title": "create_company_endpoint_api_companies_postArguments",
"required": [
"name",
"hrEmail"
],
"properties": {
"name": {
"type": "string",
"title": "name"
},
"hrEmail": {
"type": "string",
"title": "hrEmail"
}
}
}add_hr_contact_endpoint_api_companies__company_id__hr_contacts_post
Add Hr Contact Endpoint ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "name": "Name" } ```
{
"type": "object",
"title": "add_hr_contact_endpoint_api_companies__company_id__hr_contacts_postArguments",
"required": [
"company_id"
],
"properties": {
"company_id": {
"type": "string",
"title": "company_id"
}
}
}tracking_pixel_api_tracking_pixel__email_id__png_get
Tracking Pixel Endpoint for the email tracking pixel. When loaded, it updates the corresponding email record as opened. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
{
"type": "object",
"title": "tracking_pixel_api_tracking_pixel__email_id__png_getArguments",
"required": [
"email_id"
],
"properties": {
"email_id": {
"type": "string",
"title": "email_id"
}
}
}get_job_details_api_v1_jobs_get
Get Job Details Get detailed job listings with advanced filters and pagination ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "personalized": true } ```
{
"type": "object",
"title": "get_job_details_api_v1_jobs_getArguments",
"properties": {
"limit": {
"type": "integer",
"title": "limit",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of jobs to return"
},
"offset": {
"type": "integer",
"title": "offset",
"default": 0,
"minimum": 0,
"description": "Number of jobs to skip"
},
"remote": {
"type": "boolean",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "remote",
"description": "Filter by remote jobs"
},
"search": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "search",
"description": "Search term for job title, company, or description"
},
"company": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "company",
"description": "Filter by company name"
},
"sort_by": {
"type": "string",
"title": "sort_by",
"default": "relevance",
"description": "Field to sort by, or 'relevance' for a personalised ranking"
},
"job_type": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "job_type",
"description": "Filter by job type"
},
"location": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "location",
"description": "Filter by location"
},
"salary_max": {
"type": "number",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "salary_max",
"description": "Maximum salary"
},
"salary_min": {
"type": "number",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "salary_min",
"description": "Minimum salary"
},
"sort_order": {
"type": "string",
"title": "sort_order",
"default": "desc",
"description": "Sort order (asc or desc)"
},
"experience_level": {
"type": "string",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "experience_level",
"description": "Filter by experience level"
}
}
}get_job_detail_api_v1_jobs__job_id__get
Get Job Detail Get a detailed job listing by ID ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
{
"type": "object",
"title": "get_job_detail_api_v1_jobs__job_id__getArguments",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"title": "job_id",
"description": "Job ID"
}
}
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1127 ms
- 95th percentile latency
- 1127 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1127 ms · metadata changed · 168 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http hopehire-mcp https://hopehire.in/mcpCodex
codex mcp add hopehire-mcp --url https://hopehire.in/mcpCursor
{
"mcpServers": {
"hopehire-mcp": {
"url": "https://hopehire.in/mcp"
}
}
}Cline
{
"mcpServers": {
"hopehire-mcp": {
"type": "streamableHttp",
"url": "https://hopehire.in/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"hopehire-mcp": {
"type": "http",
"url": "https://hopehire.in/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http hopehire-mcp https://hopehire.in/mcpClaude Desktop
{
"mcpServers": {
"hopehire-mcp": {
"url": "https://hopehire.in/mcp"
}
}
}Windsurf
{
"mcpServers": {
"hopehire-mcp": {
"serverUrl": "https://hopehire.in/mcp"
}
}
}Let your agent find its tools
Find servers like HopeHire MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run HopeHire MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.