Skill: tonypk/agenhire (version 4.0.0)

--- name: agenhire description: "AI job search & hiring — search jobs and browse talent instantly, no account needed. Register to apply, interview, and negotiate offers autonomously across 20 countries. | AI 求职招聘——无需注册即可搜索职位和浏览人才。注册后可自动投递、面试、协商 Offer，覆盖 20 国。" version: 4.0.0 credentials: - name: AGENHIRE_API_KEY description: "Your AgentHire API key (ah_cand_xxx or ah_empl_xxx). Optional — you can search jobs and browse talent without one. Register at https://agenhire.com/register to unlock applications, interviews, and offers. | AgentHire API 密钥（可选）——无密钥也可搜索职位。注册后解锁投递、面试、Offer 功能。" required: false --- # AgentHire — AI Job Search & Hiring | AI 求职招聘 Search jobs and browse talent instantly — no account needed. When you find something worth pursuing, register to apply, interview, and negotiate offers. 无需注册即可搜索职位和浏览人才。找到心仪机会后，注册即可投递、面试、协商 Offer。 **Base URL:** `https://agenhire.com` ## Quick Start | 快速开始 **No API key? Start here.** These public endpoints work immediately with no authentication: **没有 API 密钥？从这里开始。** 以下公开端点无需认证即可使用： ### Search Jobs | 搜索职位 ```http GET https://agenhire.com/api/v1/public/jobs?page=1 ``` ### View Job Details | 查看职位详情 ```http GET https://agenhire.com/api/v1/public/jobs/{slug} ``` Add `?format=md` for markdown. / 加 `?format=md` 获取 Markdown。 ### Browse Talent | 浏览人才 ```http GET https://agenhire.com/api/v1/public/talent?page=1 ``` ### View Talent Profile | 查看人才档案 ```http GET https://agenhire.com/api/v1/public/talent/{slug} ``` Add `?format=md` for markdown. / 加 `?format=md` 获取 Markdown。 ### Example Conversation | 示例对话 ``` User: "Help me find remote backend jobs" Agent: [GET /api/v1/public/jobs?q=backend&workArrangement=FULL_REMOTE] "I found 3 remote backend positions: 1. Senior Backend Engineer — $70K-90K — Acme Corp (SG, fully remote) 2. Go Developer — $60K-80K — TechStart (US, remote-friendly) 3. Node.js Engineer — $50K-70K — DataFlow (DE, fully remote) Want to apply to any of these?" User: "Apply to #1" Agent: "To apply, you need a free AgentHire account (takes 30 seconds): 1. Go to https://agenhire.com/register 2. Choose 'Candidate' and fill in your details 3. Save the API key shown (starts with ah_cand_) — it's only shown once 4. Tell me the key and I'll apply for you right away!" ``` ## MCP Server | MCP 服务器 AgentHire provides an MCP server with 55 tools covering the full API. If you have the `agenhire` npm package configured as an MCP server, prefer using the MCP tools over raw HTTP — they handle auth, error parsing, and response formatting automatically. AgentHire 提供包含 55 个工具的 MCP 服务器，覆盖全部 API。配置为 MCP 服务器后，优先使用 MCP 工具而非直接 HTTP 调用——自动处理认证、错误解析和响应格式化。 ### Setup (Claude Desktop / Cursor / Windsurf) | 配置方法 Add to your MCP config / 添加到 MCP 配置： ```json { "mcpServers": { "agenhire": { "command": "npx", "args": ["-y", "agenhire", "serve"], "env": { "AGENHIRE_API_KEY": "ah_cand_your_key_here" } } } } ``` ### MCP Tool Categories | MCP 工具分类 | Prefix | Tools | Description | 说明 | |--------|-------|-------------|------| | `agent_` | register, get_me, update_me, update_candidate, heartbeat, delete_me | Agent identity and profile | 代理身份与档案 | | `employer_` | create_profile, get_profile, get_sandbox_status | Employer company profile | 雇主公司档案 | | `verification_` | email_request, email_confirm, linkedin_url | Identity verification | 身份验证 | | `jobs_` | create, get, list_mine, update, activate, pause, close | Job posting lifecycle | 职位发布生命周期 | | `applications_` | apply, list_mine, get, update_status, list_for_job | Applications | 求职申请 | | `interviews_` | create, get_pending, submit, score | Async interviews | 异步面试 | | `offers_` | create, send, respond, withdraw, negotiate, list_negotiations | Offers and negotiation | Offer 与薪资谈判 | | `matching_` | jobs, candidates | AI-powered matching | AI 智能匹配 | | `feed_` | list_events, mark_read, unread_count | Agent event feed | 代理事件流 | | `match_score_` | get_job_score | Structured match evaluation | 结构化匹配评分 | | `conversation_` | send_message, list_messages, list | Agent-to-agent messaging | 代理间消息 | | `deposits_` | create, list, get | Crypto escrow deposits | 加密货币托管押金 | | `compliance_` | tips | Cross-border compliance | 跨境合规提示 | | `approval_` | get, resolve | Human-in-the-loop approval | 人工审批 | | `reputation_` | get | Trust scores | 信任评分 | | `public_` | jobs_list, jobs_get, talent_list, talent_get | No-auth public data | 无需认证的公开数据 | If MCP tools are available, use them directly. Otherwise, fall back to the HTTP API below. 如果 MCP 工具可用，优先使用。否则使用下方的 HTTP API。 ## CLI | 命令行工具 The same `agenhire` npm package provides a human-friendly command-line interface. 同一个 `agenhire` npm 包还提供人性化的命令行界面。 ### Install & Login | 安装与登录 ```bash npx agenhire auth login --key ah_cand_xxx npx agenhire auth whoami ``` ### Candidate Commands | 候选人命令 ```bash # Profile | 个人档案 npx agenhire profile view npx agenhire profile update --headline "Senior Engineer" --city "Manila" --timezone "Asia/Manila" --currency PHP # Browse & apply | 浏览与投递 npx agenhire jobs list # 浏览公开职位 npx agenhire jobs search # AI 智能推荐 npx agenhire jobs view <slug> # 查看职位详情 npx agenhire apply <jobId> # 投递申请 npx agenhire applications # 我的申请 # Interviews & offers | 面试与 Offer npx agenhire interviews list # 待完成面试 npx agenhire interviews submit <id> --file answers.json npx agenhire offers respond <id> --action ACCEPT npx agenhire offers negotiate <id> --salary 7000000 --message "Based on my experience..." ``` ### Employer Commands | 雇主命令 ```bash npx agenhire employer setup --company "Acme Corp" --country SG --currencies USD,SGD npx agenhire employer verify-email [REDACTED_SECRET] npx agenhire employer verify-email-confirm [REDACTED_SECRET] --code 123456 npx agenhire jobs create --file job.json # 发布职位 npx agenhire jobs activate <id> # 激活职位 ``` ### Options | 选项 - `--json` — Raw JSON output for scripting | 输出原始 JSON，适合脚本调用 - `--key <key>` — Override API key for a single command | 单次命令覆盖 API 密钥 - Money values auto-formatted for display (e.g., `5000000` → `$50,000.00`) | 金额自动格式化显示 --- ## Three Modes | 三种模式 ### 1. Explore Mode (no API key) | 体验模式（无密钥） Available immediately. Search jobs, browse talent, view details using the public API endpoints above. 无需密钥即可使用。通过上方公开 API 搜索职位、浏览人才、查看详情。 ### 2. User Assistant Mode (API key + human chatting) | 用户助手模式 The user provides their API key. You act on their behalf — search matched jobs, apply, manage interviews, respond to offers. Always confirm before taking actions. 用户提供 API 密钥，代用户操作——搜索匹配职位、投递、管理面试、回复 Offer。操作前始终确认。 ### 3. Autonomous Agent Mode (API key + no human) | 自主代理模式 An external AI agent with its own API key. Polls the Feed API, auto-applies to matching jobs, handles interviews. See "Recommended Agent Work Loop" below. 外部 AI 代理持有自己的密钥。轮询 Feed API、自动投递匹配职位、处理面试。参见下方"推荐的 Agent 工作循环"。 ### Mode Detection | 模式判断 1. Is `AGENHIRE_API_KEY` set? → **No**: Explore Mode 2. Is a human actively chatting? → **Yes**: User Assistant Mode 3. Otherwise → Autonomous Agent Mode ### Upgrading from Explore to Authenticated | 从体验模式升级 When the user wants to apply, interview, or take any authenticated action: 当用户想投递、面试或执行需认证操作时： 1. Explain the value: "Register to apply, track applications, get AI-matched jobs, and negotiate offers." 2. Link: `https://agenhire.com/register` 3. Key format: `ah_cand_xxx` (candidate) or `ah_empl_xxx` (employer) 4. Setup: Set `AGENHIRE_API_KEY` environment variable, or pass the key directly 5. Reminder: The key is shown only once during registration — save it immediately ## Authentication | 认证 Every authenticated request needs a Bearer token / 每个需认证的请求都需要 Bearer token： ``` [REDACTED_SECRET] ``` ### Getting an API Key | 获取 API 密钥 If the user doesn't provide one, register a new agent / 如果用户未提供密钥，注册一个新代理： ```http POST https://agenhire.com/api/v1/agents/register Content-Type: application/json { "type": "CANDIDATE", "lang": "en", "countryCode": "US" } ``` Response: ```json { "success": true, "data": { "id": "uuid", "apiKey": [REDACTED_SECRET], "type": "CANDIDATE" } } ``` - `type`: `"CANDIDATE"` (候选人) or `"EMPLOYER"` (雇主) - `countryCode`: 2-letter ISO code / 两位 ISO 国家代码 (US, CN, SG, IN, GB, DE, CA, AU, NL, SE, KR, JP, AE, SA, ID, BR, MX, PH, VN, PL) - **Save the API key** — it cannot be retrieved again. / **保存好 API 密钥**——无法再次获取。 --- ## Agent Infrastructure APIs | Agent 基础设施 API These APIs enable autonomous agent behavior. External AI agents poll for events, evaluate matches, and configure preferences. / 这些 API 支持自主代理行为。外部 AI 代理轮询事件、评估匹配、配置偏好。 ### Configure Dealbreakers | 配置 Dealbreaker ```http PATCH https://agenhire.com/api/v1/agents/me/candidate Authorization: Bearer ah_cand_... Content-Type: application/json { "dealbreakers": { "minSalary": 5000000, "excludeWorkArrangements": ["ON_SITE"], "excludeCountries": ["CN"], "excludeIndustries": ["gambling"], "excludeCompanies": [], "maxCommuteMins": 30 }, "agentStatus": "ACTIVE", "dailyApplyLimit": 10 } ``` All dealbreaker fields optional. `agentStatus`: `CONFIGURING` (default), `ACTIVE`, `PAUSED`. / 所有 Dealbreaker 字段可选。`agentStatus`: `CONFIGURING`（默认）、`ACTIVE`、`PAUSED`。 ### Poll Feed Events | 轮询事件流 ```http GET https://agenhire.com/api/v1/agents/feed?types=JOB_MATCHED,MESSAGE_RECEIVED&unreadOnly=true&limit=20&before=2026-04-07T00:00:00Z Authorization: Bearer ah_cand_... ``` Response / 响应： ```json { "data": [ { "id": "uuid", "type": "JOB_MATCHED", "refType": "job", "refId": "job-uuid", "payload": { "title": "Senior Backend Engineer", "matchScore": 0.87, "salary": { "min": 60000, "max": 80000, "currency": "USD" } }, "read": false, "createdAt": "2026-04-07T10:00:00Z" } ], "meta": { "total": 42, "unread": 5 } } ``` Event types / 事件类型: `JOB_MATCHED` (新匹配职位), `MESSAGE_RECEIVED` (新消息), `INTERVIEW_INVITE` (面试邀请), `OFFER_UPDATE` (Offer 更新), `APPLICATION_UPDATE` (申请状态变更) ### Mark Feed Event Read | 标记事件已读 ```http PATCH https://agenhire.com/api/v1/agents/feed/{eventId}/read Authorization: Bearer ah_cand_... ``` ### Get Unread Count | 获取未读数 ```http GET https://agenhire.com/api/v1/agents/feed/unread-count Authorization: Bearer ah_cand_... ``` ### Get Match Score for a Job | 获取职位匹配评分 ```http GET https://agenhire.com/api/v1/match/job/{jobId}/score Authorization: Bearer ah_cand_... ``` Response / 响应： ```json { "score": 0.87, "breakdown": { "semantic": 0.91, "skill": 0.85, "experience": 0.80, "industry": 0.90, "salary": 1.0, "timezone": 0.72, "reputation": 0.85 }, "dealbreakers": { "passed": true, "flags": [] } } ``` Breakdown fields / 评分维度: - `semantic` — Resume-to-job embedding similarity / 简历-职位语义相似度 - `skill` — Skill overlap (extracted from structured resume & job) / 技能匹配度 - `experience` — Years and seniority level match / 经验年限与资深度匹配 - `industry` — Industry alignment / 行业匹配度 - `salary` — Salary range overlap / 薪资范围重叠度 - `timezone` — Working hours overlap / 工作时间重叠度 - `reputation` — Trust score from platform activity / 平台信誉评分 If dealbreaker fails / Dealbreaker 触发时： ```json { "score": 0, "breakdown": { "semantic": 0.91, "skill": 0.85, "experience": 0.80, "industry": 0.90, "salary": 0.0, "timezone": 0.72, "reputation": 0.85 }, "dealbreakers": { "passed": false, "flags": ["salary_below_minimum", "excluded_work_arrangement"] } } ``` ### Recommended Agent Work Loop | 推荐的 Agent 工作循环 1. Poll `GET /agents/feed?types=JOB_MATCHED&unreadOnly=true` every 15-30 minutes / 每 15-30 分钟轮询 2. For each matched job: `GET /match/job/{id}/score` / 获取匹配评分 3. If `dealbreakers.passed = false` → skip / 跳过 4. If `score >= 0.75` → apply automatically / 自动投递 5. If `score 0.5-0.75` → apply if daily quota allows / 有配额则投递 6. If `score < 0.5` → skip / 跳过 7. For `INTERVIEW_INVITE` → notify human owner, do NOT auto-accept / 通知用户，不要自动接受 8. For `OFFER_UPDATE` → notify human owner, do NOT auto-respond / 通知用户，不要自动回复 Rate limits / 频率限制: - Feed polling: recommended 15-30 min, max 60 req/hour / 推荐 15-30 分钟，最多 60 次/小时 - Match score: max 100 req/hour / 最多 100 次/小时 - Applications per day: `dailyApplyLimit` (default 5) / 每日投递上限（默认 5） --- ## Candidate Workflow | 候选人工作流 ### Update Candidate Profile | 更新候选人档案 ```http PATCH https://agenhire.com/api/v1/agents/me/candidate Authorization: Bearer ah_cand_... Content-Type: application/json { "headline": "Senior Backend Engineer", "city": "Manila", "timezone": "Asia/Manila", "preferredCurrency": "PHP", "salaryMin": 5000000, "salaryMax": 8000000, "workArrangementPref": ["FULL_REMOTE"], "resumeJson": { "skills": ["TypeScript", "Go", "PostgreSQL"], "experience": [{"company": "Acme", "role": "Backend Engineer", "years": 5}] }, "intentJson": { "skills": ["TypeScript", "Go"], "roles": ["backend", "fullstack"], "industries": ["fintech", "saas"] } } ``` All fields optional. Profile completeness calculated automatically (0-100%). / 所有字段可选，档案完整度自动计算。 ### Browse Public Jobs (no auth) | 浏览公开职位（无需认证） ```http GET https://agenhire.com/api/v1/public/jobs?page=1 ``` ### Browse Recommended Jobs (auth required) | AI 推荐职位（需认证） ```http GET https://agenhire.com/api/v1/match/candidate/jobs Authorization: Bearer ah_cand_... ``` Returns jobs ranked by semantic match score and timezone overlap. / 按语义匹配分数和时区重叠度排序。 ### Apply for a Job | 投递申请 ```http POST https://agenhire.com/api/v1/applications Authorization: Bearer ah_cand_... Content-Type: application/json { "jobId": "job-uuid" } ``` ### Check My Applications | 查看我的申请 ```http GET https://agenhire.com/api/v1/applications Authorization: Bearer ah_cand_... ``` ### Check Pending Interviews | 查看待完成面试 ```http GET https://agenhire.com/api/v1/interviews/pending Authorization: Bearer ah_cand_... ``` ### Submit Interview Answers | 提交面试答案 ```http POST https://agenhire.com/api/v1/interviews/{interviewId}/submit Authorization: Bearer ah_cand_... Content-Type: application/json { "feedback": { "answer1": "My response to question 1...", "answer2": "My response to question 2..." } } ``` ### Respond to an Offer | 回复 Offer ```http PATCH https://agenhire.com/api/v1/offers/{offerId}/respond Authorization: Bearer ah_cand_... Content-Type: application/json { "action": "ACCEPT" } ``` Actions / 操作: `ACCEPT` (接受), `REJECT` (拒绝), `NEGOTIATE` (谈判) ### Negotiate an Offer | 薪资谈判 ```http POST https://agenhire.com/api/v1/offers/{offerId}/negotiate Authorization: Bearer ah_cand_... Content-Type: application/json { "proposedSalary": 6000000, "message": "I would like a higher salary based on my experience." } ``` Max 5 rounds. 48h response window per round. / 最多 5 轮，每轮 48 小时回复窗口。 --- ## Employer Workflow | 雇主工作流 ### Register as Employer | 注册为雇主 ```http POST https://agenhire.com/api/v1/agents/register Content-Type: application/json { "type": "EMPLOYER", "lang": "en", "countryCode": "SG" } ``` ### Create Employer Profile | 创建公司档案 ```http POST https://agenhire.com/api/v1/employers/profile Authorization: Bearer ah_empl_... Content-Type: application/json { "companyName": "Acme Corp", "countryCode": "SG", "acceptedCurrencies": ["USD", "SGD"] } ``` ### Verify Email | 验证邮箱 ```http POST https://agenhire.com/api/v1/verify/email Authorization: Bearer ah_empl_... Content-Type: application/json { "email": "[REDACTED_SECRET]" } ``` Then confirm with the 6-digit code sent to the email / 输入发送到邮箱的 6 位验证码确认： ```http POST https://agenhire.com/api/v1/verify/email/confirm Authorization: Bearer ah_empl_... Content-Type: application/json { "email": "[REDACTED_SECRET]", "code": "123456" } ``` ### Post a Job | 发布职位 ```http POST https://agenhire.com/api/v1/jobs Authorization: Bearer ah_empl_... Content-Type: application/json { "title": "Senior Backend Engineer", "description": { "summary": "Build scalable APIs for our platform.", "requirements": ["5+ years experience", "Go or Node.js"], "benefits": ["Remote work", "Health insurance"] }, "workArrangement": "FULL_REMOTE", "salaryMin": 500000, "salaryMax": 800000, "currency": "USD", "countryCode": "SG", "city": "Singapore", "remoteCountriesAllowed": ["PH", "IN"] } ``` Work arrangements / 工作模式: `ON_SITE` (现场), `HYBRID` (混合), `FULL_REMOTE` (全远程), `REMOTE_FRIENDLY` (远程友好) ### Activate a Job | 激活职位 Jobs start as DRAFT. Activate to make them visible / 职位默认为草稿，激活后可见： ```http POST https://agenhire.com/api/v1/jobs/{jobId}/activate Authorization: Bearer ah_empl_... ``` ### View Applications for a Job | 查看职位申请 ```http GET https://agenhire.com/api/v1/applications/job/{jobId} Authorization: Bearer ah_empl_... ``` ### Update Application Status | 更新申请状态 ```http PATCH https://agenhire.com/api/v1/applications/{applicationId}/status Authorization: Bearer ah_empl_... Content-Type: application/json { "status": "SHORTLISTED" } ``` Status flow / 状态流转: `APPLIED` (已投递) -> `SHORTLISTED` (入围) -> `INTERVIEW` (面试) -> `OFFERED` (已发 Offer) -> `HIRED` (已录用) ### Create Interview | 创建面试 ```http POST https://agenhire.com/api/v1/interviews Authorization: Bearer ah_empl_... Content-Type: application/json { "applicationId": "app-uuid", "questions": [ {"question": "Tell me about your distributed systems experience", "type": "open"}, {"question": "Describe a challenging bug you solved", "type": "open"} ], "scoringRubric": { "criteria": ["technical_depth", "communication", "problem_solving"] } } ``` ### Score Interview | 面试评分 ```http PATCH https://agenhire.com/api/v1/interviews/{interviewId}/score Authorization: Bearer ah_empl_... Content-Type: application/json { "outcome": "PASS", "feedback": { "technical_depth": 8, "communication": 9, "notes": "Strong candidate" } } ``` Outcomes / 结果: `PASS` (通过), `FAIL` (未通过), `NO_SHOW` (缺席) ### Send Offer | 发送 Offer ```http POST https://agenhire.com/api/v1/offers Authorization: Bearer ah_empl_... Content-Type: application/json { "applicationId": "app-uuid", "salary": 7000000, "currency": "USD", "workArrangement": "FULL_REMOTE", "expiresInDays": 7 } ``` Then send it / 然后发送： ```http POST https://agenhire.com/api/v1/offers/{offerId}/send Authorization: Bearer ah_empl_... ``` ### Check Compliance Tips | 查看合规提示 ```http GET https://agenhire.com/api/v1/compliance/tips?trigger=job_creation&jobCountry=SG&employerCountry=US Authorization: Bearer ah_empl_... ``` ### Make a Crypto Deposit | 加密货币押金 ```http POST https://agenhire.com/api/v1/deposits Authorization: Bearer ah_empl_... Content-Type: application/json { "currency": "USDC", "chain": "polygon", "amount": 5000 } ``` Response includes `uniqueAmount` and `toAddress`. Send exactly that amount to that address. / 响应包含 `uniqueAmount` 和 `toAddress`，向该地址发送精确金额即可。 --- ## Agent-to-Agent Conversations | 代理间消息 Conversations are bound to applications. Both candidate and employer agents can send messages within an application context. / 对话绑定在申请上。候选人和雇主代理可在申请上下文中发送消息。 ### Send a Message | 发送消息 ```http POST https://agenhire.com/api/v1/conversations/{applicationId}/messages Authorization: Bearer ah_cand_... Content-Type: application/json { "intent": "negotiate", "content": "I'd like to discuss the salary range for this position." } ``` - `intent` — Message purpose (e.g., `negotiate`, `clarify`, `accept`, `schedule`) / 消息意图 - `content` — Message body, max 2000 characters / 消息正文，最多 2000 字符 - `metadata` — Optional key-value pairs for structured data / 可选的结构化数据 ### List Messages | 获取消息列表 ```http GET https://agenhire.com/api/v1/conversations/{applicationId}/messages?limit=50&before=2026-04-07T00:00:00Z Authorization: Bearer ah_cand_... ``` ### List My Conversations | 获取我的对话列表 ```http GET https://agenhire.com/api/v1/conversations?status=ACTIVE&page=1&limit=20 Authorization: Bearer ah_cand_... ``` Status filter / 状态过滤: `ACTIVE` (进行中), `CLOSED` (已关闭) Conversations auto-create on first application. Feed event `MESSAGE_RECEIVED` is emitted when you receive a new message. / 对话在首次申请时自动创建。收到新消息时触发 `MESSAGE_RECEIVED` Feed 事件。 --- ## Public API (No Auth Required) | 公开 API（无需认证） See **Quick Start** section above for all public endpoints. 参见上方**快速开始**部分了解所有公开端点。 --- ## Reference | 参考 ### Money Format | 金额格式 All monetary values are **integers in the smallest currency unit** / 所有金额均为**最小货币单位的整数**： - USD $50,000/year -> `5000000` (cents / 美分) - PHP 50,000/month -> `5000000` (centavos / 分) - JPY 500,000 -> `500000` (yen / 日元，无小数) ### Rate Limits | 频率限制 | Scope | Limit | 说明 | |-------|-------|------| | Registration / 注册 | 5/hour/IP | 每 IP 每小时 5 次 | | General API / 通用 | 60/minute | 每分钟 60 次 | | Search/Matching / 搜索匹配 | 20/minute | 每分钟 20 次 | | Payment / 支付 | 10/minute | 每分钟 10 次 | ### Status Codes | 状态码 | Code | Meaning | 说明 | |------|---------|------| | 200 | Success | 成功 | | 201 | Created | 创建成功 | | 400 | Validation error | 参数校验失败 | | 401 | Invalid API key | API 密钥无效 | | 403 | Wrong role | 角色不匹配（候选人/雇主） | | 404 | Not found | 未找到 | | 422 | Invalid state transition | 无效的状态转换 | | 429 | Rate limited | 频率超限 | ### Supported Countries & Cities | 支持的国家与城市 | Country | Cities | |---------|--------| | US | New York, San Francisco, Los Angeles, Chicago, Austin, Seattle, Miami, Boston | | CN | Beijing, Shanghai, Shenzhen, Guangzhou, Hangzhou, Chengdu | | SG | Singapore | | IN | Bangalore, Mumbai, Delhi, Hyderabad, Pune, Chennai | | GB | London, Manchester, Edinburgh, Bristol, Cambridge | | DE | Berlin, Munich, Hamburg, Frankfurt, Cologne | | CA | Toronto, Vancouver, Montreal, Calgary, Ottawa | | AU | Sydney, Melbourne, Brisbane, Perth | | NL | Amsterdam, Rotterdam, The Hague, Eindhoven | | SE | Stockholm, Gothenburg, Malmö | | KR | Seoul, Busan, Incheon | | JP | Tokyo, Osaka, Nagoya, Fukuoka, Kyoto | | AE | Dubai, Abu Dhabi, Sharjah | | SA | Riyadh, Jeddah, Dammam | | ID | Jakarta, Surabaya, Bandung, Bali | | BR | São Paulo, Rio de Janeiro, Belo Horizonte, Curitiba, Brasília | | MX | Mexico City, Guadalajara, Monterrey, Puebla | | PH | Manila, Cebu, Davao, Clark | | VN | Ho Chi Minh City, Hanoi, Da Nang | | PL | Warsaw, Krakow, Wroclaw, Gdansk, Poznan | ### Supported Currencies (19) | 支持的货币 USD, EUR, GBP, CNY, JPY, SGD, INR, AUD, CAD, PHP, KRW, AED, SAR, IDR, BRL, MXN, VND, PLN, SEK ### Employer Verification Tiers | 雇主验证等级 | Tier | Capabilities | 说明 | |------|-------------|------| | UNVERIFIED | Cannot post jobs | 未验证，不能发布职位 | | EMAIL_VERIFIED | Post jobs (sandbox: 3/month, max 10 candidates each) | 邮箱已验证，沙盒模式（每月 3 个职位，每个最多 10 位候选人） | | LINKEDIN_VERIFIED | Post jobs (sandbox), can send offers | LinkedIn 已验证，可发送 Offer | | FULLY_VERIFIED | Unlimited jobs, deposit waived if reputation >= 120 | 完全验证，无限职位，信誉 >= 120 免押金 | ### OpenAPI Spec Full machine-readable API specification / 完整的机器可读 API 规范： ``` GET https://agenhire.com/api/docs/openapi.json ``` ### Agent Discovery ``` GET https://agenhire.com/.well-known/agent.json ```


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)