{"success":true,"data":{"endpoints":[{"path":"/jobs","method":"GET","description":"Paginated public job list from the production public-job read model"},{"path":"/search/jobs","method":"GET","description":"External job search; optional domain=web3|ai, omit for both"},{"path":"/jobs/{job_id}","method":"GET","description":"Single active job detail by id"},{"path":"/market-map","method":"GET","description":"AI-safe market-map dimension coverage/readiness from the public static job payload"},{"path":"/fit","method":"POST","description":"Rank jobs ({skills?: string[], query?, domain?: web3|ai, remote_only?, seniority_level?, limit?}); at least one skill or query; same engine as MCP"},{"path":"/search/company-history","method":"POST","description":"Match role directions to observed closed company postings for research and outreach planning"},{"path":"/interview/company","method":"GET","description":"Company interview-prep package by company_id, slug, or name"},{"path":"/companies/{company_id}/interview","method":"GET","description":"Company interview-prep package by company id"},{"path":"/companies/{company_id}/hiring-history","method":"GET","description":"Company's retained roles, observed-open duration, and evidence-gated posting profile"},{"path":"/candidate-workspace","method":"GET","description":"Read canonical opportunities, applications, tasks, saved searches, and activity; proxied to Supabase Edge"},{"path":"/candidate-workspace","method":"POST","description":"Preview or confirm one canonical workspace mutation"},{"path":"/candidate-agent-messages","method":"GET","description":"Fetch bounded candidate-visible updates for an opted-in connected agent"},{"path":"/candidate-agent-messages/acknowledge","method":"POST","description":"Acknowledge updates after presenting them to the candidate"},{"path":"/candidate-agent-tasks","method":"GET","description":"Fetch explicit candidate-authored read or preparation tasks from the pull queue"},{"path":"/candidate-application-fill-package","method":"POST","description":"Claim one 15-minute approved fill package bound to a current fetched candidate task"},{"path":"/candidate-application-fill-package/complete","method":"POST","description":"Close a fill grant with field IDs only and no answer values"},{"path":"/candidate-application-question-capture","method":"POST","description":"Propose structured ATS prompts and controls from a current fetched candidate task"},{"path":"/candidate-agent-tasks/complete","method":"POST","description":"Close a fetched task with a bounded outcome receipt"},{"path":"/tracker/jobs","method":"GET/POST","description":"Compatibility adapter over the canonical candidate workspace"},{"path":"/tracker/jobs/{tracking_id}","method":"PATCH/DELETE","description":"Compatibility update or archive adapter"},{"path":"/tracker/summary","method":"GET","description":"Compatibility status projection"}],"auth":{"candidate_workspace":"Authorization: Bearer <candidate connection>; legacy API keys also require owner_id","candidate_agent_messages":"Authorization: Bearer <candidate connection>; legacy keys are not accepted","candidate_agent_tasks":"Authorization: Bearer <candidate connection>; legacy keys are not accepted"},"envelopes":{"public/v1":"Wrapped: {success, data, meta} on 2xx; {success:false, error, message} on errors.","v2":"Passthrough: /api/v2/* returns the upstream read-model payload as-is (no wrapper).","mcp":"JSON-RPC 2.0 per the MCP spec at /api/public/v1/mcp; health probe has its own {status, probes} shape."}},"meta":{"source":"pages-static-public-job-fit","generated_at":"2026-08-27T17:00:46.475613Z","computed_at":"2026-08-29T09:29:21.759Z"}}