Resume Structure Reference
This page provides a comprehensive reference for the resume data structure used by the Enhancv API. This structure is used by both the Create Resume and Retrieve Resume endpoints.
Overview
A resume consists of three main components:
| Field | Type | Description |
|---|
header | object | Contact information and personal details |
sections | object | Resume sections keyed by section type |
title | string | Resume title (optional) |
style | object | Visual styling configuration (optional) |
Field Visibility
The API automatically handles field visibility based on the data you provide:
When Creating Resumes
- Fields with values are visible: If you provide a value for a field (e.g.,
workplace: "Google"), it will be visible on the resume
- Empty fields are hidden: Fields with empty strings, null, or undefined values are automatically hidden
- No manual control needed: You don't need to specify which fields should be visible
When Retrieving Resumes
- Only visible fields are returned: The API only returns fields that are set to be visible on the resume
- Hidden fields are omitted: Fields that are hidden won't appear in the response
- Clean API responses: You receive only the data that's actually displayed on the resume
Example:
// CREATE request
{
"sections": {
"experiences": {
"items": [{
"workplace": "Google",
"position": "Software Engineer",
"description": "", // Empty - will be hidden
"location": "San Francisco"
}]
}
}
}
// RETRIEVE response - description is omitted
{
"sections": {
"experiences": {
"items": [{
"workplace": "Google",
"position": "Software Engineer",
"location": "San Francisco"
}]
}
}
}
Complete Example
Here's a comprehensive example showing all major section types with their fields:
{
"title": "Software Engineer Resume",
"header": {
"name": "John Doe",
"title": "Senior Software Engineer",
"email": "john.doe@example.com",
"phone": "+1 234 567 8900",
"location": "San Francisco, CA",
"website": "https://johndoe.dev"
},
"sections": {
"summaries": {
"name": "Professional Summary",
"column": 0,
"order": 0,
"items": [
{
"text": "Experienced software engineer with 8+ years of expertise."
}
]
},
"experiences": {
"name": "Work Experience",
"column": 0,
"order": 1,
"items": [
{
"workplace": "Tech Company Inc",
"position": "Senior Software Engineer",
"location": "San Francisco, CA",
"dateRange": {
"fromYear": 2020,
"fromMonth": 0,
"toYear": 2024,
"toMonth": 9,
"isOngoing": true
},
"description": "Leading microservices development",
"bullets": [
"Improved system performance by 60%",
"Mentored 5 developers"
],
"link": "https://example.com",
"companyLogo": "https://example.com/logo.png"
}
]
},
"educations": {
"name": "Education",
"column": 0,
"order": 2,
"items": [
{
"institution": "University of California",
"degree": "BS in Computer Science",
"location": "Berkeley, CA",
"dateRange": {
"fromYear": 2014,
"fromMonth": 8,
"toYear": 2018,
"toMonth": 4
},
"gpa": "3.8",
"maxGpa": "4.0",
"gpaText": "GPA",
"bullets": ["Dean's List"],
"companyLogo": "https://example.com/logo.png"
}
]
},
"projects": {
"name": "Projects",
"column": 0,
"order": 3,
"items": [
{
"title": "CI/CD Tool",
"location": "GitHub",
"dateRange": {
"fromYear": 2023,
"fromMonth": 0,
"isOngoing": true
},
"description": "Automation tool",
"bullets": ["500+ GitHub stars"],
"link": "https://github.com/example"
}
]
},
"volunteering": {
"name": "Volunteer Work",
"column": 0,
"order": 4,
"items": [
{
"institution": "Code for Good",
"role": "Mentor",
"location": "San Francisco",
"dateRange": {
"fromYear": 2022,
"fromMonth": 0,
"isOngoing": true
},
"description": "Teaching coding",
"bullets": ["Mentored 20+ students"],
"companyLogo": "https://example.com/logo.png"
}
]
},
"publications": {
"name": "Publications",
"column": 0,
"order": 5,
"items": [
{
"title": "Microservices Best Practices",
"author": "John Doe",
"edition": "IEEE Vol. 38",
"dateRange": {
"fromYear": 2023,
"fromMonth": 5
},
"description": "Architecture guide",
"link": "https://doi.org/example"
}
]
},
"customs": {
"name": "Custom Section",
"column": 0,
"order": 6,
"items": [
{
"title": "Tech Blog",
"description": "Writing about architecture",
"dateRange": {
"fromYear": 2021,
"fromMonth": 0,
"isOngoing": true
},
"icon": "38-free-pencil"
}
]
},
"industryExperiences": {
"name": "Skills",
"column": 1,
"order": 0,
"items": [
{
"name": "JavaScript",
"level": 9,
"icon": "54-free-code"
}
]
},
"skills": {
"name": "Technologies",
"column": 1,
"order": 1,
"items": [
{
"title": "Frontend",
"description": "Web development",
"tags": ["React", "TypeScript"]
}
]
},
"languages": {
"name": "Languages",
"column": 1,
"order": 2,
"items": [
{
"name": "English",
"level": 5,
"levelText": "Native"
}
]
},
"certificates": {
"name": "Certifications",
"column": 1,
"order": 3,
"items": [
{
"title": "AWS Solutions Architect",
"issuer": "Amazon Web Services"
}
]
},
"courses": {
"name": "Courses",
"column": 1,
"order": 4,
"items": [
{
"title": "System Design",
"description": "Advanced course"
}
]
},
"achievements": {
"name": "Achievements",
"column": 1,
"order": 5,
"items": [
{
"title": "Hackathon Winner",
"description": "First place 2023",
"icon": "83-free-prize-award"
}
]
},
"awards": {
"name": "Awards",
"column": 1,
"order": 6,
"items": [
{
"title": "Employee of the Year",
"description": "2023",
"icon": "80-medal-01"
}
]
},
"interests": {
"name": "Interests",
"column": 1,
"order": 7,
"items": [
{
"title": "Photography",
"description": "Landscape photography",
"icon": "99-free-camera"
}
]
},
"strengths": {
"name": "Strengths",
"column": 1,
"order": 8,
"items": [
{
"title": "Problem Solving",
"description": "Analytical thinking",
"icon": "148-brain-01"
}
]
},
"findMeOnline": {
"name": "Online Profiles",
"column": 1,
"order": 9,
"items": [
{
"title": "GitHub",
"link": "https://github.com/johndoe",
"icon": "github"
}
]
},
"books": {
"name": "Reading List",
"column": 1,
"order": 10,
"items": [
{
"title": "Clean Code",
"author": "Robert Martin",
"image": "https://example.com/book.jpg"
}
]
},
"quotes": {
"name": "Quotes",
"column": 1,
"order": 11,
"items": [
{
"quote": "Code is poetry",
"author": "Anonymous"
}
]
},
"references": {
"name": "References",
"column": 1,
"order": 12,
"items": [
{
"name": "Jane Smith",
"contact": "jane@example.com"
}
]
},
"mytime": {
"name": "Time Allocation",
"column": 1,
"order": 13,
"items": [
{
"pieces": 24,
"data": [
{ "title": "Coding", "value": 8 },
{ "title": "Learning", "value": 3 },
{ "title": "Sleep", "value": 7 }
]
}
]
}
},
"style": {
"layout": "double",
"colors": ["#000000", "#008CFF"],
"fontBody": "opensans",
"fontHeading": "montserrat",
"fontSize": 2,
"hideBranding": false,
"isLetterSize": true,
"marginOption": 2,
"pageMarginOption": 3,
"columnLayoutOption": 1,
"lineHeightOption": 1,
"headerExtraSpacing": 0
}
}
The header contains contact information and personal details:
| Field | Type | Description |
|---|
name | string | Full name |
title | string | Professional title |
email | string | Email address |
phone | string | Phone number |
location | string | Location |
website | string | Personal website URL |
Sections Object
The sections object contains all resume sections, where each key is a section type and each value is a section object.
Section Structure
Each section must include:
| Field | Type | Description |
|---|
column | number | REQUIRED Column placement: 0 (left), 1 (right), or 2 (third column, only when style.layout is "multicolumn") |
order | number | Display order (sections are sorted by this value, lower numbers appear first). If not specified, sections maintain their object insertion order |
name | string | Section display name |
items | array | Array of section items |
Available Section Types
experiences - Work experience
educations - Education history
industryExperiences - Skills and competencies
summaries - Professional summary
volunteering - Volunteer work
publications - Publications
projects - Projects and activities
interests - Interests and hobbies
findMeOnline - Social media links
strengths - Personal strengths and talents
skills - Technical skills
customs / customs2 / customs3 - Custom sections
achievements - Achievements and awards
awards - Awards and honors
books - Books and reading list
certificates - Certifications
courses - Courses and training
languages - Language proficiencies
quotes - Favorite quotes
references - Professional references
mytime - Daily schedule or time allocation
additionalExperiences - Additional work experience
additionalPublications - Additional publications
additionalTechnologies - Additional technologies
Section Item Fields
Each section type accepts different fields for its items. All fields are optional unless marked as required.
DateRange Object
Used in sections with date ranges (experiences, educations, publications, etc.):
| Field | Type | Description |
|---|
fromYear | number | Start year |
fromMonth | number | Start month (0-11, where 0=January, 11=December) |
toYear | number | End year |
toMonth | number | End month (0-11, where 0=January, 11=December) |
isOngoing | boolean | Whether the period is ongoing |
experiences / additionalExperiences
| Field | Type | Description |
|---|
workplace | string | Company name |
position | string | Job title |
location | string | Job location |
dateRange | object | Employment period (see DateRange Object) |
description | string | Job description |
bullets | array of strings | Achievement bullet points |
link | string | Company website |
companyLogo | string | Company logo URL |
educations
| Field | Type | Description |
|---|
institution | string | School/University name |
degree | string | Degree or qualification |
location | string | Institution location |
dateRange | object | Study period (see DateRange Object) |
gpa | string | GPA value |
maxGpa | string | Maximum possible GPA (e.g., "4.0") |
gpaText | string | GPA label text |
bullets | array of strings | Achievement bullet points |
companyLogo | string | Institution logo URL |
industryExperiences
| Field | Type | Description |
|---|
name | string | Skill name |
level | number | Proficiency level (0-10) |
icon | string | Icon identifier (see Available Icons) |
summaries
| Field | Type | Description |
|---|
text | string | Summary text content |
volunteering
| Field | Type | Description |
|---|
institution | string | Organization name |
role | string | Volunteer role |
location | string | Organization location |
dateRange | object | Volunteering period (see DateRange Object) |
description | string | Role description |
bullets | array of strings | Achievement bullet points |
companyLogo | string | Organization logo URL |
publications / additionalPublications
| Field | Type | Description |
|---|
title | string | Publication title |
author | string | Author name(s) |
edition | string | Edition/Volume |
dateRange | object | Publication date (see DateRange Object) |
description | string | Publication description |
link | string | Publication URL |
projects
| Field | Type | Description |
|---|
title | string | Project title |
location | string | Project location |
dateRange | object | Project period (see DateRange Object) |
description | string | Project description |
bullets | array of strings | Project highlights |
link | string | Project URL |
customs / customs2 / customs3
| Field | Type | Description |
|---|
title | string | Item title |
description | string | Item description |
dateRange | object | Date range (see DateRange Object) |
icon | string | Icon identifier (see Available Icons) |
achievements
| Field | Type | Description |
|---|
title | string | Achievement title |
description | string | Achievement description |
icon | string | Icon identifier (see Available Icons) |
awards
| Field | Type | Description |
|---|
title | string | Award title |
description | string | Award description |
icon | string | Icon identifier (see Available Icons) |
books
| Field | Type | Description |
|---|
title | string | Book title |
author | string | Author name |
image | string | Book cover image URL |
certificates
| Field | Type | Description |
|---|
title | string | Certificate title |
issuer | string | Issuing organization |
courses
| Field | Type | Description |
|---|
title | string | Course title |
description | string | Course description |
languages
| Field | Type | Description |
|---|
name | string | Language name |
level | number | Proficiency level (0-5) |
levelText | string | Proficiency level text (e.g., "Native", "Fluent") |
interests
| Field | Type | Description |
|---|
title | string | Interest title |
description | string | Interest description |
icon | string | Icon identifier (see Available Icons) |
quotes
| Field | Type | Description |
|---|
quote | string | Quote text |
author | string | Quote author |
references
| Field | Type | Description |
|---|
name | string | Reference name |
contact | string | Contact information |
findMeOnline
| Field | Type | Description |
|---|
title | string | Platform name |
link | string | Profile URL |
icon | string | Icon identifier (see Available Icons) |
strengths
| Field | Type | Description |
|---|
title | string | Strength title |
description | string | Strength description |
icon | string | Icon identifier (see Available Icons) |
skills / additionalTechnologies
| Field | Type | Description |
|---|
title | string | Technology category |
description | string | Category description |
tags | array of strings | List of technologies |
mytime
| Field | Type | Description |
|---|
pieces | number | Total number of time pieces |
data | array of objects | Array of time allocation objects, each with title (string) and value (number) |
Style Object
The style object supports the following optional fields:
| Field | Type | Description |
|---|
layout | string | Layout template (see Template Reference for the mapping of API values to template names) |
colors | array | Array of two hex colors (e.g., ["#000000", "#008CFF"]) |
fontBody | string | Body font name (see Available Body Fonts) |
fontHeading | string | Heading font name (see Available Heading Fonts) |
fontSize | number | Font size option (0-4) |
hideBranding | boolean | Hide Enhancv branding |
isLetterSize | boolean | Use letter size (8.5×11") instead of A4 |
marginOption | number | Margin size option (0-4) |
pageMarginOption | number | Page margin size option (0-5) |
columnLayoutOption | number | Column layout option (0-3) |
lineHeightOption | number | Line height option (0-2) |
headerExtraSpacing | number | Extra spacing for header (0-4) |
Available Body Fonts
The following fonts are available for fontBody in the style object:
opensans - Open Sans
roboto - Roboto
ptsans - PT Sans
interui - Inter
Available Heading Fonts
The following fonts are available for fontHeading in the style object:
rubik - Rubik
arimo - Arimo
lato - Lato
raleway - Raleway
bitter - Bitter
exo - Exo 2
exolocked - Exo 2 (locked)
chivo - Chivo
chivolocked - Chivo (locked)
montserrat - Montserrat
tinos - Tinos
montserratlocked - Montserrat (locked)
oswald - Oswald
oswaldlocked - Oswald (locked)
volkhov - Volkhov
robotoslab - Roboto Slab
playfair - Playfair Display
abril - Abril Fatface
gelasio - Gelasio
Available Icons
The following 230+ icons are available for use in sections that support icons (achievements, awards, customs, interests, findMeOnline, strengths, industryExperiences):
Click to expand full icon list
001-free-plus
02-free-check-mark
03-free-search-find
04-eye
05-pin-map
06-free-cog-gear
07-folder-open
08-email-envelope
09-free-flash
10-infinity
100-picasa
101-target-01
102-megaphone
103-address
104-free-plane-airport
105-hiking-01
106-free-home-1
107-football-01
108-baseball-01
109-map
11-light-up
110-run-01
111-mountine-01
112-table-tennis-01
113-yoga-01
114-swimming-01
115-tennis-01
116-volleyball-01
117-weight-01
118-surf-01
119-soccer-01
12-paper-clip
120-snowboard-01
121-free-basketball-01
122-bike-01
123-skate-01
124-golf
125-leaf-1
126-droplet
127-winter-01
128-fire-01
129-free-heart
13-trash-bin
130-gamepad
131-smiley-frown
132-smile
133-magic-wand
135-glass
136-bomb
137-sword-01
138-superman-01
139-free-diamond-01
14-free-talk-chat
140-shoe-01
141-binocles-01
142-quote-right
143-feather
144-chess-01
145-group
146-female
147-free-male
148-brain-01
149-cat-01
15-tools
150-bone
151-dog-01
152-ninja-01
153-deer-01
154-carrot-01
155-healty-01
156-robot-01
157-horse-01
158-luck-01
159-peace-01
16-like
160-yinyung-01
17-link
19-volunteer-01
20-target
21-free-star
22-free-star-half
23-free-star-two
24-key
25-free-facebook
26-linkedin
27-pinterest-1
28-instagram
29-twitter
30-youtube
31-google-plus
32-windows
33-apple
34-behance
35-github
36-book
37-free-brush
38-free-pencil
39-crop
40-free-calendar
41-bell-1
42-free-call-phone
43-free-clock
44-free-lightbulb
45-floppy
46-free-screen-desktop
47-mobile
48-file-text
49-ruler-01
50-cloud
51-harddrive
52-window-list
53-flow-tree
54-free-code
55-bug
56-database
57-gauge
58-free-share
59-seo-01
60-talk-01
61-free-project-01
62-plan-01
63-paperplane-01
64-rocket
65-legal
66-doctor-hearth-01
67-doctor-01
68-hourglass
69-bitcoin
70-globe
71-translate-01
72-truck
73-mic
75-free-music-note
76-guitar-01
76-piano-01
77-awardplace-01
78-awardplace-02
79-awardplace-03
80-medal-01
81-free-graduation-cap
82-crown-01
83-free-prize-award
84-flag
85-science-01
86-science-laboratory
87-cc
88-certificate-01
89-basket
90-tag-2
91-new
92-hear-01
93-puzzle
94-marketing-01
95-chart-bar
96-chart-pie
97-filmstrip
98-free-video-camera
99-free-camera
accessible
anchor-1
angellist
battery-charging
black-tie
car-1
child
code
dice
discord-logo
dollar
dribble
facebook-square
figma
flag-goal
flickr
gears-setting
git-square
github
github-square
google-plus-square
handshake
headphone
holdingheart
kaggle-brands
lightbulb
mappinned
medium
pinterest
pinterest-square
planet
qq
quora
rain
recycle
reddit
reddit-square
renren
renren-1
ribbon
robot
rocket
skype
skype-1
slideshare
snow
social-500px
social-blogger
social-medium
social-reddit
sort-alpha-asc
soundcloud
spotify
stack-exchange
stack-overflow
star
suitcase
sun-fill
tumblr
tumblr-square
viber-brands
vimeo
vimeo-square
vk
volleyball
weibo
weixin
whatsapp
wikipedia-w
wordpress-alt
youtube-play
youtube-square