HopeHire

in.hopehirePublished by hopehire.inOfficial publisherv1.0.0Updated Oct 27, 2026

Tailor resumes, score ATS fit, find hiring leads, and send cold outreach, from your agent.

Overview

AI-generated overview

HopeHire lets an assistant tailor resumes, score ATS fit, match jobs, and run cold-email outreach from a HopeHire account.

What you can do
  • Read, upload, update and delete the user's resume, including YAML editing and RenderCV PDF generation
  • Check and refresh an ATS score, get AI improvement suggestions and apply them, or chat with an AI about the resume
  • Create a resume from a LinkedIn profile URL and manage job preferences
  • Start job matching, list filtered job matches and clear them
  • Launch auto-apply tasks that find contacts, write personalized messages and send emails with the resume attached, then check task status
  • Read, mark read or delete notifications, and start email conversations
When to use it
Useful for job seekers who already use HopeHire and want an assistant to iterate on their resume, check ATS fit, review matched jobs, or kick off and monitor outreach without switching to the web app.
Requirements
Remote streamable HTTP endpoint at hopehire.in. Requires a HopeHire account and a bearer token created in Settings > Agents, sent in the Authorization header. LinkedIn import relies on the Apify API on the server side.
Before you install
The token grants access to the user's resume and job data. Many tools write or delete data, including resume upload, update and delete, preference changes and clearing job matches. Auto-apply sends real emails with the resume attached to third-party contacts, so review before launching. Resume content and LinkedIn URLs are processed by the service and its AI features.

Installation

In SourceWeft

  1. Open HopeHire in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/in.hopehire%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hopehire": {
      "type": "http",
      "url": "https://hopehire.in/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

Tools

165

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 [ {} ] ```

Parameterslimitis_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

Takes no parameters.

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

Parametersnotification_idrequired

delete_notification_api_notifications__notification_id__delete

Delete Notification Delete a notification. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersnotification_idrequired

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

Takes no parameters.

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

Takes no parameters.

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

Takes no parameters.

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

Parametersuser_idrequiredvalid_suggestionsrequired

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

Takes no parameters.

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

Takes no parameters.

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

Takes no parameters.

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

Parametersuser_idrequiredresume_textrequired

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

Takes no parameters.

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

Takes no parameters.

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 } ```

Takes no parameters.

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

Parametersuser_idrequired

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

Parametersuser_idrequired

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

Takes no parameters.

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

Parametersfile_pathrequired

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 } ```

Parameterss3Pathrequired

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

Parameterssigrequireds3Pathrequired

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 } ```

Parameterss3Pathrequired

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 } ```

Parametersuser_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 } ```

Parametersfileuser_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 } ```

Parametersidrequireds3PathskillsrequiredsourceuserIdrequiredfileNamefileSizefileTypeprojectscreatedAtrequirededucationrequiredlanguages+16 more

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

Parameterss3Pathuser_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 } ```

Takes no parameters.

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 } ```

Parametersuser_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 } ```

ParametersiduserIdjobTypesisFresherlocationstechStackupdatedAtindustriesexpectedCtctargetRolesfunctionAreaslocationTypes+4 more

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 } ```

ParametersiduserIdjobTypesisFresherlocationstechStackupdatedAtindustriesexpectedCtctargetRolesfunctionAreaslocationTypes+4 more

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

Parametersuser_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

Parametersuser_idresume_iduse_preferences

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 } ```

Parameterslimitoffsetsort_byuser_idjob_typekeywordslocationresume_idmin_salarysort_orderlocation_typemin_match_score+1 more

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

Parametersuser_id

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

Parametersjob_idrequireduser_idrequiredresume_iduser_profile

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" } ```

Parametersjob_idrequireduser_idrequireduser_profilerequired

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

Parametersuser_id

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" } ```

Parameterstask_idrequired

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" } ```

Parameterstask_idrequired

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

Parametersintentrequiredjob_idcontact_namecontext_datainitial_bodysubject_linerequiredcontact_emailrequired

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" } ] ```

Parametersskiplimit

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": {} } ```

Parametersconversation_idrequired

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

Parametersconversation_idrequired

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

Parametersconversation_idrequired

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

Parametersconversation_idrequiredmessage_contentrequired

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

Parametersconversation_idrequiredmessage_contentrequirednotification_idrequired

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" } ```

Takes no parameters.

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 [ {} ] ```

Parametersskiplimit

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

Parametersuser_idrequired

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

Parametersuser_idrequired

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

Parametersuser_idrequiredprioritymonitoring_frequencyemail_monitoring_enabled

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

Takes no parameters.

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

Parametersuser_idrequired

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

Parametersuser_idrequireddurationrequired

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

Parametersuser_idrequired

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 } ```

Parametersuser_idrequired

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 } ```

Parametersuser_idrequiredcompensationnotice_periodcareer_contextjob_preferencesai_context_notessafety_guardrailsscreening_profileauto_apply_preferencescommunication_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 } ```

Parametersuser_idrequiredcompensationnotice_periodcareer_contextjob_preferencesai_context_notessafety_guardrailsscreening_profileauto_apply_preferencescommunication_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 } ```

Parametersuser_idrequired

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 } ```

Parameterspagelimituser_idrequired

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 } ```

Parametersuser_idrequired

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 } ```

Parameterslabelrequiredvaluerequireduser_idrequired

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 } ```

Parametersuser_idrequirednormalized_labelrequired

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

Takes no parameters.

user_memory_ai_chat_api_user_memory_ai_chat_post

User Memory Ai Chat ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Takes no parameters.

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 } ```

Takes no parameters.

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 } ```

Parameterscompany_idcompany_name

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 } ```

Parametersexclude_user_id

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 } ```

Parameterstorequiredsubjectrequiredthread_idreferencesin_reply_tomessage_textrequiredsender_user_ids3_attachment_keyattachment_filename

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

Parametersuser_idrequired

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

Parametersuser_idrequired

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

Parametersuser_idrequired

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

Parametersuser_idrequired

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

Parameterscampaign_idrequired

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

Parameterscampaign_idrequired

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

Parameterscampaign_idrequired

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

Parametersuser_idrequiredcampaign_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

Takes no parameters.

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

Takes no parameters.

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

Takes no parameters.

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

Parameterslimitoffsetstatusemail_onlymin_quality

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

Parameterslimitoffsetemail_onlymin_quality

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

Takes no parameters.

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

Takes no parameters.

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

Parametersemailrequiredproxypasswordrequiredassigned_queriesmax_requests_per_day

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

Parametersstatusrequiredaccount_idrequired

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

Parameterslimit

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

Parameterslead_idrequired

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

Parameterslead_idrequired

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

Parametersnotesstatusrequiredlead_idrequiredcold_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

Parameterslead_idrequiredjob_linkcustom_message

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

Parameterslead_idrequired

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

Parameterslead_idsrequired

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

Parametersqueriesmax_posts_per_query

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

Takes no parameters.

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 } ] ```

Takes no parameters.

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 } ```

Parametersbodynamesubjecttemplate_idrequired

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 } ] ```

Takes no parameters.

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

Parametersuse_composio

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

Takes no parameters.

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

Parametersapp_namerequired

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

Parametersapp_namerequired

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

Takes no parameters.

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

Takes no parameters.

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

Takes no parameters.

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

Takes no parameters.

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

Parametersreferral_coderequired

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 [ {} ] ```

Takes no parameters.

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

Parametersitem_idrequired

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

Parametersitem_idrequired

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 } ```

Takes no parameters.

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 } ```

Parametersoutreach_timezonedaily_outreach_enabledrequireddaily_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 } ```

Takes no parameters.

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 } ```

Parametersautopilot_enabledrequiredautopilot_min_match_scorerequired

get_active_outreach_batch_api_outreach_batches_active_get

Get Active Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Takes no parameters.

get_outreach_batch_api_outreach_batches__batch_id__get

Get Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersbatch_idrequired

create_outreach_batch_api_outreach_batches_post

Create Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parameterslimititem_idsbatch_typerequiredmin_quality

cancel_outreach_batch_api_outreach_batches__batch_id__cancel_post

Cancel Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersbatch_idrequired

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 [ {} ] ```

Takes no parameters.

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

Parametersreply_idrequired

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" } ```

Parametersjob_urlrequiredplatformjob_titlerequiredcompany_namerequired

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" } ] ```

Parameterslimitoffset

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" } ```

Parametersstatusrequiredapplication_idrequired

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" } ] } ```

Parametersfieldsrequiredjob_contextrequired

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" } ```

Parameterssteprequiredhistoryelementsrequiredjob_contextrequired

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

Parameterslabelrequiredvaluerequired

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" } ```

Parametersjob_descriptionrequired

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" ] } ```

Parametersjob_descriptionrequired

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 } ```

Takes no parameters.

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 } ```

Parametersfield_memory_consentrecruiter_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

Parametersjob_urlrequiredplatformjob_titlerequiredcompany_namerequiredjob_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

Parameterssubjectrequiredhtml_bodyrequired

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" ```

Parameterssigrequireduidrequired

submit_feedback_api_feedback_post

Submit Feedback ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersaction_typerequiredfeedback_text

list_keys_api_api_keys_get

List Keys ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Takes no parameters.

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

Parametersnamerequired

delete_key_api_api_keys__key_id__delete

Delete Key ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parameterskey_idrequired

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

Parameterstokenrequired

my_org_api_orgs_me_get

My Org ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Takes no parameters.

my_org_summary_api_orgs_me_summary_get

My Org Summary ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Takes no parameters.

my_students_api_orgs_me_students_get

My Students ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersqskiplimitcohort_id

remove_student_api_orgs_me_students__user_id__delete

Remove Student ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersuser_idrequired

create_invites_api_orgs_me_invites_post

Create Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersinvitesrequired

list_invites_api_orgs_me_invites_get

List Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersstatus

revoke_invite_api_orgs_me_invites__invite_id__delete

Revoke Invite ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Parametersinvite_idrequired

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 } ```

Parameterscompany_namerequired

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 } ```

Parametersoffsetrequireduser_idpaginationrequired

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 } ```

Parametersmessagerequireduser_idrequiredcompany_namerequireduser_profilerequiredrecruiter_emailrequired

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" } ```

Parametersuser_idrequiredcompany_namerequireduser_profilerequiredrecruiter_emailrequired

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

Parametersuser_idrequiredhr_emailrequiredcompany_idrequiredcompany_namerequireduser_profilerequired

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 } ```

ParametersjobLinksubjectuser_idrequiredhr_emailcompany_namerequireduser_profilerequiredemail_contentis_new_companysender_user_idfallback_enabled

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" } ```

ParametersjobLinksubjectuser_idrequiredhr_emailcompany_namerequireduser_profilerequiredemail_contentis_new_companysender_user_idfallback_enabled

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

Parameterscold_email_idrequired

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

Parametersmessage_idrequired

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 } ] ```

Takes no parameters.

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 } ```

ParametersnamerequiredhrEmailrequired

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" } ```

Parameterscompany_idrequired

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

Parametersemail_idrequired

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 } ```

Parameterslimitoffsetremotesearchcompanysort_byjob_typelocationsalary_maxsalary_minsort_orderexperience_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 } ```

Parametersjob_idrequired

Version history

1
  1. v1.0.0LatestOct 23, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.