Retrieve Resume
GET /api/v1/resumes/:idRetrieve a single resume's complete data in the Enhancv analyzer format. This returns the same structure expected by the Create Resume endpoint.
Request
Headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | REQUIRED |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Resume ID (from List Resumes endpoint) REQUIRED |
Response
Success Response
Status Code: 200 OK
{
"header": {
"name": "John Doe",
"title": "Senior Software Engineer",
"email": "john@example.com",
"phone": "+1 234 567 8900",
"location": "San Francisco, CA"
},
"sections": {
"experiences": {
"name": "Experience",
"column": 0,
"order": 0,
"items": [
{
"workplace": "Tech Company Inc",
"position": "Senior Software Engineer",
"location": "San Francisco, CA",
"dateRange": {
"fromYear": 2020,
"fromMonth": 0,
"toYear": 2024,
"toMonth": 2
},
"description": "Led development of key features",
"bullets": [
"Improved system performance by 40%",
"Mentored 5 junior developers"
]
}
]
},
"educations": {
"name": "Education",
"column": 0,
"order": 1,
"items": [
{
"institution": "University of California",
"degree": "Bachelor of Science in Computer Science",
"location": "Berkeley, CA",
"dateRange": {
"fromYear": 2012,
"fromMonth": 8,
"toYear": 2016,
"toMonth": 4
}
}
]
},
"industryExperiences": {
"name": "Skills",
"column": 1,
"order": 2,
"items": [
{
"name": "JavaScript",
"level": 5
}
]
}
},
"title": "Software Engineer Resume",
"style": {
"layout": "double",
"colors": ["#000000", "#008CFF"]
}
}
Response Structure
The response contains the complete resume data in analyzer format:
| Field | Type | Description |
|---|---|---|
header | object | Contact information and personal details |
sections | object | Resume sections keyed by section type. Each section includes column (0, 1, or 2), order (display order), name, and items |
title | string | Resume title (optional) |
style | object | Visual styling configuration including layout, colors, fontBody, fontHeading, hideBranding, isLetterSize, and more (optional) |
Examples
Basic Request
curl https://api.enhancv.com/api/v1/resumes/64f1a2b3c4d5e6f7g8h9i0j1 \
-H "Authorization: Bearer enh_live_your_api_key_here"
const resumeId = '64f1a2b3c4d5e6f7g8h9i0j1';
const response = await fetch(
`https://api.enhancv.com/api/v1/resumes/${resumeId}`,
{
headers: {
'Authorization': 'Bearer enh_live_your_api_key_here'
}
}
);
const resume = await response.json();
console.log(resume);
import requests
resume_id = '64f1a2b3c4d5e6f7g8h9i0j1'
response = requests.get(
f'https://api.enhancv.com/api/v1/resumes/{resume_id}',
headers={'Authorization': 'Bearer enh_live_your_api_key_here'}
)
resume = response.json()
print(resume)
Retrieve and Modify
// Retrieve existing resume
const response = await fetch(
`https://api.enhancv.com/api/v1/resumes/${resumeId}`,
{
headers: {
'Authorization': `Bearer ${apiKey}`
}
}
);
const resume = await response.json();
// Modify the resume
resume.title = 'Updated Resume Title';
resume.header.title = 'Lead Software Engineer';
// Create a new resume with modifications
const createResponse = await fetch(
'https://api.enhancv.com/api/v1/resumes',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(resume)
}
);
const newResume = await createResponse.json();
console.log('Created new resume:', newResume.id);
Error Responses
401 Unauthorized
Missing or invalid API key.
{
"error": "Invalid API key",
"status": 401
}
404 Not Found
Resume not found or doesn't belong to your account.
{
"error": "Resume not found",
"status": 404
}
Notes
- The response format matches the input format expected by the Create Resume endpoint
- Field visibility: Only fields that are visible on the resume are returned. Hidden fields (where visibility is set to
false) are automatically omitted - All internal fields (like
record,show*fields) are automatically removed from the response - Use this endpoint to retrieve a resume, modify it, and create a new version
- Cover letters are not accessible through this endpoint
- The response includes all sections and their complete data
Field Visibility Behavior
When you retrieve a resume, the API only returns fields that are visible on the resume:
// If a resume was created with some fields hidden:
{
"sections": {
"experiences": {
"items": [{
"workplace": "Google",
"position": "Engineer",
"description": "", // Empty - hidden
"location": "NYC"
}]
}
}
}
// The retrieve response will omit hidden fields:
{
"sections": {
"experiences": {
"items": [{
"workplace": "Google",
"position": "Engineer",
"location": "NYC"
// description is omitted because it's hidden
}]
}
}
}
This ensures the retrieved data accurately represents what's actually displayed on the resume.
Resume Structure Reference
For detailed information about the resume data structure returned by this endpoint, including:
- Available section types (27 types including experiences, educations, skills, etc.)
- Complete field definitions for each section type
- DateRange object structure
- Style object configuration
- Available icons (230+ icons)
Please refer to the Resume Structure Reference page.