mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-10-02 17:54:22 +10:00
Resumes no longer hold cover-letter sections. A migration saves every letter a resume carried as a letter linked to that resume's details and design, hands a resume's only letter to its only letter-less application, then removes the sections from resumes and their layouts. rollback.sql puts them back. Every resume write on the server moves any letter it still carries into a saved letter in the same transaction, so stale tabs, older files, API clients and restored versions keep working without duplicating letters. The resume editor no longer adds or imports letters, the resume download drops its Cover letter tab, and resume PDF downloads (API, signed links, MCP) no longer take a cover-letter target. copy_embedded_cover_letter and POST /cover-letters/from-resume are removed.
50982 lines
1.7 MiB
Plaintext
50982 lines
1.7 MiB
Plaintext
{
|
|
"info": {
|
|
"title": "Reactive Resume",
|
|
"version": "5.3.2",
|
|
"description": "Reactive Resume API",
|
|
"license": {
|
|
"name": "MIT",
|
|
"url": "https://github.com/reactive-resume/reactive-resume/blob/main/LICENSE"
|
|
},
|
|
"contact": {
|
|
"name": "Amruth Pillai",
|
|
"email": "hello@amruthpillai.com",
|
|
"url": "https://amruthpillai.com"
|
|
}
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://rxresu.me/api/openapi"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/api/health": {
|
|
"get": {
|
|
"operationId": "getHealth",
|
|
"tags": [
|
|
"System"
|
|
],
|
|
"summary": "Get application health and version",
|
|
"description": "Checks database and storage availability. Does not require authentication.",
|
|
"servers": [
|
|
{
|
|
"url": "https://rxresu.me"
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The application and its dependencies are healthy.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"service": {
|
|
"type": "string",
|
|
"enum": [
|
|
"reactive-resume"
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "The running application's build version."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy"
|
|
]
|
|
},
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"uptime": {
|
|
"type": "string"
|
|
},
|
|
"database": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy"
|
|
]
|
|
},
|
|
"latencyMs": {
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"description": "Generic failure message. Detailed diagnostics are logged on the server."
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"latencyMs"
|
|
],
|
|
"additionalProperties": true
|
|
},
|
|
"storage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy"
|
|
]
|
|
},
|
|
"latencyMs": {
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"description": "Generic failure message. Detailed diagnostics are logged on the server."
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"latencyMs"
|
|
],
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"required": [
|
|
"service",
|
|
"version",
|
|
"status",
|
|
"timestamp",
|
|
"uptime",
|
|
"database",
|
|
"storage"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "One or more application dependencies are unhealthy.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"service": {
|
|
"type": "string",
|
|
"enum": [
|
|
"reactive-resume"
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"description": "The running application's build version."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy"
|
|
]
|
|
},
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"uptime": {
|
|
"type": "string"
|
|
},
|
|
"database": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy"
|
|
]
|
|
},
|
|
"latencyMs": {
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"description": "Generic failure message. Detailed diagnostics are logged on the server."
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"latencyMs"
|
|
],
|
|
"additionalProperties": true
|
|
},
|
|
"storage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy"
|
|
]
|
|
},
|
|
"latencyMs": {
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"description": "Generic failure message. Detailed diagnostics are logged on the server."
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"latencyMs"
|
|
],
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"required": [
|
|
"service",
|
|
"version",
|
|
"status",
|
|
"timestamp",
|
|
"uptime",
|
|
"database",
|
|
"storage"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/parse-pdf": {
|
|
"post": {
|
|
"operationId": "parseResumePdf",
|
|
"summary": "Parse a PDF file into resume data",
|
|
"description": "Extracts structured resume data from a PDF file using the specified AI provider. The file should be sent as a base64-encoded string along with AI provider credentials. Returns a complete ResumeData object. Requires authentication.",
|
|
"tags": [
|
|
"AI"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aiProviderId": {
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "string",
|
|
"maxLength": 13981018
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The PDF was successfully parsed into structured resume data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI returned an improperly formatted structure."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/parse-docx": {
|
|
"post": {
|
|
"operationId": "parseResumeDocx",
|
|
"summary": "Parse a DOCX file into resume data",
|
|
"description": "Extracts structured resume data from a DOCX or DOC file using the specified AI provider. The file should be sent as a base64-encoded string along with AI provider credentials and the document's media type. Returns a complete ResumeData object. Requires authentication.",
|
|
"tags": [
|
|
"AI"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aiProviderId": {
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "string",
|
|
"maxLength": 13981018
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"mediaType": {
|
|
"enum": [
|
|
"application/msword",
|
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file",
|
|
"mediaType"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The DOCX was successfully parsed into structured resume data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI returned an improperly formatted structure."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/ats-review": {
|
|
"post": {
|
|
"operationId": "atsReview",
|
|
"summary": "Review extracted resume text",
|
|
"description": "Reviews the plain text extracted from a resume PDF and returns qualitative feedback: a summary, rewrite suggestions, strengths, and — when a job description is supplied — how the candidate's experience lines up with the role. Deliberately returns no score: the deterministic ATS report owns the only number in this feature. Requires authentication and AI credentials.",
|
|
"tags": [
|
|
"AI"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aiProviderId": {
|
|
"type": "string"
|
|
},
|
|
"extractedText": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 50000
|
|
},
|
|
"findings": {
|
|
"type": "array",
|
|
"maxItems": 120,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string",
|
|
"maxLength": 64
|
|
},
|
|
"severity": {
|
|
"type": "string",
|
|
"maxLength": 16
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"maxLength": 300
|
|
}
|
|
},
|
|
"required": [
|
|
"code",
|
|
"severity",
|
|
"message"
|
|
]
|
|
},
|
|
"default": []
|
|
},
|
|
"jobDescription": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"passages": {
|
|
"type": "array",
|
|
"maxItems": 120,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 16,
|
|
"description": "The client's id for the passage, echoed back as `passageId`."
|
|
},
|
|
"where": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"description": "Where the passage sits, e.g. “Experience · Lumen · bullet 2”."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"maxLength": 1000
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"where",
|
|
"text"
|
|
]
|
|
},
|
|
"default": [],
|
|
"description": "Bullets and paragraphs the review may rewrite. A suggestion that rewrites one names it in `passageId`, with the whole new passage in `rewrite`."
|
|
}
|
|
},
|
|
"required": [
|
|
"extractedText"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "Qualitative review returned successfully.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"summary": {
|
|
"type": "string"
|
|
},
|
|
"suggestions": {},
|
|
"strengths": {},
|
|
"jdAlignment": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"verdict": {
|
|
"type": "string"
|
|
},
|
|
"missingConcepts": {},
|
|
"strengths": {}
|
|
},
|
|
"required": [
|
|
"verdict"
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"summary",
|
|
"jdAlignment"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI returned an improperly formatted structure."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/improve": {
|
|
"post": {
|
|
"operationId": "improveLine",
|
|
"summary": "Suggest a rewrite of one line",
|
|
"description": "Suggests a rewrite of one line of a resume or cover letter: a stronger verb, an added result, a shorter version, or the user's own request. Returns the new line, a short reason, and whether it states anything the input didn't, so the user can check it. Writes nothing. Requires authentication and AI credentials.",
|
|
"tags": [
|
|
"AI"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aiProviderId": {
|
|
"type": "string"
|
|
},
|
|
"line": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 2000
|
|
},
|
|
"action": {
|
|
"enum": [
|
|
"verb",
|
|
"result",
|
|
"shorter",
|
|
"custom"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"request": {
|
|
"type": "string",
|
|
"maxLength": 500
|
|
},
|
|
"where": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"context": {
|
|
"type": "string",
|
|
"maxLength": 10000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"line",
|
|
"action"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The suggested line.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"why": {
|
|
"type": "string"
|
|
},
|
|
"addsFacts": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"text",
|
|
"why",
|
|
"addsFacts"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI returned an improperly formatted structure."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai-providers": {
|
|
"get": {
|
|
"operationId": "listAiProviders",
|
|
"summary": "List saved AI providers",
|
|
"description": "Lists saved provider/model/API key combinations for the authenticated user. API keys are redacted.",
|
|
"tags": [
|
|
"AI Providers"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"412": {
|
|
"description": "412",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "PRECONDITION_FAILED"
|
|
},
|
|
"status": {
|
|
"const": 412
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI agent workspace is not configured."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "createAiProvider",
|
|
"summary": "Create saved AI provider",
|
|
"description": "Stores an encrypted provider/model/API key combination. The key is never returned.",
|
|
"tags": [
|
|
"AI Providers"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"provider": {
|
|
"enum": [
|
|
"openai",
|
|
"anthropic",
|
|
"gemini",
|
|
"vercel-ai-gateway",
|
|
"openrouter",
|
|
"mistral",
|
|
"cohere",
|
|
"xai",
|
|
"groq",
|
|
"deepseek",
|
|
"togetherai",
|
|
"fireworks",
|
|
"cerebras",
|
|
"perplexity",
|
|
"ollama",
|
|
"openai-compatible"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"baseURL": {
|
|
"type": "string"
|
|
},
|
|
"apiKey": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"label",
|
|
"provider",
|
|
"model",
|
|
"apiKey"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid AI provider configuration."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"412": {
|
|
"description": "412",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "PRECONDITION_FAILED"
|
|
},
|
|
"status": {
|
|
"const": 412
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI agent workspace is not configured."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai-providers/{id}": {
|
|
"patch": {
|
|
"operationId": "updateAiProvider",
|
|
"summary": "Update saved AI provider",
|
|
"description": "Updates a saved provider/model/API key combination. Updating the key requires retesting before use.",
|
|
"tags": [
|
|
"AI Providers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"provider": {
|
|
"enum": [
|
|
"openai",
|
|
"anthropic",
|
|
"gemini",
|
|
"vercel-ai-gateway",
|
|
"openrouter",
|
|
"mistral",
|
|
"cohere",
|
|
"xai",
|
|
"groq",
|
|
"deepseek",
|
|
"togetherai",
|
|
"fireworks",
|
|
"cerebras",
|
|
"perplexity",
|
|
"ollama",
|
|
"openai-compatible"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"baseURL": {
|
|
"type": "string"
|
|
},
|
|
"apiKey": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid AI provider configuration."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "404",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "NOT_FOUND"
|
|
},
|
|
"status": {
|
|
"const": 404
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI provider was not found."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"412": {
|
|
"description": "412",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "PRECONDITION_FAILED"
|
|
},
|
|
"status": {
|
|
"const": 412
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI agent workspace is not configured."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteAiProvider",
|
|
"summary": "Delete saved AI provider",
|
|
"description": "Deletes a saved provider/model/API key combination.",
|
|
"tags": [
|
|
"AI Providers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"412": {
|
|
"description": "412",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "PRECONDITION_FAILED"
|
|
},
|
|
"status": {
|
|
"const": 412
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI agent workspace is not configured."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai-providers/{id}/test": {
|
|
"post": {
|
|
"operationId": "testAiProvider",
|
|
"summary": "Test saved AI provider",
|
|
"description": "Decrypts the saved API key server-side and validates the provider/model connection.",
|
|
"tags": [
|
|
"AI Providers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid AI provider configuration."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "404",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "NOT_FOUND"
|
|
},
|
|
"status": {
|
|
"const": 404
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI provider was not found."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"412": {
|
|
"description": "412",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "PRECONDITION_FAILED"
|
|
},
|
|
"status": {
|
|
"const": 412
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "AI agent workspace is not configured."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/threads": {
|
|
"get": {
|
|
"operationId": "listAgentThreads",
|
|
"summary": "List agent threads",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "startAgentThread",
|
|
"summary": "Start a conversation about a document",
|
|
"description": "Starts an assistant conversation about one resume or cover letter, using the given tested provider or the default one. The assistant reads the document and proposes edits; it never changes the document itself.",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resumeId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"coverLetterId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"aiProviderId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/threads/{id}": {
|
|
"get": {
|
|
"operationId": "getAgentThread",
|
|
"summary": "Get agent thread",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"operationId": "updateAgentThread",
|
|
"summary": "Switch a conversation's model",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aiProviderId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"aiProviderId"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteAgentThread",
|
|
"summary": "Delete agent thread",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/messages/send": {
|
|
"post": {
|
|
"operationId": "sendAgentMessage",
|
|
"summary": "Send agent message",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"threadId": {
|
|
"type": "string"
|
|
},
|
|
"message": {},
|
|
"attachmentIds": {
|
|
"type": "array",
|
|
"maxItems": 10,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"context": {
|
|
"type": "object",
|
|
"properties": {
|
|
"document": {
|
|
"type": "boolean",
|
|
"description": "Share the open document (on by default)."
|
|
},
|
|
"posting": {
|
|
"type": "boolean",
|
|
"description": "Share the job posting it's for (on by default)."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"threadId",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/messages/stop": {
|
|
"post": {
|
|
"operationId": "stopAgentMessage",
|
|
"summary": "Stop active agent run",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"threadId": {
|
|
"type": "string"
|
|
},
|
|
"partialMessage": {}
|
|
},
|
|
"required": [
|
|
"threadId"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/messages/resume": {
|
|
"get": {
|
|
"operationId": "resumeAgentMessages",
|
|
"summary": "Resume agent message stream",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "threadId",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/messages/edit-status": {
|
|
"post": {
|
|
"operationId": "setAgentEditStatus",
|
|
"summary": "Record what happened to proposed edits",
|
|
"description": "Records that proposed edits were accepted, rejected, or are pending again (after an undo), so past conversations show their outcome.",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"threadId": {
|
|
"type": "string"
|
|
},
|
|
"messageId": {
|
|
"type": "string"
|
|
},
|
|
"toolCallId": {
|
|
"type": "string"
|
|
},
|
|
"edits": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 50,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"pending",
|
|
"accepted",
|
|
"rejected"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"threadId",
|
|
"messageId",
|
|
"toolCallId",
|
|
"edits"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"editsProposed": {
|
|
"type": "number"
|
|
},
|
|
"editsAccepted": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"editsProposed",
|
|
"editsAccepted"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/attachments": {
|
|
"post": {
|
|
"operationId": "createAgentAttachment",
|
|
"summary": "Create agent attachment",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"threadId": {
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"mediaType": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"data": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"threadId",
|
|
"filename",
|
|
"mediaType",
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/agent/attachments/{id}": {
|
|
"delete": {
|
|
"operationId": "deleteAgentAttachment",
|
|
"summary": "Delete agent attachment",
|
|
"tags": [
|
|
"Agent"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications": {
|
|
"get": {
|
|
"operationId": "listApplications",
|
|
"summary": "List job applications",
|
|
"description": "Returns all job applications belonging to the authenticated user, most recently updated first. Optionally filter by pipeline stage. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"in": "query",
|
|
"schema": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
},
|
|
{
|
|
"name": "tags",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"style": "deepObject",
|
|
"explode": true,
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A list of the user's job applications.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "createApplication",
|
|
"summary": "Create a job application",
|
|
"description": "Creates a new job application in the pipeline. Company and role are required; all other fields (stage, location, salary, source, linked resume, follow-up, notes, contacts) are optional. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"stageEnteredAt": {
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"company",
|
|
"role"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The ID of the newly created application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the created application."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}": {
|
|
"get": {
|
|
"operationId": "getApplication",
|
|
"summary": "Get application by ID",
|
|
"description": "Returns a single job application with its full detail (contacts, activity timeline, linked resume). Only applications belonging to the authenticated user can be retrieved. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The job application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "updateApplication",
|
|
"summary": "Update a job application",
|
|
"description": "Updates one or more fields of an application, including moving it to a different pipeline stage or archiving it. Moving stages automatically appends an entry to the activity timeline. Only provided fields are changed. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why the application closed; kept when status stays closed, cleared by any other stage."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteApplication",
|
|
"summary": "Delete a job application",
|
|
"description": "Permanently deletes a job application. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The application was deleted successfully.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/import": {
|
|
"post": {
|
|
"operationId": "importApplications",
|
|
"summary": "Bulk import applications",
|
|
"description": "Creates many applications at once from a parsed CSV. Each item requires company and role. Returns the number imported. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 500,
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"stageEnteredAt": {
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"company",
|
|
"role"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"items"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The number of applications imported.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imported": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"imported"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/documents/{kind}": {
|
|
"post": {
|
|
"operationId": "attachApplicationDocument",
|
|
"summary": "Attach an application document",
|
|
"description": "Uploads and attaches a PDF document to an application. Kind must be either resume or cover-letter. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "kind",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"enum": [
|
|
"resume",
|
|
"cover-letter"
|
|
],
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string",
|
|
"contentMediaType": "application/pdf"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "removeApplicationDocument",
|
|
"summary": "Remove an application document",
|
|
"description": "Removes a resume or cover-letter PDF from an application and clears the stored document fields. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "kind",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"enum": [
|
|
"resume",
|
|
"cover-letter"
|
|
],
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/notes": {
|
|
"post": {
|
|
"operationId": "addApplicationNote",
|
|
"summary": "Log a note on the timeline",
|
|
"description": "Appends a free-text note to the application's activity timeline. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"text"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/interviews": {
|
|
"post": {
|
|
"operationId": "addApplicationInterview",
|
|
"summary": "Schedule an interview",
|
|
"description": "Adds an interview (screening, technical, behavioral, onsite or other) with a scheduled date-time to the application's activity timeline. Applications can have any number of interviews. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Scheduled start, as an ISO 8601 date-time."
|
|
}
|
|
},
|
|
"required": [
|
|
"kind",
|
|
"at"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/interviews/{entryId}": {
|
|
"put": {
|
|
"operationId": "updateApplicationInterview",
|
|
"summary": "Update a scheduled interview",
|
|
"description": "Updates an interview timeline entry (date-time, kind, duration, location, notes). Only provided fields are changed. Delete interviews with the timeline entry delete endpoint. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "entryId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Scheduled start, as an ISO 8601 date-time."
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/timeline/{entryId}": {
|
|
"put": {
|
|
"operationId": "updateApplicationTimelineEntry",
|
|
"summary": "Update a timeline entry",
|
|
"description": "Updates a stage or note timeline entry date, or note text for note entries. Interview entries are rejected; use updateApplicationInterview. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "entryId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteApplicationTimelineEntry",
|
|
"summary": "Delete a timeline entry",
|
|
"description": "Deletes a note or older stage entry. The current stage entry cannot be deleted. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "entryId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated application.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the application."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The company applied to."
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The role / job title."
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"salary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string",
|
|
"description": "The current pipeline stage. `closed` ends it, with a reason."
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Why a closed application ended: not-selected, withdrew, accepted-other or no-response."
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked Reactive Resume, if any."
|
|
},
|
|
"coverLetterId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The linked saved cover letter, if any."
|
|
},
|
|
"sentResumeVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked resume saved when the application was sent (reached Applied)."
|
|
},
|
|
"sentCheckScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume's Check score when it was sent, out of 100."
|
|
},
|
|
"sentCoverLetterVersionId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The version of the linked letter saved when the application was sent."
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"jobDescription": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, as read when the application was added."
|
|
},
|
|
"matchScore": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"aiMetadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"notes": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeFileName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"coverLetterName": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"followUpNote": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"contacts": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"default": ""
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"activity": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "stage"
|
|
},
|
|
"stage": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"stage"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "note"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"type": {
|
|
"const": "interview"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"screening",
|
|
"technical",
|
|
"behavioral",
|
|
"onsite",
|
|
"other"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"durationMinutes": {
|
|
"type": "integer",
|
|
"minimum": 5,
|
|
"maximum": 1440,
|
|
"default": 60
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"maxLength": 500,
|
|
"default": ""
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"maxLength": 5000,
|
|
"default": ""
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"at",
|
|
"type",
|
|
"kind"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"appliedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary",
|
|
"status",
|
|
"closedReason",
|
|
"resumeId",
|
|
"coverLetterId",
|
|
"sentResumeVersionId",
|
|
"sentCheckScore",
|
|
"sentCoverLetterVersionId",
|
|
"source",
|
|
"tags",
|
|
"sourceUrl",
|
|
"jobDescription",
|
|
"requirements",
|
|
"matchScore",
|
|
"aiMetadata",
|
|
"notes",
|
|
"resumeFileUrl",
|
|
"resumeFileName",
|
|
"coverLetterUrl",
|
|
"coverLetterName",
|
|
"followUpAt",
|
|
"followUpNote",
|
|
"contacts",
|
|
"activity",
|
|
"appliedAt",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/bulk-update": {
|
|
"post": {
|
|
"operationId": "bulkUpdateApplications",
|
|
"summary": "Bulk update applications",
|
|
"description": "Applies the same change (move stage, archive/unarchive, add tags) to multiple applications at once. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 200,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"closedReason": {
|
|
"anyOf": [
|
|
{
|
|
"enum": [
|
|
"not-selected",
|
|
"withdrew",
|
|
"accepted-other",
|
|
"no-response"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"addTags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The number of applications updated.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"updated": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"updated"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/bulk-delete": {
|
|
"post": {
|
|
"operationId": "bulkDeleteApplications",
|
|
"summary": "Bulk delete applications",
|
|
"description": "Permanently deletes multiple applications at once. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 200,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The number of applications deleted.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"deleted": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"deleted"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/stats": {
|
|
"get": {
|
|
"operationId": "getApplicationStats",
|
|
"summary": "Application pipeline stats",
|
|
"description": "Returns aggregate counts (per stage, per source) for the Insights view. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Aggregate application counts.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "number"
|
|
},
|
|
"byStage": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"enum": [
|
|
"saved",
|
|
"applied",
|
|
"screening",
|
|
"interview",
|
|
"offer",
|
|
"closed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"count": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"count"
|
|
]
|
|
}
|
|
},
|
|
"bySource": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"count": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"count"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"total",
|
|
"byStage",
|
|
"bySource"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/tags": {
|
|
"get": {
|
|
"operationId": "listApplicationTags",
|
|
"summary": "List application tags",
|
|
"description": "Returns the distinct tags used across the user's applications. Requires authentication.",
|
|
"tags": [
|
|
"Applications"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Distinct tags.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/ai/parse-posting": {
|
|
"post": {
|
|
"operationId": "aiParseApplicationPosting",
|
|
"summary": "Read a job posting",
|
|
"description": "Reads a job link or pasted posting text into role, company, location, salary and requirements, and returns the posting text to save with the application. Links must be public https pages. Without an AI provider, only a page's own job data (JSON-LD) fills the fields. Requires authentication.",
|
|
"tags": [
|
|
"Applications",
|
|
"AI"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 20000
|
|
}
|
|
},
|
|
"required": [
|
|
"input"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"type": "string"
|
|
},
|
|
"salary": {
|
|
"type": "string"
|
|
},
|
|
"requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "What the posting asks for, one short item each."
|
|
},
|
|
"jobDescription": {
|
|
"type": "string",
|
|
"description": "The posting's text, to save with the application."
|
|
},
|
|
"sourceUrl": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The link, when a link was given."
|
|
},
|
|
"filledBy": {
|
|
"enum": [
|
|
"ai",
|
|
"page",
|
|
"none"
|
|
],
|
|
"type": "string",
|
|
"description": "What filled the fields: the AI provider, the page's own job data, or nothing (fill them in)."
|
|
}
|
|
},
|
|
"required": [
|
|
"role",
|
|
"company",
|
|
"location",
|
|
"salary",
|
|
"requirements",
|
|
"jobDescription",
|
|
"sourceUrl",
|
|
"filledBy"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid application or AI request."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "422",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "POSTING_UNREADABLE"
|
|
},
|
|
"status": {
|
|
"const": 422
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "That link couldn't be read. Paste the posting text instead."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/ai/autofill": {
|
|
"post": {
|
|
"operationId": "aiAutofillApplication",
|
|
"tags": [
|
|
"Applications",
|
|
"AI"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"jobDescription": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 20000
|
|
}
|
|
},
|
|
"required": [
|
|
"jobDescription"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"company": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"type": "string"
|
|
},
|
|
"salary": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"company",
|
|
"role",
|
|
"location",
|
|
"salary"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid application or AI request."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/ai/match-score": {
|
|
"post": {
|
|
"operationId": "aiApplicationMatchScore",
|
|
"tags": [
|
|
"Applications",
|
|
"AI"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"score": {},
|
|
"gaps": {},
|
|
"strengths": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid application or AI request."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/ai/draft-message": {
|
|
"post": {
|
|
"operationId": "aiDraftApplicationMessage",
|
|
"tags": [
|
|
"Applications",
|
|
"AI"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"cover-letter",
|
|
"follow-up"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"kind"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"coverLetterId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"text"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid application or AI request."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/applications/{id}/ai/tailor-resume": {
|
|
"post": {
|
|
"operationId": "aiTailorResumeForApplication",
|
|
"tags": [
|
|
"Applications",
|
|
"AI"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resumeId": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"resumeId",
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_REQUEST"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "Invalid application or AI request."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"502": {
|
|
"description": "502",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "BAD_GATEWAY"
|
|
},
|
|
"status": {
|
|
"const": 502
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The AI provider returned an error or is unreachable."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/providers": {
|
|
"get": {
|
|
"operationId": "listAuthProviders",
|
|
"summary": "List authentication providers",
|
|
"description": "Returns a list of all authentication providers enabled on this Reactive Resume instance, along with their display names. Possible providers include password-based credentials, Google, GitHub, LinkedIn, and custom OAuth. No authentication required.",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A map of enabled authentication provider identifiers to their display names.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/account/export": {
|
|
"get": {
|
|
"operationId": "exportAccountData",
|
|
"summary": "Export user account data",
|
|
"description": "Returns a JSON-serializable export of the authenticated user's data, including their public profile fields, resumes, independent cover letters and job applications. Images remain URL references. Secrets such as password hashes, tokens, and API keys are never included. Requires authentication.",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The user's exported account data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/account": {
|
|
"delete": {
|
|
"operationId": "deleteAccount",
|
|
"summary": "Delete user account",
|
|
"description": "Permanently deletes the authenticated user's account, including all resumes, uploaded files (profile pictures, screenshots, PDFs), and associated data. This action is irreversible. Requires authentication.",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The user account and all associated data have been successfully deleted.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters": {
|
|
"get": {
|
|
"operationId": "listCoverLetters",
|
|
"summary": "List cover letters",
|
|
"description": "Returns the authenticated user's saved cover letters, optionally filtered by search, resume, or application.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "search",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"maxLength": 100
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
},
|
|
{
|
|
"name": "resumeId",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
},
|
|
{
|
|
"name": "applicationId",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 100,
|
|
"default": 20
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
},
|
|
{
|
|
"name": "offset",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 9007199254740991,
|
|
"default": 0
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A paginated list of cover letters.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
},
|
|
"total": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"total"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "createCoverLetter",
|
|
"summary": "Create a cover letter",
|
|
"description": "Creates a saved cover letter, optionally linked to a resume or job application.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000,
|
|
"default": ""
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000,
|
|
"default": ""
|
|
},
|
|
"resumeId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The resume it goes with; its details and design are linked."
|
|
},
|
|
"applicationId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The job it's for; it fills the recipient."
|
|
},
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "Defaults to structured, or freeform when a recipient block is given."
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "YYYY-MM-DD; defaults to today."
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The newly created cover letter.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}": {
|
|
"get": {
|
|
"operationId": "getCoverLetter",
|
|
"summary": "Get cover letter by ID",
|
|
"description": "Returns a single saved cover letter belonging to the authenticated user.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The cover letter.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "updateCoverLetter",
|
|
"summary": "Update a cover letter",
|
|
"description": "Updates the supplied fields of a saved cover letter using its expected revision.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expectedRevision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "Sets the letter's own template, which unlinks its design."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
}
|
|
},
|
|
"description": "Sets the letter's own type, colors and page settings, which unlinks its design."
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The resume the letter goes with."
|
|
},
|
|
"applicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The job the letter is for."
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "Take the sender's details live from the resume."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "Take the design live from the resume."
|
|
},
|
|
"sessionId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 64,
|
|
"description": "The editing session; its saves share one History version, refreshed every two minutes."
|
|
}
|
|
},
|
|
"required": [
|
|
"expectedRevision"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated cover letter.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteCoverLetter",
|
|
"summary": "Move a cover letter to Trash",
|
|
"description": "Moves a saved cover letter to Trash using its expected revision. It stays there for 30 days, then it is deleted; until then it can be restored (documents.restore) or deleted at once (documents.purge). Locked letters can't be moved.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expectedRevision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"expectedRevision"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The cover letter is in Trash.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/refresh-style": {
|
|
"post": {
|
|
"operationId": "refreshCoverLetterStyle",
|
|
"summary": "Refresh cover letter style",
|
|
"description": "Refreshes a cover letter's style from a selected resume while preserving its content and template.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expectedRevision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"resumeId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"expectedRevision",
|
|
"resumeId"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The cover letter with refreshed style.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/duplicate": {
|
|
"post": {
|
|
"operationId": "duplicateCoverLetter",
|
|
"summary": "Duplicate a cover letter",
|
|
"description": "Creates a copy of an existing saved cover letter, optionally with a new name.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The duplicated cover letter.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/export": {
|
|
"get": {
|
|
"operationId": "exportCoverLetter",
|
|
"summary": "Export a cover letter",
|
|
"description": "Exports a saved cover letter as a standalone Reactive Resume cover-letter document.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The exported cover letter document.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"format": {
|
|
"const": "reactive-resume-cover-letter"
|
|
},
|
|
"version": {
|
|
"const": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"format",
|
|
"version"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/import": {
|
|
"post": {
|
|
"operationId": "importCoverLetter",
|
|
"summary": "Import a cover letter",
|
|
"description": "Creates a saved cover letter from an exported Reactive Resume cover-letter document.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"document": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"type": "array",
|
|
"items": {},
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"styleRules"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"format": {
|
|
"const": "reactive-resume-cover-letter"
|
|
},
|
|
"version": {
|
|
"const": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"format",
|
|
"version"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"document"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The imported cover letter.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/versions": {
|
|
"get": {
|
|
"operationId": "listCoverLetterVersions",
|
|
"summary": "List a cover letter's versions",
|
|
"description": "Returns the letter's History, newest first (at most 100): sessions, named, sent and restore points.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The versions.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, auto (an editing session), named, before-restore, restored or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "A named version's name, or the company a sent one went to."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "createCoverLetterVersion",
|
|
"summary": "Name a version of a cover letter",
|
|
"description": "Saves the letter as it is now as a named version.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The new version.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, auto (an editing session), named, before-restore, restored or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "A named version's name, or the company a sent one went to."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/versions/{versionId}": {
|
|
"get": {
|
|
"operationId": "getCoverLetterVersion",
|
|
"summary": "Get a cover letter version",
|
|
"description": "Returns one version of the letter, with the letter as it read then.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The version.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, auto (an editing session), named, before-restore, restored or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "A named version's name, or the company a sent one went to."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"recipient": {
|
|
"type": "string"
|
|
},
|
|
"content": {
|
|
"type": "string"
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters)."
|
|
},
|
|
"recipientName": {
|
|
"type": "string"
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string"
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"layout",
|
|
"recipientName",
|
|
"recipientCompany",
|
|
"letterDate"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt",
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"operationId": "renameCoverLetterVersion",
|
|
"summary": "Rename a named version",
|
|
"description": "Renames one of the letter's named versions.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The renamed version.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, auto (an editing session), named, before-restore, restored or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "A named version's name, or the company a sent one went to."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteCoverLetterVersion",
|
|
"summary": "Delete a named version",
|
|
"description": "Deletes one of the letter's named versions. Other versions can't be deleted.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The version was deleted.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/versions/{versionId}/restore": {
|
|
"post": {
|
|
"operationId": "restoreCoverLetterVersion",
|
|
"summary": "Restore a cover letter version",
|
|
"description": "Saves the current letter as \"Before restore\", then makes the letter read as the version did. Linked details and design keep coming from the resume.",
|
|
"tags": [
|
|
"Cover Letters"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The restored letter.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"maxLength": 20000
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"maxLength": 100000
|
|
},
|
|
"style": {
|
|
"type": "object",
|
|
"properties": {
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
]
|
|
},
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"page",
|
|
"design",
|
|
"typography"
|
|
]
|
|
},
|
|
"sectionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"itemId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"basics",
|
|
"picture",
|
|
"metadata",
|
|
"sectionId",
|
|
"itemId"
|
|
]
|
|
},
|
|
"layout": {
|
|
"enum": [
|
|
"structured",
|
|
"freeform"
|
|
],
|
|
"type": "string",
|
|
"description": "structured: recipient name, company and date fields, a greeting from the name, the body and a sign-off. freeform: the recipient block and body as written (letters from before structured letters).",
|
|
"default": "freeform"
|
|
},
|
|
"recipientName": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": "",
|
|
"description": "Who the letter is to: a person, or a team."
|
|
},
|
|
"recipientCompany": {
|
|
"type": "string",
|
|
"maxLength": 200,
|
|
"default": ""
|
|
},
|
|
"letterDate": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null,
|
|
"description": "The letter's date, as YYYY-MM-DD."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sourceResumeId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"sourceApplicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"senderLinked": {
|
|
"type": "boolean",
|
|
"description": "The sender's details come live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"designLinked": {
|
|
"type": "boolean",
|
|
"description": "The design comes live from the source resume, instead of the copy in `style`."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Locked letters can't be edited or moved to Trash until they're unlocked."
|
|
},
|
|
"revision": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"recipient",
|
|
"content",
|
|
"style",
|
|
"id",
|
|
"sourceResumeId",
|
|
"sourceApplicationId",
|
|
"senderLinked",
|
|
"designLinked",
|
|
"isLocked",
|
|
"revision",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/cover-letters/{id}/draft": {
|
|
"post": {
|
|
"operationId": "draftCoverLetter",
|
|
"summary": "Draft a cover letter's body",
|
|
"description": "Streams a draft of the letter's body, as text, from its linked resume and its application's posting, using only facts from them. Nothing is saved. `shorter` and `personal` revise a previous draft.",
|
|
"tags": [
|
|
"Cover Letters",
|
|
"AI"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"variant": {
|
|
"enum": [
|
|
"draft",
|
|
"shorter",
|
|
"personal"
|
|
],
|
|
"type": "string",
|
|
"default": "draft",
|
|
"description": "draft writes the body; shorter and personal revise `previous`."
|
|
},
|
|
"previous": {
|
|
"type": "string",
|
|
"maxLength": 20000,
|
|
"description": "The draft being revised."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The draft, streamed as text.",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"event": {
|
|
"const": "message"
|
|
},
|
|
"data": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"retry": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"event",
|
|
"data"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"event": {
|
|
"const": "done"
|
|
},
|
|
"data": {},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"retry": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"event"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"event": {
|
|
"const": "error"
|
|
},
|
|
"data": {},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"retry": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"event"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents": {
|
|
"get": {
|
|
"operationId": "listDocuments",
|
|
"summary": "List documents",
|
|
"description": "Returns the user's resumes and saved cover letters (or those in Trash), newest edit first, with the job application each was made for. Documents in Trash for more than 30 days are deleted first. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "trashed",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "List the documents in Trash instead."
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean"
|
|
},
|
|
"trashedAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When the document moved to Trash; null while it's live."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
"application": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company",
|
|
"role"
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The job application this document was made for, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"name",
|
|
"tags",
|
|
"isLocked",
|
|
"trashedAt",
|
|
"createdAt",
|
|
"updatedAt",
|
|
"application"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/counts": {
|
|
"get": {
|
|
"operationId": "countDocuments",
|
|
"summary": "Count documents",
|
|
"description": "Counts live resumes and letters, and everything in Trash. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resume": {
|
|
"type": "number"
|
|
},
|
|
"letter": {
|
|
"type": "number"
|
|
},
|
|
"trash": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"resume",
|
|
"letter",
|
|
"trash"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/rename": {
|
|
"post": {
|
|
"operationId": "renameDocument",
|
|
"summary": "Rename a document",
|
|
"description": "Renames a resume or letter. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/tags": {
|
|
"post": {
|
|
"operationId": "setDocumentTags",
|
|
"summary": "Set a document's tags",
|
|
"description": "Replaces a resume's or letter's tags. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"maxItems": 20,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 40
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"tags"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/lock": {
|
|
"post": {
|
|
"operationId": "lockDocument",
|
|
"summary": "Lock or unlock a document",
|
|
"description": "Locks a resume or letter against edits and Trash, or unlocks it. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"isLocked"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/application": {
|
|
"post": {
|
|
"operationId": "linkDocumentApplication",
|
|
"summary": "Link a document to an application",
|
|
"description": "Records the job application a resume or letter was made for, or clears it. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
},
|
|
"applicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The application to link, or null to unlink."
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"applicationId"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/trash": {
|
|
"post": {
|
|
"operationId": "trashDocument",
|
|
"summary": "Move a document to Trash",
|
|
"description": "Moves a resume or letter to Trash, where it stays for 30 days. A resume in Trash isn't shared. Locked documents can't be moved. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/restore": {
|
|
"post": {
|
|
"operationId": "restoreDocument",
|
|
"summary": "Restore a document",
|
|
"description": "Brings a document back from Trash. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/purge": {
|
|
"post": {
|
|
"operationId": "purgeDocument",
|
|
"summary": "Delete a document now",
|
|
"description": "Permanently deletes a document that is already in Trash. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"resume",
|
|
"letter"
|
|
],
|
|
"type": "string",
|
|
"description": "resume, or letter (a saved cover letter)."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The ID of the resume or cover letter."
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/documents/copy-for-job": {
|
|
"post": {
|
|
"operationId": "copyResumeForJob",
|
|
"summary": "Copy a resume for a job",
|
|
"description": "Duplicates a resume and links the copy to a job application; the application gets the copy if it has no resume yet. Requires authentication.",
|
|
"tags": [
|
|
"Documents"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resumeId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The resume to copy."
|
|
},
|
|
"applicationId": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The job the copy is for; omit for no job yet."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 100,
|
|
"description": "Defaults to “{source} — {company}”."
|
|
}
|
|
},
|
|
"required": [
|
|
"resumeId"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the copy."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/flags": {
|
|
"get": {
|
|
"operationId": "getFeatureFlags",
|
|
"summary": "Get feature flags",
|
|
"description": "Returns the current feature flags for this Reactive Resume instance. Feature flags control instance-wide settings such as whether new user signups or email-based authentication are disabled. No authentication required.",
|
|
"tags": [
|
|
"Feature Flags"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The current feature flags for this instance.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"disableSignups": {
|
|
"type": "boolean",
|
|
"description": "Whether new user signups are disabled on this instance."
|
|
},
|
|
"disableEmailAuth": {
|
|
"type": "boolean",
|
|
"description": "Whether email-based authentication is disabled on this instance."
|
|
},
|
|
"smtpEnabled": {
|
|
"type": "boolean",
|
|
"description": "Whether outbound email (SMTP) is configured on this instance."
|
|
}
|
|
},
|
|
"required": [
|
|
"disableSignups",
|
|
"disableEmailAuth",
|
|
"smtpEnabled"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resume/getRoot": {
|
|
"post": {
|
|
"operationId": "resume.getRoot",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/tags": {
|
|
"get": {
|
|
"operationId": "listResumeTags",
|
|
"summary": "List all resume tags",
|
|
"description": "Returns a sorted list of all unique tags across the authenticated user's resumes. Useful for populating tag filters in the dashboard. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A sorted array of unique tag strings.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{username}/{slug}/statistics/download": {
|
|
"post": {
|
|
"operationId": "recordResumeDownload",
|
|
"summary": "Record a public resume PDF download",
|
|
"description": "Records a visitor's explicit PDF download after the browser starts saving the file. Requires access to the public resume. For password-protected resumes, first call verifyResumePassword (POST /resumes/{username}/{slug}/password/verify) with the password, then send the returned HttpOnly resume_access_<resumeId> cookie with this request. A missing or invalid access cookie returns NEED_PASSWORD (HTTP 401); the cookie expires after 10 minutes. Owner downloads are excluded. Rate limited per resume and visitor.",
|
|
"tags": [
|
|
"Resume Statistics"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "username",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The download event was accepted.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/statistics": {
|
|
"get": {
|
|
"operationId": "getResumeStatistics",
|
|
"summary": "Get resume statistics",
|
|
"description": "Returns view and download statistics for the specified resume, including total counts and the timestamps of the last view and download. Requires authentication.",
|
|
"tags": [
|
|
"Resume Statistics"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The unique identifier of the resume."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume's view and download statistics.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is currently public."
|
|
},
|
|
"views": {
|
|
"type": "number",
|
|
"description": "Total number of times the resume has been viewed."
|
|
},
|
|
"downloads": {
|
|
"type": "number",
|
|
"description": "Total number of times the resume has been downloaded."
|
|
},
|
|
"lastViewedAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Timestamp of the last view, or null if never viewed."
|
|
},
|
|
"lastDownloadedAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Timestamp of the last download, or null if never downloaded."
|
|
}
|
|
},
|
|
"required": [
|
|
"isPublic",
|
|
"views",
|
|
"downloads",
|
|
"lastViewedAt",
|
|
"lastDownloadedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/statistics/daily": {
|
|
"get": {
|
|
"operationId": "getResumeDailyStatistics",
|
|
"summary": "Get resume daily statistics",
|
|
"description": "Returns a continuous, zero-filled per-day series of view and download counts for the specified resume over the last `days` days (UTC). Requires authentication and resume ownership.",
|
|
"tags": [
|
|
"Resume Statistics"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The unique identifier of the resume."
|
|
}
|
|
},
|
|
{
|
|
"name": "days",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 365,
|
|
"default": 30,
|
|
"description": "Number of trailing days to include."
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume's daily view and download statistics.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The UTC day in YYYY-MM-DD format."
|
|
},
|
|
"views": {
|
|
"type": "number",
|
|
"description": "Number of views recorded on this day."
|
|
},
|
|
"downloads": {
|
|
"type": "number",
|
|
"description": "Number of downloads recorded on this day."
|
|
}
|
|
},
|
|
"required": [
|
|
"date",
|
|
"views",
|
|
"downloads"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/updates": {
|
|
"get": {
|
|
"operationId": "subscribeResumeUpdates",
|
|
"summary": "Subscribe to resume updates",
|
|
"description": "Streams lightweight invalidation events when the specified resume changes. The event payload contains metadata only; clients should refetch the resume for canonical data.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The unique identifier of the resume."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A stream of resume update invalidation events.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes": {
|
|
"get": {
|
|
"operationId": "listResumes",
|
|
"summary": "List all resumes",
|
|
"description": "Returns a list of all resumes belonging to the authenticated user. Results can be filtered by tags and sorted by last updated date, creation date, or name. Resume data is not included in the response for performance; use the get endpoint to fetch full resume data. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "tags",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"default": []
|
|
},
|
|
"style": "deepObject",
|
|
"explode": true,
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
},
|
|
{
|
|
"name": "sort",
|
|
"in": "query",
|
|
"schema": {
|
|
"enum": [
|
|
"lastUpdatedAt",
|
|
"createdAt",
|
|
"name"
|
|
],
|
|
"type": "string",
|
|
"default": "lastUpdatedAt"
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "A list of resumes with their metadata (without full resume data).",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "The date and time the resume was created."
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "The date and time the resume was last updated."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"tags",
|
|
"isPublic",
|
|
"showDownloadButtons",
|
|
"isLocked",
|
|
"createdAt",
|
|
"updatedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "createResume",
|
|
"summary": "Create a new resume",
|
|
"description": "Creates a new resume with the given name and tags. The slug (its public address) is optional: when omitted it is generated from the name and made unique across the user's resumes; when given it must be unique too. Optionally initializes the resume with sample data by setting withSampleData to true. Returns the ID of the newly created resume. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"autoName": {
|
|
"type": "boolean",
|
|
"description": "While true, the resume's name follows its headline until someone renames it."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume. Generated from the name, and made unique, when omitted."
|
|
},
|
|
"withSampleData": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"tags"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The ID of the newly created resume.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the created resume."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "RESUME_SLUG_ALREADY_EXISTS"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "A resume with this slug already exists."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}": {
|
|
"get": {
|
|
"operationId": "getResume",
|
|
"summary": "Get resume by ID",
|
|
"description": "Returns a single resume with its full data, identified by its unique ID. Only resumes belonging to the authenticated user can be retrieved. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume with its full data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the summary should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary always begins on a new page."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author."
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
],
|
|
"type": "string",
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width."
|
|
},
|
|
"sidebarSide": {
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
],
|
|
"type": "string",
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it)."
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "The date and time the resume was last updated."
|
|
},
|
|
"hasPassword": {
|
|
"type": "boolean"
|
|
},
|
|
"applicationId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The job application this resume was made for, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"tags",
|
|
"isPublic",
|
|
"showDownloadButtons",
|
|
"isLocked",
|
|
"data",
|
|
"updatedAt",
|
|
"hasPassword",
|
|
"applicationId"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "updateResume",
|
|
"summary": "Update a resume",
|
|
"description": "Updates one or more fields of a resume identified by its ID. All fields are optional; only provided fields will be updated. Locked resumes cannot be updated. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": false,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/ResumeData"
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"sessionId": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"description": "Identifies one editing session. Saves that share it keep one autosave version, refreshed at most every two minutes."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The updated resume with its full data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the summary should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary always begins on a new page."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author."
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
],
|
|
"type": "string",
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width."
|
|
},
|
|
"sidebarSide": {
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
],
|
|
"type": "string",
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it)."
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "The date and time the resume was last updated."
|
|
},
|
|
"hasPassword": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"tags",
|
|
"isPublic",
|
|
"showDownloadButtons",
|
|
"isLocked",
|
|
"data",
|
|
"updatedAt",
|
|
"hasPassword"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "RESUME_SLUG_ALREADY_EXISTS"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "A resume with this slug already exists."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"operationId": "patchResume",
|
|
"summary": "Patch resume data",
|
|
"description": "Applies JSON Patch (RFC 6902) operations to partially update a resume's data. This allows small, targeted changes (e.g. updating a single field) without sending the entire resume object. Locked resumes cannot be patched. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume to patch."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expectedUpdatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "If provided, the patch only applies when the resume version still matches this timestamp."
|
|
},
|
|
"operations": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"op": {
|
|
"const": "add"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"value": {}
|
|
},
|
|
"required": [
|
|
"op",
|
|
"path"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"op": {
|
|
"const": "remove"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"op",
|
|
"path"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"op": {
|
|
"const": "replace"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"value": {}
|
|
},
|
|
"required": [
|
|
"op",
|
|
"path"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"op": {
|
|
"const": "move"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"op",
|
|
"path",
|
|
"from"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"op": {
|
|
"const": "copy"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"op",
|
|
"path",
|
|
"from"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"op": {
|
|
"const": "test"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"value": {}
|
|
},
|
|
"required": [
|
|
"op",
|
|
"path"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "An array of JSON Patch (RFC 6902) operations to apply to the resume data."
|
|
}
|
|
},
|
|
"required": [
|
|
"operations"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The patched resume with its full data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the summary should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary always begins on a new page."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author."
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
],
|
|
"type": "string",
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width."
|
|
},
|
|
"sidebarSide": {
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
],
|
|
"type": "string",
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it)."
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "The date and time the resume was last updated."
|
|
},
|
|
"hasPassword": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"tags",
|
|
"isPublic",
|
|
"showDownloadButtons",
|
|
"isLocked",
|
|
"data",
|
|
"updatedAt",
|
|
"hasPassword"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "INVALID_PATCH_OPERATIONS"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The patch operations are invalid or produced an invalid resume."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "409",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "RESUME_VERSION_CONFLICT"
|
|
},
|
|
"status": {
|
|
"const": 409
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "The resume changed after this patch was generated."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteResume",
|
|
"summary": "Move a resume to Trash",
|
|
"description": "Moves a resume to Trash, which stops its public link. It stays there for 30 days, then it and its files are deleted; until then it can be restored (documents.restore) or deleted at once (documents.purge). Locked resumes can't be moved; unlock the resume first. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume is in Trash.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{username}/{slug}": {
|
|
"get": {
|
|
"operationId": "getResumeBySlug",
|
|
"summary": "Get public resume by username and slug",
|
|
"description": "Returns a publicly shared resume identified by the owner's username and the resume's slug. A slug the resume had within the last 30 days still finds it; the response carries the current slug, so clients can redirect. If the resume is password-protected and the viewer has not yet verified the password, a 401 error with code NEED_PASSWORD is returned. No authentication required for public resumes; if authenticated as the owner, private resumes are also accessible.",
|
|
"tags": [
|
|
"Resume Sharing"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "username",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The public resume with its full data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the summary should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary always begins on a new page."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author."
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
],
|
|
"type": "string",
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width."
|
|
},
|
|
"sidebarSide": {
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
],
|
|
"type": "string",
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it)."
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"slug",
|
|
"tags",
|
|
"isPublic",
|
|
"showDownloadButtons",
|
|
"isLocked",
|
|
"data",
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{resumeId}/slug-check": {
|
|
"get": {
|
|
"operationId": "checkResumeSlug",
|
|
"summary": "Check a resume address",
|
|
"description": "Checks whether a slug can be a resume's public address: lowercase letters and numbers in groups joined by single dashes, and not used by another of the user's resumes. When it can't, suggests one that works. Requires authentication.",
|
|
"tags": [
|
|
"Resume Sharing"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume the slug is for."
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"maxLength": 64,
|
|
"description": "The slug to check."
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Whether the slug is available, and a suggestion when it isn't.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"enum": [
|
|
"available",
|
|
"current",
|
|
"invalid",
|
|
"taken"
|
|
],
|
|
"type": "string",
|
|
"description": "available: free to use. current: this resume's slug already. invalid: not lowercase letters, numbers and single dashes. taken: another of the user's resumes uses it."
|
|
},
|
|
"takenBy": {
|
|
"type": "string",
|
|
"description": "The name of the resume that uses the slug, when taken."
|
|
},
|
|
"suggestion": {
|
|
"type": "string",
|
|
"description": "A slug that would work instead."
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/import": {
|
|
"post": {
|
|
"operationId": "importResume",
|
|
"summary": "Import a resume",
|
|
"description": "Creates a new resume from an existing ResumeData object (e.g. from a previously exported JSON file). A random name and slug are generated automatically. Returns the ID of the imported resume. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ResumeData"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The ID of the imported resume.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the imported resume."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "400",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": true
|
|
},
|
|
"code": {
|
|
"const": "RESUME_SLUG_ALREADY_EXISTS"
|
|
},
|
|
"status": {
|
|
"const": 400
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"default": "A resume with this slug already exists."
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"defined": {
|
|
"const": false
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {}
|
|
},
|
|
"required": [
|
|
"defined",
|
|
"code",
|
|
"status",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/lock": {
|
|
"post": {
|
|
"operationId": "setResumeLocked",
|
|
"summary": "Set resume lock status",
|
|
"description": "Toggles the locked status of a resume. When locked, a resume cannot be updated, patched, or deleted. Useful for protecting finalized resumes from accidental edits. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
}
|
|
},
|
|
"required": [
|
|
"isLocked"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume lock status was updated successfully.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/password": {
|
|
"put": {
|
|
"operationId": "setResumePassword",
|
|
"summary": "Set resume password",
|
|
"description": "Sets or updates a password on a resume. When a password is set, viewers of the public resume must enter the password before the resume data is revealed. The password must be between 6 and 64 characters. Requires authentication.",
|
|
"tags": [
|
|
"Resume Sharing"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string",
|
|
"minLength": 6,
|
|
"maxLength": 64
|
|
}
|
|
},
|
|
"required": [
|
|
"password"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume password was set successfully.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "removeResumePassword",
|
|
"summary": "Remove resume password",
|
|
"description": "Removes password protection from a resume. After removal, the resume (if public) can be viewed without entering a password. Requires authentication.",
|
|
"tags": [
|
|
"Resume Sharing"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The resume password was removed successfully.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{username}/{slug}/password/verify": {
|
|
"post": {
|
|
"operationId": "verifyResumePassword",
|
|
"summary": "Verify resume password",
|
|
"description": "Verifies a password for a password-protected public resume. On success, the viewer is granted access to view the resume data for the duration of their session. No authentication required.",
|
|
"tags": [
|
|
"Resume Sharing"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "username",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The username of the resume owner."
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The password to verify."
|
|
}
|
|
},
|
|
"required": [
|
|
"password"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The password was verified successfully and access has been granted.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/duplicate": {
|
|
"post": {
|
|
"operationId": "duplicateResume",
|
|
"summary": "Duplicate a resume",
|
|
"description": "Creates a copy of an existing resume with the same data, and the given name and tags. The slug is optional: when omitted it is generated from the name and made unique across the user's resumes. Returns the ID of the duplicated resume. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the copy. Generated from the name, and made unique, when omitted."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"tags"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The ID of the duplicated resume.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the duplicated resume."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{resumeId}/versions": {
|
|
"get": {
|
|
"operationId": "listResumeVersions",
|
|
"summary": "List resume version history",
|
|
"description": "Returns a resume's version history, newest first, without the data: where it came from (created or imported), one autosave per editing session, named versions, restores and AI edits. Autosaves, AI edits and restores are kept for 90 days; the rest until deleted. Only the resume owner can list versions. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume whose version history to list."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Up to 100 versions, newest first.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the version."
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"import",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"ai",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, import, auto (an editing session's autosave), named, before-restore, restored, ai (an AI or API edit) or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The user's name for a named version."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "When this state was saved."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "createResumeVersion",
|
|
"summary": "Name a resume version",
|
|
"description": "Saves the resume as it is now as a named version, kept until deleted. Only the resume owner can name versions. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume to name a version of."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80,
|
|
"description": "The version's name, e.g. 'Sent to Lumen'."
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The new named version.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the version."
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"import",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"ai",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, import, auto (an editing session's autosave), named, before-restore, restored, ai (an AI or API edit) or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The user's name for a named version."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "When this state was saved."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{resumeId}/versions/{versionId}": {
|
|
"get": {
|
|
"operationId": "getResumeVersion",
|
|
"summary": "Get a resume version",
|
|
"description": "Returns one version of a resume with its full data, for previewing it before a restore. Only the resume owner can read versions. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume the version belongs to."
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the version."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The version with its data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the version."
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"import",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"ai",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, import, auto (an editing session's autosave), named, before-restore, restored, ai (an AI or API edit) or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The user's name for a named version."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "When this state was saved."
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the summary should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary always begins on a new page."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author."
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
],
|
|
"type": "string",
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width."
|
|
},
|
|
"sidebarSide": {
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
],
|
|
"type": "string",
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it)."
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt",
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"operationId": "renameResumeVersion",
|
|
"summary": "Rename a named resume version",
|
|
"description": "Renames a named version. Other versions can't be renamed. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume the version belongs to."
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the named version."
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80,
|
|
"description": "The version's new name."
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "The renamed version.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the version."
|
|
},
|
|
"kind": {
|
|
"enum": [
|
|
"created",
|
|
"import",
|
|
"auto",
|
|
"named",
|
|
"before-restore",
|
|
"restored",
|
|
"ai",
|
|
"sent"
|
|
],
|
|
"type": "string",
|
|
"description": "What made the version: created, import, auto (an editing session's autosave), named, before-restore, restored, ai (an AI or API edit) or sent."
|
|
},
|
|
"name": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "The user's name for a named version."
|
|
},
|
|
"createdAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "When this state was saved."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"kind",
|
|
"name",
|
|
"createdAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteResumeVersion",
|
|
"summary": "Delete a named resume version",
|
|
"description": "Deletes a named version. Other versions expire on their own and can't be deleted. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume the version belongs to."
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the named version."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The version was deleted.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"not": {}
|
|
},
|
|
{
|
|
"not": {}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{resumeId}/versions/{versionId}/restore": {
|
|
"post": {
|
|
"operationId": "restoreResumeVersion",
|
|
"summary": "Restore a resume version",
|
|
"description": "Non-destructively restores a resume to a previous version snapshot by writing that snapshot's data back through the normal update path. Prior versions are preserved and the restore itself becomes a new snapshot. Only the resume owner can restore versions. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "resumeId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume to restore."
|
|
}
|
|
},
|
|
{
|
|
"name": "versionId",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the version snapshot to restore."
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The restored resume with its full data.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the resume."
|
|
},
|
|
"slug": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The slug of the resume."
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The tags of the resume."
|
|
},
|
|
"isPublic": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is public."
|
|
},
|
|
"showDownloadButtons": {
|
|
"type": "boolean",
|
|
"description": "Whether download buttons are shown on the public resume page."
|
|
},
|
|
"isLocked": {
|
|
"type": "boolean",
|
|
"description": "Whether the resume is locked."
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
],
|
|
"type": "string",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image."
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"fit",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the summary should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the summary always begins on a new page."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author."
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the profile of the author on the network or platform, if any."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the company or organization, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "List of individual roles held at this company to show career progression."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the school or institution, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the project, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
],
|
|
"type": "string",
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"type": "string",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the award, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website of the certification, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the publication, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications)."
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "When it ended. Null while ongoing or for single dates."
|
|
},
|
|
"present": {
|
|
"type": "boolean",
|
|
"description": "Whether it's ongoing, printed as 'Present'."
|
|
},
|
|
"raw": {
|
|
"type": "string",
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it."
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The link to the organization or company, if any."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon."
|
|
},
|
|
"columns": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6,
|
|
"description": "The number of columns the section should span across."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"type": "boolean",
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content."
|
|
},
|
|
"keepTogether": {
|
|
"type": "boolean",
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break."
|
|
},
|
|
"startOnNewPage": {
|
|
"type": "boolean",
|
|
"description": "If true, the section always begins on a new page."
|
|
},
|
|
"keywordLayout": {
|
|
"not": {}
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"type": "boolean",
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
],
|
|
"description": "The website or LinkedIn profile of the reference, if any."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
],
|
|
"type": "string",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width."
|
|
},
|
|
"sidebarSide": {
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
],
|
|
"type": "string",
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it)."
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The horizontal margin of the page, defined in points (pt)."
|
|
},
|
|
"marginY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The vertical margin of the page, defined in points (pt)."
|
|
},
|
|
"format": {
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"type": "string",
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
],
|
|
"type": "string",
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed."
|
|
},
|
|
"hideLinkUnderline": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"type": "string",
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"type": "array",
|
|
"items": {
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font."
|
|
},
|
|
"fontSize": {
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24,
|
|
"description": "The size of the font to use, defined in points (pt)."
|
|
},
|
|
"lineHeight": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"type": "boolean",
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false."
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering."
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991,
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies)."
|
|
},
|
|
"hiddenTerms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Job-posting terms the author hid from Job match as not true for them."
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
],
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made."
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"updatedAt": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"x-native-type": "date",
|
|
"description": "The date and time the resume was last updated."
|
|
},
|
|
"hasPassword": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"tags",
|
|
"isPublic",
|
|
"showDownloadButtons",
|
|
"isLocked",
|
|
"data",
|
|
"updatedAt",
|
|
"hasPassword"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/resumes/{id}/pdf": {
|
|
"get": {
|
|
"operationId": "downloadResumePdf",
|
|
"summary": "Download resume as PDF",
|
|
"description": "Generates a PDF for the specified resume and returns it as a forced download. Only resumes belonging to the authenticated user can be downloaded. Requires authentication.",
|
|
"tags": [
|
|
"Resumes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"description": "The ID of the resume."
|
|
}
|
|
},
|
|
{
|
|
"name": "target",
|
|
"in": "query",
|
|
"schema": {
|
|
"const": "resume",
|
|
"description": "Deprecated, only `resume`: cover letters are documents of their own (`/cover-letters`)."
|
|
},
|
|
"allowEmptyValue": true,
|
|
"allowReserved": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The generated resume PDF.",
|
|
"headers": {
|
|
"content-disposition": {
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
},
|
|
"content": {
|
|
"application/pdf": {
|
|
"schema": {
|
|
"type": "string",
|
|
"contentMediaType": "application/pdf"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/statistics": {
|
|
"get": {
|
|
"operationId": "getStatisticsTotals",
|
|
"summary": "Get user and resume totals with their cache timestamp",
|
|
"tags": [
|
|
"Platform Statistics"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"users": {
|
|
"type": "number"
|
|
},
|
|
"resumes": {
|
|
"type": "number"
|
|
},
|
|
"cachedAt": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Oldest count's cache timestamp in Unix milliseconds, or null for fallback totals."
|
|
}
|
|
},
|
|
"required": [
|
|
"users",
|
|
"resumes",
|
|
"cachedAt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/statistics/github/stars": {
|
|
"get": {
|
|
"operationId": "getGitHubStarCount",
|
|
"summary": "Get GitHub star count",
|
|
"description": "Returns the number of GitHub stars for the Reactive Resume repository. The count is cached for up to 6 hours and falls back to a last-known value if the GitHub API is unavailable. No authentication required.",
|
|
"tags": [
|
|
"Platform Statistics"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "The number of GitHub stars for the Reactive Resume repository.",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "number",
|
|
"description": "The number of GitHub stars."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"externalDocs": {
|
|
"url": "https://docs.rxresu.me",
|
|
"description": "Reactive Resume Documentation"
|
|
},
|
|
"components": {
|
|
"securitySchemes": {
|
|
"apiKey": {
|
|
"type": "apiKey",
|
|
"name": "x-api-key",
|
|
"in": "header",
|
|
"description": "The API key to authenticate requests."
|
|
}
|
|
},
|
|
"schemas": {
|
|
"ResumeData": {
|
|
"type": "object",
|
|
"properties": {
|
|
"picture": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the picture from the resume."
|
|
},
|
|
"fit": {
|
|
"default": "cover",
|
|
"description": "How the picture fits its frame: cover crops overflow, while contain preserves the whole image.",
|
|
"type": "string",
|
|
"enum": [
|
|
"cover",
|
|
"contain"
|
|
]
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to the picture to display on the resume. Prefer local app-served paths (for example /uploads/...) populated via upload."
|
|
},
|
|
"size": {
|
|
"type": "number",
|
|
"minimum": 32,
|
|
"maximum": 512,
|
|
"description": "The size of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"rotation": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 360,
|
|
"description": "The rotation of the picture to display on the resume, defined in degrees (°)."
|
|
},
|
|
"aspectRatio": {
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 2.5,
|
|
"description": "The aspect ratio of the picture to display on the resume, defined as width / height (e.g. 1.5 for 1.5:1 or 0.5 for 1:2)."
|
|
},
|
|
"borderRadius": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "The border radius of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"borderColor": {
|
|
"type": "string",
|
|
"description": "The color of the border of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"borderWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the border of the picture to display on the resume, defined in points (pt)."
|
|
},
|
|
"shadowColor": {
|
|
"type": "string",
|
|
"description": "The color of the shadow of the picture to display on the resume, defined as rgba(r, g, b, a)."
|
|
},
|
|
"shadowWidth": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The width of the shadow of the picture to display on the resume, defined in points (pt)."
|
|
}
|
|
},
|
|
"required": [
|
|
"hidden",
|
|
"url",
|
|
"size",
|
|
"rotation",
|
|
"aspectRatio",
|
|
"borderRadius",
|
|
"borderColor",
|
|
"borderWidth",
|
|
"shadowColor",
|
|
"shadowWidth"
|
|
],
|
|
"description": "Configuration for photograph displayed on the resume"
|
|
},
|
|
"basics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The full name of the author of the resume."
|
|
},
|
|
"headline": {
|
|
"type": "string",
|
|
"description": "The headline of the author of the resume."
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"description": "The email address of the author of the resume."
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the author of the resume."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the author of the resume."
|
|
},
|
|
"website": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label"
|
|
],
|
|
"description": "The website of the author of the resume."
|
|
},
|
|
"customFields": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom field. Usually generated as a UUID."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to display for the custom field."
|
|
},
|
|
"link": {
|
|
"default": "",
|
|
"type": "string",
|
|
"description": "If the custom field should be a link, the URL to link to."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"icon",
|
|
"text",
|
|
"link"
|
|
]
|
|
},
|
|
"description": "The custom fields to display on the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"headline",
|
|
"email",
|
|
"phone",
|
|
"location",
|
|
"website",
|
|
"customFields"
|
|
],
|
|
"description": "Basic information about the author, such as name, email, phone, location, and website"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the summary of the resume."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the summary section title in the PDF output. Empty string uses the default summary icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the summary should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the summary from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the summary heading, icon, and decoration while retaining summary content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the summary is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the summary always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The content of the summary of the resume. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"content"
|
|
],
|
|
"description": "Summary section of the resume, useful for a short bio or introduction"
|
|
},
|
|
"sections": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"default": "",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color.",
|
|
"type": "string"
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the profile of the author on the network or platform, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
]
|
|
},
|
|
"description": "The items to display in the profiles section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the profiles of the author."
|
|
},
|
|
"experience": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the company or organization, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"default": [],
|
|
"description": "List of individual roles held at this company to show career progression.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
]
|
|
},
|
|
"description": "The items to display in the experience section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the experience of the author."
|
|
},
|
|
"education": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the school or institution, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the education section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the education of the author."
|
|
},
|
|
"projects": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the project, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the projects section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the projects of the author."
|
|
},
|
|
"skills": {
|
|
"description": "The section to display the skills of the author.",
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"default": "",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"default": 0,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden.",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5
|
|
},
|
|
"keywords": {
|
|
"default": [],
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the skills section."
|
|
},
|
|
"keywordLayout": {
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword.",
|
|
"type": "string",
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
]
|
|
},
|
|
"layout": {
|
|
"default": "default",
|
|
"description": "The layout style for skill items. 'inline' places item fields next to name",
|
|
"type": "string",
|
|
"enum": [
|
|
"default",
|
|
"inline"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
]
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"default": 0,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden.",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
]
|
|
},
|
|
"description": "The items to display in the languages section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the languages of the author."
|
|
},
|
|
"interests": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"default": "",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"default": [],
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
]
|
|
},
|
|
"description": "The items to display in the interests section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the interests of the author."
|
|
},
|
|
"awards": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the award, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the awards section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the awards of the author."
|
|
},
|
|
"certifications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the certification, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the certifications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the certifications of the author."
|
|
},
|
|
"publications": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the publication, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the publications section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the publications of the author."
|
|
},
|
|
"volunteer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the organization or company, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the volunteer section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the volunteer experience of the author."
|
|
},
|
|
"references": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website or LinkedIn profile of the reference, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
]
|
|
},
|
|
"description": "The items to display in the references section."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"items"
|
|
],
|
|
"description": "The section to display the references of the author."
|
|
}
|
|
},
|
|
"required": [
|
|
"profiles",
|
|
"experience",
|
|
"education",
|
|
"projects",
|
|
"skills",
|
|
"languages",
|
|
"interests",
|
|
"awards",
|
|
"certifications",
|
|
"publications",
|
|
"volunteer",
|
|
"references"
|
|
],
|
|
"description": "Various sections of the resume, such as experience, education, projects, etc."
|
|
},
|
|
"customSections": {
|
|
"type": "array",
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "cover-letter",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"recipient": {
|
|
"type": "string",
|
|
"description": "The recipient's address block as HTML (name, title, company, address, email)."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The cover letter body as HTML (salutation, paragraphs, closing, signature)."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"recipient",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "summary",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"content": {
|
|
"type": "string",
|
|
"description": "The rich text content of the summary item. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"content"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "profiles",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"default": "",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color.",
|
|
"type": "string"
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"description": "The name of the network or platform. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "The username of the author on the network or platform."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the profile of the author on the network or platform, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"network",
|
|
"username",
|
|
"website"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "experience",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"company": {
|
|
"type": "string",
|
|
"description": "The name of the company or organization. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position held at the company or organization. Used when there is only a single role. If multiple roles are provided in the 'roles' field, this serves as a summary title or can be left blank."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the company or organization."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The overall period of time at the company, as text. When multiple roles are used, this should reflect the total tenure. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the company or organization, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the experience. This should be a HTML-formatted string."
|
|
},
|
|
"roles": {
|
|
"default": [],
|
|
"description": "List of individual roles held at this company to show career progression.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the role. Usually generated as a UUID."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title for this role."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time this role was held, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of this specific role. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"position",
|
|
"period",
|
|
"description"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"company",
|
|
"position",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description",
|
|
"roles"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "education",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"school": {
|
|
"type": "string",
|
|
"description": "The name of the school or institution. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"degree": {
|
|
"type": "string",
|
|
"description": "The degree or qualification obtained."
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"description": "The area of study or specialization."
|
|
},
|
|
"grade": {
|
|
"type": "string",
|
|
"description": "The grade or score achieved."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the school or institution."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the education was obtained over, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the school or institution, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the education. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"school",
|
|
"degree",
|
|
"area",
|
|
"grade",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "projects",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the project. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the project was worked on, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the project, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the project. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {
|
|
"default": "inline",
|
|
"description": "How skill keywords are displayed: inline separated by commas, or one bullet per keyword.",
|
|
"type": "string",
|
|
"enum": [
|
|
"inline",
|
|
"list"
|
|
]
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "skills",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"default": "",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the skill. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"proficiency": {
|
|
"type": "string",
|
|
"description": "The proficiency level of the skill. Can be any text, such as 'Beginner', 'Intermediate', 'Advanced', etc."
|
|
},
|
|
"level": {
|
|
"default": 0,
|
|
"description": "The proficiency level of the skill, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden.",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5
|
|
},
|
|
"keywords": {
|
|
"default": [],
|
|
"description": "The keywords associated with the skill, if any. These are displayed as tags below the name.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"proficiency",
|
|
"level",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "languages",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "The name of the language the author knows. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"fluency": {
|
|
"type": "string",
|
|
"description": "The fluency level of the language. Can be any text, such as 'Native', 'Fluent', 'Conversational', etc. or can also be a CEFR level (A1, A2, B1, B2, C1, C2)."
|
|
},
|
|
"level": {
|
|
"default": 0,
|
|
"description": "The proficiency level of the language, defined as a number between 0 and 5. If set to 0, the icons displaying the level will be hidden.",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 5
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"language",
|
|
"fluency",
|
|
"level"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "interests",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"iconColor": {
|
|
"default": "",
|
|
"description": "Custom color for the icon, defined as rgba(r, g, b, a). Leave blank to use the template default icon color.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the interest/hobby. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"keywords": {
|
|
"default": [],
|
|
"description": "The keywords associated with the interest/hobby, if any. These are displayed as tags below the name.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"icon",
|
|
"iconColor",
|
|
"name",
|
|
"keywords"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "awards",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the award. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"awarder": {
|
|
"type": "string",
|
|
"description": "The awarder of the award."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the award was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the award, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the award. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"awarder",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "certifications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the certification. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"description": "The issuer of the certification."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the certification was received, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website of the certification, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the certification. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"issuer",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "publications",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the publication. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"publisher": {
|
|
"type": "string",
|
|
"description": "The publisher of the publication."
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "The date when the publication was published, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the publication, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the publication. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"title",
|
|
"publisher",
|
|
"date",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "volunteer",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"organization": {
|
|
"type": "string",
|
|
"description": "The name of the organization or company. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"description": "The location of the organization or company."
|
|
},
|
|
"period": {
|
|
"type": "string",
|
|
"description": "The period of time the author was volunteered at the organization or company, as text. Written from `dates` on every save; write `dates` instead."
|
|
},
|
|
"dates": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"default": null,
|
|
"description": "When it started, or the date itself for single-date entries (awards, certifications, publications).",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"default": null,
|
|
"description": "When it ended. Null while ongoing or for single dates.",
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"pattern": "^\\d{4}(?:-(?:0[1-9]|1[0-2]))?$",
|
|
"description": "A year (\"2022\") or a year and month (\"2022-03\")."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"present": {
|
|
"default": false,
|
|
"description": "Whether it's ongoing, printed as 'Present'.",
|
|
"type": "boolean"
|
|
},
|
|
"raw": {
|
|
"description": "The original text when it couldn't be read exactly, such as 'Summer 2016'. It's printed as written until the dates are edited, which removes it.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end",
|
|
"present"
|
|
],
|
|
"description": "Structured dates. Write these rather than the legacy text field (`period` or `date`), which is kept in sync from them."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The link to the organization or company, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the volunteer experience. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"organization",
|
|
"location",
|
|
"period",
|
|
"website",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "The title of the section."
|
|
},
|
|
"icon": {
|
|
"default": "",
|
|
"description": "Phosphor icon name to display before the section title in the PDF output. Empty string uses the default section icon; 'none' hides the icon.",
|
|
"type": "string"
|
|
},
|
|
"columns": {
|
|
"default": 1,
|
|
"description": "The number of columns the section should span across.",
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 6
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section from the resume."
|
|
},
|
|
"showHeading": {
|
|
"default": true,
|
|
"description": "Whether to show the section heading, icon, and decoration while retaining section content.",
|
|
"type": "boolean"
|
|
},
|
|
"keepTogether": {
|
|
"default": false,
|
|
"description": "If true, the section is kept on a single page instead of splitting across a page break.",
|
|
"type": "boolean"
|
|
},
|
|
"startOnNewPage": {
|
|
"default": false,
|
|
"description": "If true, the section always begins on a new page.",
|
|
"type": "boolean"
|
|
},
|
|
"keywordLayout": {},
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the custom section. Usually generated as a UUID."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "references",
|
|
"description": "The type of items this custom section contains. Determines which item schema and form fields to use."
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "The unique identifier for the item. Usually generated as a UUID."
|
|
},
|
|
"hidden": {
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item from the resume."
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the reference, or a note such as 'Available upon request'. Empty while the entry is a draft, which isn't printed."
|
|
},
|
|
"position": {
|
|
"type": "string",
|
|
"description": "The position or job title of the reference."
|
|
},
|
|
"website": {
|
|
"default": {
|
|
"url": "",
|
|
"label": "",
|
|
"inlineLink": false
|
|
},
|
|
"description": "The website or LinkedIn profile of the reference, if any.",
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "The URL to show as a link. Must be a valid URL with a protocol (http:// or https://)."
|
|
},
|
|
"label": {
|
|
"type": "string",
|
|
"description": "The label to display for the URL. Leave blank to display the URL as-is."
|
|
},
|
|
"inlineLink": {
|
|
"default": false,
|
|
"description": "If true, the website URL is rendered as a hyperlink on the title instead of a separate link at the bottom.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"inlineLink"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "The phone number of the reference."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "The description of the reference. Can be used to display a quote, a testimonial, etc. This should be a HTML-formatted string."
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"hidden",
|
|
"name",
|
|
"position",
|
|
"website",
|
|
"phone",
|
|
"description"
|
|
],
|
|
"additionalProperties": {}
|
|
},
|
|
"description": "The items to display in the custom section. Items follow the schema of the section type."
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"icon",
|
|
"columns",
|
|
"hidden",
|
|
"keepTogether",
|
|
"startOnNewPage",
|
|
"id",
|
|
"type",
|
|
"items"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"description": "Custom sections of the resume, such as a custom section for notes, etc."
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"default": "onyx",
|
|
"description": "The template to use for the resume. Determines the overall design and appearance of the resume.",
|
|
"type": "string",
|
|
"enum": [
|
|
"azurill",
|
|
"bronzor",
|
|
"chikorita",
|
|
"ditgar",
|
|
"ditto",
|
|
"gengar",
|
|
"glalie",
|
|
"kakuna",
|
|
"lapras",
|
|
"leafish",
|
|
"meowth",
|
|
"onyx",
|
|
"pikachu",
|
|
"rhyhorn",
|
|
"scizor"
|
|
]
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sidebarWidth": {
|
|
"default": 35,
|
|
"description": "The width of the sidebar column, defined as a percentage of the page width.",
|
|
"type": "number",
|
|
"minimum": 10,
|
|
"maximum": 50
|
|
},
|
|
"sidebarSide": {
|
|
"description": "Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it).",
|
|
"type": "string",
|
|
"enum": [
|
|
"left",
|
|
"right"
|
|
]
|
|
},
|
|
"pages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fullWidth": {
|
|
"type": "boolean",
|
|
"description": "Whether the layout of the page should be full width. If true, the main column will span the entire width of the page. This means that there should be no items in the sidebar column."
|
|
},
|
|
"main": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the main column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
},
|
|
"sidebar": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "The items to display in the sidebar column of the page. A string array of section IDs (experience, education, projects, skills, languages, interests, awards, certifications, publications, volunteer, references, profiles, summary or UUIDs for custom sections)."
|
|
}
|
|
},
|
|
"required": [
|
|
"fullWidth",
|
|
"main",
|
|
"sidebar"
|
|
]
|
|
},
|
|
"description": "The pages to display in the layout."
|
|
}
|
|
},
|
|
"required": [
|
|
"sidebarWidth",
|
|
"pages"
|
|
],
|
|
"description": "The layout of the resume. Determines the structure and arrangement of the sections on the resume."
|
|
},
|
|
"page": {
|
|
"type": "object",
|
|
"properties": {
|
|
"gapX": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The horizontal gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"gapY": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "The vertical gap between the sections of the page, defined in points (pt)."
|
|
},
|
|
"marginX": {
|
|
"default": 14,
|
|
"description": "The horizontal margin of the page, defined in points (pt).",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"marginY": {
|
|
"default": 12,
|
|
"description": "The vertical margin of the page, defined in points (pt).",
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100
|
|
},
|
|
"format": {
|
|
"default": "a4",
|
|
"type": "string",
|
|
"enum": [
|
|
"a4",
|
|
"letter",
|
|
"free-form"
|
|
],
|
|
"description": "The format of the page. Can be 'a4', 'letter', or 'free-form'."
|
|
},
|
|
"locale": {
|
|
"default": "en-US",
|
|
"type": "string",
|
|
"description": "The locale of the page. Used for displaying pre-translated section headings, if not overridden."
|
|
},
|
|
"dateFormat": {
|
|
"description": "How dates print: 'short' (Mar 2022), 'long' (March 2022), 'numeric' (03/2022) or 'iso' (2022-03). When missing, it's read from how the dates were typed.",
|
|
"type": "string",
|
|
"enum": [
|
|
"short",
|
|
"long",
|
|
"numeric",
|
|
"iso"
|
|
]
|
|
},
|
|
"hideLinkUnderline": {
|
|
"default": false,
|
|
"type": "boolean",
|
|
"description": "Whether to hide the underlines of the links."
|
|
},
|
|
"hideIcons": {
|
|
"default": false,
|
|
"type": "boolean",
|
|
"description": "Whether to hide the item-level icons (skills, profiles, interests)."
|
|
},
|
|
"hideSectionIcons": {
|
|
"default": true,
|
|
"type": "boolean",
|
|
"description": "Whether to hide the section heading icons displayed before section titles."
|
|
}
|
|
},
|
|
"required": [
|
|
"gapX",
|
|
"gapY",
|
|
"marginX",
|
|
"marginY",
|
|
"format",
|
|
"locale",
|
|
"hideLinkUnderline",
|
|
"hideIcons",
|
|
"hideSectionIcons"
|
|
],
|
|
"description": "The page settings of the resume. Determines the margins, format, and locale of the resume."
|
|
},
|
|
"design": {
|
|
"type": "object",
|
|
"properties": {
|
|
"level": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "The icon to display for the custom field. Must be a valid icon name from @phosphor-icons/web icon set, or an empty string to hide. Default to '' (empty string) when unsure which icons are available."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"hidden",
|
|
"circle",
|
|
"square",
|
|
"rectangle",
|
|
"rectangle-full",
|
|
"progress-bar",
|
|
"icon"
|
|
],
|
|
"description": "The type of the level design. 'hidden' will hide the level design, 'circle' will display a circle, 'square' will display a square, 'rectangle' will display a rectangle, 'rectangle-full' will display a full rectangle, 'progress-bar' will display a progress bar, and 'icon' will display an icon. If 'icon' is selected, the icon to display should be specified in the 'icon' field."
|
|
}
|
|
},
|
|
"required": [
|
|
"icon",
|
|
"type"
|
|
]
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"primary": {
|
|
"type": "string",
|
|
"description": "The primary color of the design, defined as rgba(r, g, b, a)."
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text color of the design, defined as rgba(r, g, b, a). Usually set to black: rgba(0, 0, 0, 1)."
|
|
},
|
|
"background": {
|
|
"type": "string",
|
|
"description": "The background color of the design, defined as rgba(r, g, b, a). Usually set to white: rgba(255, 255, 255, 1)."
|
|
}
|
|
},
|
|
"required": [
|
|
"primary",
|
|
"text",
|
|
"background"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"colors"
|
|
],
|
|
"description": "The design settings of the resume. Determines the colors, level designs, and typography of the resume."
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"default": [
|
|
"400"
|
|
],
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
]
|
|
}
|
|
},
|
|
"fontSize": {
|
|
"default": 11,
|
|
"description": "The size of the font to use, defined in points (pt).",
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24
|
|
},
|
|
"lineHeight": {
|
|
"default": 1.5,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x).",
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the body of the resume."
|
|
},
|
|
"heading": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "The family of the font to use. Must be a supported resume font."
|
|
},
|
|
"fontWeights": {
|
|
"default": [
|
|
"400"
|
|
],
|
|
"description": "The weight of the font, defined as a number between 100 and 900. Default to 400 when unsure if the weight is available in the font.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"100",
|
|
"200",
|
|
"300",
|
|
"400",
|
|
"500",
|
|
"600",
|
|
"700",
|
|
"800",
|
|
"900"
|
|
]
|
|
}
|
|
},
|
|
"fontSize": {
|
|
"default": 11,
|
|
"description": "The size of the font to use, defined in points (pt).",
|
|
"type": "number",
|
|
"minimum": 6,
|
|
"maximum": 24
|
|
},
|
|
"lineHeight": {
|
|
"default": 1.5,
|
|
"description": "The line height of the font to use, defined as a multiplier of the font size (e.g. 1.5 for 1.5x).",
|
|
"type": "number",
|
|
"minimum": 0.5,
|
|
"maximum": 4
|
|
}
|
|
},
|
|
"required": [
|
|
"fontFamily",
|
|
"fontWeights",
|
|
"fontSize",
|
|
"lineHeight"
|
|
],
|
|
"description": "The typography for the headings of the resume."
|
|
},
|
|
"hyphenation": {
|
|
"description": "Enable automatic PDF hyphenation using the resume language. Currently supports German. Defaults to false.",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"heading"
|
|
],
|
|
"description": "The typography settings of the resume. Determines the fonts and sizes of the body and headings of the resume."
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Personal notes for the resume. Can be used to add any additional information or instructions for the resume. These notes are not displayed on the resume, they are only visible to the author of the resume when editing the resume. This should be a HTML-formatted string."
|
|
},
|
|
"styleRules": {
|
|
"description": "Structured style rules that target semantic resume sections and slots for PDF rendering.",
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"stylesheet": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"legacy",
|
|
"semantic"
|
|
]
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languageVersion": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languageVersion",
|
|
"text"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"mode",
|
|
"source"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"check": {
|
|
"description": "The author's Check choices for this resume. Not printed; missing until a choice is made.",
|
|
"type": "object",
|
|
"properties": {
|
|
"ignored": {
|
|
"default": [],
|
|
"description": "Check issues the author chose to ignore, by issue key (the rule code and where it applies).",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"hiddenTerms": {
|
|
"default": [],
|
|
"description": "Job-posting terms the author hid from Job match as not true for them.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ignored",
|
|
"hiddenTerms"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"layout",
|
|
"page",
|
|
"design",
|
|
"typography",
|
|
"notes",
|
|
"styleRules"
|
|
],
|
|
"description": "Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume."
|
|
}
|
|
},
|
|
"required": [
|
|
"picture",
|
|
"basics",
|
|
"summary",
|
|
"sections",
|
|
"customSections",
|
|
"metadata"
|
|
],
|
|
"additionalProperties": {}
|
|
}
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"apiKey": []
|
|
}
|
|
],
|
|
"openapi": "3.1.1"
|
|
}
|