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 [ {} ] ```
limitis_readin.hopehire由 hopehire.in 發布官方發布者v1.0.0更新於 Oct 27, 2026
Tailor resumes, score ATS fit, find hiring leads, and send cold outreach, from your agent.
HopeHire 讓助理透過 HopeHire 帳號調整履歷、評估 ATS 符合度、媒合職缺並寄送冷郵件開發。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/in.hopehire%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"hopehire": {
"type": "http",
"url": "https://hopehire.in/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Get Notifications Fetch notifications for the current user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
limitis_readMark 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
無需輸入參數。
Mark Notification As Read Mark a notification as read. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
notification_id必填Delete Notification Delete a notification. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
notification_id必填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
無需輸入參數。
Refresh Ats Score Recalculate the ATS score from the current resume and persist it. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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
無需輸入參數。
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
user_id必填valid_suggestions必填Generate Yaml Version Generate YAML version and RenderCV PDF for existing resume ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Apply Suggestions Apply improvement suggestions to YAML and regenerate PDF ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get Yaml Suggestions Generate YAML-based improvement suggestions ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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
user_id必填resume_text必填Render Raw Yaml Hot-reload: Generate PDF from raw YAML content ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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
無需輸入參數。
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 } ```
無需輸入參數。
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
user_id必填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
user_id必填Test Pdf Generation Test PDF generation to debug PDF issues. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Debug Pdf Get debugging information about a PDF file. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
file_path必填Download Resume Download the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
s3Path必填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
sig必填s3Path必填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 } ```
s3Path必填Get Resume Get the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
user_idUpload Resume Upload and process a resume file. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
fileuser_idUpdate 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 } ```
id必填s3Pathskills必填sourceuserId必填fileNamefileSizefileTypeprojectscreatedAt必填education必填languages另有 16 個Delete Resume Delete the user's resume and cleanup associated resources. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
s3Pathuser_idSet 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 } ```
無需輸入參數。
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 } ```
user_idCreate Preferences Create the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
iduserIdjobTypesisFresherlocationstechStackupdatedAtindustriesexpectedCtctargetRolesfunctionAreaslocationTypes另有 4 個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 } ```
iduserIdjobTypesisFresherlocationstechStackupdatedAtindustriesexpectedCtctargetRolesfunctionAreaslocationTypes另有 4 個Delete Preferences Delete the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_idStart Job Matching Start an asynchronous job matching process Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_idresume_iduse_preferencesGet 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 } ```
limitoffsetsort_byuser_idjob_typekeywordslocationresume_idmin_salarysort_orderlocation_typemin_match_score另有 1 個Clear Job Matches Clear all job matches for a user Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_idStart Conversation Start a new conversation using the shared auto-apply service logic. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
job_id必填user_id必填resume_iduser_profileStart 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" } ```
job_id必填user_id必填user_profile必填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
user_idCheck 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" } ```
task_id必填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" } ```
task_id必填Start Conversation Start a new email conversation. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
intent必填job_idcontact_namecontext_datainitial_bodysubject_line必填contact_email必填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" } ] ```
skiplimitGet 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": {} } ```
conversation_id必填Pause Conversation Pause an ongoing conversation to stop automatic follow-ups. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
conversation_id必填Resume Conversation Resume a paused conversation. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
conversation_id必填Send Manual Message Send a manual message in the conversation, overriding the AI. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
conversation_id必填message_content必填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
conversation_id必填message_content必填notification_id必填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" } ```
無需輸入參數。
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 [ {} ] ```
skiplimitEnable User Monitoring Enable email monitoring for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Disable User Monitoring Disable email monitoring for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Update User Monitoring Config Update email monitoring configuration for a user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填prioritymonitoring_frequencyemail_monitoring_enabledTrigger User Discovery Manually trigger user discovery process ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get User Monitoring Status Get monitoring status for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填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
user_id必填duration必填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
user_id必填Get User Memory Get user memory by user ID ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
user_id必填Create User Memory Create new user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
user_id必填compensationnotice_periodcareer_contextjob_preferencesai_context_notessafety_guardrailsscreening_profileauto_apply_preferencescommunication_preferencesUpdate User Memory Update existing user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
user_id必填compensationnotice_periodcareer_contextjob_preferencesai_context_notessafety_guardrailsscreening_profileauto_apply_preferencescommunication_preferencesDelete User Memory Delete (deactivate) user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
user_id必填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 } ```
pagelimituser_id必填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 } ```
user_id必填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 } ```
label必填value必填user_id必填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 } ```
user_id必填normalized_label必填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
無需輸入參數。
User Memory Ai Chat ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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 } ```
無需輸入參數。
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 } ```
company_idcompany_nameGet 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 } ```
exclude_user_idSend 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 } ```
to必填subject必填thread_idreferencesin_reply_tomessage_text必填sender_user_ids3_attachment_keyattachment_filenameGet My Footer Get the footer for the currently authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Update My Footer Update the footer for the currently authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
nameemailphonetitlegithubcompanylinkedinlocationportfolioproject_linksGet Email Footer Get email footer for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Update Email Footer Update email footer for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
nameemailphonetitlegithubcompanyuser_id必填linkedinlocationportfolioproject_linksGet Formatted Footer Get formatted footer string for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Generate Footer From Resume Generate email footer from user's resume data. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Get User Config Get configuration for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Update User Config Update configuration for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Reset User Config Reset user configuration to defaults ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Get Campaign Config Get configuration for a specific campaign ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
campaign_id必填Update Campaign Config Update configuration for a specific campaign ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
campaign_id必填Reset Campaign Config Reset campaign configuration to defaults ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
campaign_id必填Get Effective Config Get effective configuration combining user and campaign settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填campaign_idGet Default Config Get default configuration values ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get All User Configs Get all user configurations (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get All Campaign Configs Get all campaign configurations (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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
limitoffsetstatusemail_onlymin_qualityGet All Leads Admin Admin view: return all leads regardless of outreach status. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
limitoffsetemail_onlymin_qualityGet Lead Stats Return summary statistics for the lead database. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
List Accounts List all LinkedIn scraper accounts in the pool (passwords masked). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Add Account Add a LinkedIn scraper account to the pool. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
email必填proxypassword必填assigned_queriesmax_requests_per_dayUpdate Account Status Update the status of a LinkedIn account (active / cooldown / banned). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
status必填account_id必填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
limitGet 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
lead_id必填Get Lead Fetch a single lead by its ID. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
lead_id必填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
notesstatus必填lead_id必填cold_email_idSend 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
lead_id必填job_linkcustom_messageGenerate 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
lead_id必填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
lead_ids必填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
queriesmax_posts_per_queryApify 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
無需輸入參數。
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 } ] ```
無需輸入參數。
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 } ```
bodynamesubjecttemplate_id必填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 } ] ```
無需輸入參數。
Get Tools Schema Returns the JSON schema for all available tools. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
use_composioExecute Tool Executes a tool by name with provided arguments. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get Connection Url Get the authorization URL for a specific Composio app. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
app_name必填Disconnect App Revoke the user's Composio connection for a specific app. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
app_name必填List Connections List all active connections for the user in Composio. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get Integration Status Get the connection status for key integrations across all providers. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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
無需輸入參數。
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
無需輸入參數。
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
referral_code必填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 [ {} ] ```
無需輸入參數。
Approve Outreach Item Approve a queue item and send the cold email. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
item_id必填Dismiss Outreach Item Dismiss an outreach queue item. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
item_id必填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 } ```
無需輸入參數。
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 } ```
outreach_timezonedaily_outreach_enabled必填daily_outreach_batch_sizeResume 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 } ```
無需輸入參數。
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 } ```
autopilot_enabled必填autopilot_min_match_score必填Get Active Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
Get Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
batch_id必填Create Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
limititem_idsbatch_type必填min_qualityCancel Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
batch_id必填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 [ {} ] ```
無需輸入參數。
Cancel Pending Auto Reply Cancel a pending auto-reply before it fires. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
reply_id必填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" } ```
job_url必填platformjob_title必填company_name必填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" } ] ```
limitoffsetUpdate 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" } ```
status必填application_id必填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" } ] } ```
fields必填job_context必填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" } ```
step必填historyelements必填job_context必填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
label必填value必填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" } ```
job_description必填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" ] } ```
job_description必填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 } ```
無需輸入參數。
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 } ```
field_memory_consentrecruiter_comms_consentExtension 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
job_url必填platformjob_title必填company_name必填job_descriptionSend 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
subject必填html_body必填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" ```
sig必填uid必填Submit Feedback ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
action_type必填feedback_textList Keys ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
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
name必填Delete Key ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
key_id必填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
token必填My Org ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
My Org Summary ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
無需輸入參數。
My Students ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
qskiplimitcohort_idRemove Student ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_id必填Create Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
invites必填List Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
statusRevoke Invite ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
invite_id必填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 } ```
company_name必填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 } ```
offset必填user_idpagination必填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 } ```
message必填user_id必填company_name必填user_profile必填recruiter_email必填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" } ```
user_id必填company_name必填user_profile必填recruiter_email必填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
user_id必填hr_email必填company_id必填company_name必填user_profile必填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 } ```
jobLinksubjectuser_id必填hr_emailcompany_name必填user_profile必填email_contentis_new_companysender_user_idfallback_enabledPreview 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" } ```
jobLinksubjectuser_id必填hr_emailcompany_name必填user_profile必填email_contentis_new_companysender_user_idfallback_enabledGet 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
cold_email_id必填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
message_id必填List Companies ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "hrContacts": [ { "email": "Email" } ], "hrContactCount": 1 } ] ```
無需輸入參數。
Create Company Endpoint ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "hrContacts": [ { "email": "Email" } ], "hrContactCount": 1 } ```
name必填hrEmail必填Add Hr Contact Endpoint ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "name": "Name" } ```
company_id必填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
email_id必填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 } ```
limitoffsetremotesearchcompanysort_byjob_typelocationsalary_maxsalary_minsort_orderexperience_levelGet Job Detail Get a detailed job listing by ID ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
job_id必填已滿足適用檢查項的 83%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。
託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。