Overview
The resume API generates resume items by analyzing your project contributions and extracting demonstrable insights. Resume items are stored as ProjectEvidence records linked to projects.Get Resume Items
Retrieve all resume items, sorted by project recency.GET /resume
Filter resume items by project (repo_stat_id). Omit to get items from all projects
Resume item ID
Resume item title/headline
Detailed description of the accomplishment
Category (e.g., “Backend Development”, “DevOps”)
Associated project name
Your role in the project
When the resume item was created
Resume items are sorted by project’s last commit (newest first) to prioritize recent work.
Get Single Resume Item
Retrieve a specific resume item by ID.GET /resume/{resume_id}
Resume item ID to retrieve
404- Resume item not found or associated project is deleted
Generate Resume Items
Generate resume items for selected projects using AI analysis.POST /resume/generate
List of project IDs (repo_stat IDs) to generate resume items for. Must contain at least one ID
If
true, delete existing ProjectEvidence and legacy ResumeItem rows before regeneratingtrue if generation completed without critical errorsTotal number of evidence items created (not resume items)
Always empty list. Insights are stored as ProjectEvidence, not ResumeItem rows
Consent level used for generation:
full, no_llm, or noneList of critical errors encountered during generation
List of non-critical warnings (e.g., git metadata collection failures)
Success Semantics
success=true: All projects were processed without errorssuccess=false: One or more projects encountered critical errorsitems_generated: Count of evidence items createdresume_items: Always empty (insights stored as ProjectEvidence)
How to Get Project IDs
Project IDs are the database primary keys forRepoStat entries:
- List all projects:
GET /projectsreturns all projects with IDs - Get specific project:
GET /projects/{project_id}returns details - After analysis:
POST /analyze/{zip_id}response includes project IDs
400- User email not configured404- One or more project IDs not found or deleted500- Database commit failed
Edit Resume Item
Update a resume item’s title, content, and/or category.POST /resume/{resume_id}/edit
Resume item ID to edit
New title for the resume item (min 1 character)
New content for the resume item (min 1 character)
New category for the resume item (min 1 character)
At least one field (title, content, or category) must be provided. Partial updates are supported.
404- Resume item not found or associated project is deleted422- No fields provided or validation error500- Database update failed
Generation Process
When you callPOST /resume/generate, the following happens:
- Validation: Verify all project IDs exist and are not soft-deleted
- User Context: Retrieve user email and consent level
- For Each Project:
- Optionally delete existing evidence/resume items (if
regenerate=true) - Collect user contributions from git history
- Run DeepRepoAnalyzer to extract skills and insights
- Persist insights as ProjectEvidence (not ResumeItem)
- Optionally delete existing evidence/resume items (if
- Response: Return generation results with evidence count
Regeneration
Whenregenerate=true:
- Deletes existing
ProjectEvidencerows for the project - Deletes legacy
ResumeItemrows for the project - Re-analyzes the project from scratch
- Useful for updating insights after code changes
Example: Complete Resume Workflow
Related Endpoints
- GET /projects/ - View evidence for a project
- POST /analyze/ - Analyze repositories first
- POST /portfolio/generate - Include resume items in portfolio