API Reference
Exhaustive HTTP for the web app and non-MCP SDK callers. Bots should use MCP + OAuth at mcp.wrok.app/mcp โ not API keys. Agents without MCP use Host mcp.wrok.app.
Base URL: https://mcp.wrok.app ยท Auth: prefer OAuth Bearer. wrok_sk_ is a legacy/proof fallback for these callers only. Implementation alias (do not prefer): https://wrok-agent.fly.dev โ deprecate-soon side door, not the bot install Host.
Authentication
POST/api/v1/auth/signupCreate a new accountPOST/api/v1/auth/loginLog in and get an API keyGET/api/v1/auth/meGet current authenticated userPOST/api/v1/auth/api-keysCreate a new API keyGET/api/v1/auth/api-keysList all API keysDELETE/api/v1/auth/api-keys/{id}Revoke an API keyPOST/api/v1/auth/personal-api-tokensCreate a Muse-class personal API token (shown once)GET/api/v1/auth/personal-api-tokensList personal API tokens (prefix only)DELETE/api/v1/auth/personal-api-tokens/{id}Revoke a personal API tokenProfile
GET/api/v1/profileGet your profilePUT/api/v1/profileUpdate your profileGET/api/v1/career-dataGet all career data (profile + roles + skills + projects + education)Roles
GET/api/v1/rolesList all rolesPOST/api/v1/rolesAdd a new rolePATCH/api/v1/roles/{id}Update a roleDELETE/api/v1/roles/{id}Delete a roleSkills
GET/api/v1/skillsList skills (filter by ?category=)POST/api/v1/skillsAdd or update a skill (upsert)DELETE/api/v1/skills/{id}Delete a skillEducation
GET/api/v1/educationList education entriesPOST/api/v1/educationAdd educationPATCH/api/v1/education/{id}Update educationDELETE/api/v1/education/{id}Delete educationProjects
GET/api/v1/projectsList projectsPOST/api/v1/projectsAdd a projectPATCH/api/v1/projects/{id}Update a projectDELETE/api/v1/projects/{id}Delete a projectBlog
GET/api/v1/blog-preferencesGet writing preferencesPUT/api/v1/blog-preferencesUpdate writing preferencesGET/api/v1/blog-postsList all blog postsPOST/api/v1/blog-postsCreate a blog postGET/api/v1/blog-posts/{id}Get a blog postPUT/api/v1/blog-posts/{id}Update a blog postDELETE/api/v1/blog-posts/{id}Delete a blog postPOST/api/v1/blog-posts/{id}/publishPublish a postPOST/api/v1/blog-posts/{id}/unpublishUnpublish a postJob Applications
GET/api/v1/job-applications/inboxList actionable inbox items (typed next_action)POST/api/v1/job-applications/{id}/advanceExecute typed next_action (enum only)POST/api/v1/job-applications/{id}/tailored-resumeAgency generate_tailored_resume: YAML+PDF via internal wrok-docx; status tailored-resume-generatedGET/api/v1/job-applicationsList applications (filter by ?status=)POST/api/v1/job-applicationsCreate an applicationGET/api/v1/job-applications/{id}Get an applicationPATCH/api/v1/job-applications/{id}Update status (implies next_action), resume_id (YAML+PDF SoR), or advanceDELETE/api/v1/job-applications/{id}Delete an application๐Job-pipeline inbox (bot)โ
MCP Agency tools on /mcp (list_inbox, create_application, advance_application, get_resume, generate_tailored_resume). HTTP is the same ledger for web/SDK.
Profile Page
GET/api/v1/profile-pageGet your profile pagePOST/api/v1/profile-pageCreate a profile pagePUT/api/v1/profile-pageUpdate profile pageDELETE/api/v1/profile-pageDelete profile pagePOST/api/v1/profile-page/publishPublish profile pagePOST/api/v1/profile-page/unpublishUnpublish profile pagePOST/api/v1/profile-page/generateAuto-generate from career dataGET/api/v1/profile-page/check-slug/{slug}Check slug availability (no auth)Resume
POST/api/v1/resumesStore YAML+optional PDF (same Agency Bearer as GET)POST/api/v1/resumes/regenerateRegenerate resume from career dataGET/api/v1/resumesList stored resume versions (Agency Bearer)GET/api/v1/resumes/latestGet latest resume (?format=json|yaml|markdown|pdf)DELETE/api/v1/resumesDelete all resumesChat
POST/chatSend message to AI agent (multipart)POST/chat/streamStream AI response (SSE, multipart)GET/api/v1/conversations/currentGet conversation historyDELETE/api/v1/conversations/currentClear conversationCoding Profile
GET/api/v1/coding-profileGet coding profileGET/api/v1/coding-machinesList development machinesAccount
DELETE/api/v1/user/resetWipe product data; keeps account and API keysPublic (no auth)
GET/api/v1/public/profiles/{slug}View published profileGET/api/v1/public/profiles/{slug}/blogView published blogGET/api/v1/public/profiles/{slug}/blog/{post-slug}View published blog postGET/healthHealth check