> ## Documentation index
> Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt
> Ask it with GET https://docs.rxresu.me/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.

# Update a resume

> Updates one or more fields of a resume identified by its ID. All fields are optional; only provided fields will be updated. When expectedUpdatedAt is provided, a stale version returns RESUME_VERSION_CONFLICT (409) with data.updatedAt. Locked resumes cannot be updated. Requires authentication.

`PUT /resumes/{id}`

## OpenAPI

````yaml spec.json put /resumes/{id}
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 6.0.7
  description: "Reactive Resume API. Mutations do not support Idempotency-Key. Do
    not automatically retry POST, PUT, PATCH or DELETE requests after a timeout:
    first read the resource to determine whether the operation succeeded.
    Existing enum values and response shapes are retained for compatibility."
  license:
    name: MIT
    url: https://github.com/reactive-resume/reactive-resume/blob/main/LICENSE
  contact:
    name: Amruth Pillai
    email: amruth@rxresu.me
    url: https://amruthpillai.com
servers:
  - url: https://rxresu.me/api/openapi
security:
  - apiKey: []
  - bearerAuth: []
  - cookieAuth: []
paths:
  /resumes/{id}:
    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. When
        expectedUpdatedAt is provided, a stale version returns
        RESUME_VERSION_CONFLICT (409) with data.updatedAt. 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
                  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.
                showInSearchEngines:
                  type: boolean
                  description: Whether search engines may list the resume's public web page. Off
                    unless the owner turns it on.
                hideContactDetails:
                  type: boolean
                  description: Whether the public web page, its PDF and this API leave out the
                    email, phone, location, custom header fields and references'
                    phone numbers.
                isPrimary:
                  type: boolean
                  description: Whether this is the account's primary resume, opened by its short
                    link and custom domain.
                expectedUpdatedAt:
                  type: string
                  format: date-time
                  x-native-type: date
                  description: If provided, the update only applies when the resume version still
                    matches this timestamp.
                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.
                  showInSearchEngines:
                    type: boolean
                    description: Whether search engines may list the resume's public web page. Off
                      unless the owner turns it on.
                  hideContactDetails:
                    type: boolean
                    description: Whether the public web page, its PDF and this API leave out the
                      email, phone, location, custom header fields and
                      references' phone numbers.
                  isPrimary:
                    type: boolean
                    description: Whether this is the account's primary resume, opened by its short
                      link and custom domain.
                  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
                              - persian
                              - pikachu
                              - porygon
                              - rhyhorn
                              - scizor
                              - smeargle
                            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
                              entry:
                                type: object
                                properties:
                                  layout:
                                    enum:
                                      - stacked
                                      - inline
                                      - compact
                                      - date-column
                                      - eyebrow
                                    type: string
                                    description: How the header of each Experience, Education and Volunteer entry is
                                      arranged. 'stacked' is two rows (name and
                                      location, then role and date), 'inline'
                                      puts everything on one row, 'compact' puts
                                      the lead and the date on top with the rest
                                      grouped below, 'date-column' sets dates in
                                      a column on the left, and 'eyebrow' puts a
                                      small line above a larger lead. Dates also
                                      move to the left column for Projects,
                                      Awards, Certifications and Publications
                                      with 'date-column'.
                                  lead:
                                    enum:
                                      - organization
                                      - role
                                    type: string
                                    description: "Which comes first in Experience and Education entries: the
                                      organization (company, school) or the role
                                      (position, field of study)."
                                  accent:
                                    enum:
                                      - none
                                      - rule
                                      - bar
                                      - band
                                    type: string
                                    description: "Decoration in the accent color around each entry header: 'none',
                                      'rule' (a line under it), 'bar' (a bar
                                      beside it) or 'band' (a tinted
                                      background)."
                                required:
                                  - layout
                                  - lead
                                  - accent
                                description: How entry headers are arranged and decorated. When missing, entries
                                  use the stacked layout.
                            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.
                                  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
                          web:
                            type: object
                            properties:
                              showCredit:
                                type: boolean
                                description: Whether the web page shows the small 'Made with Reactive Resume'
                                  footer.
                            required:
                              - showCredit
                            description: Settings for the resume's public web page, which uses the resume's
                              template. Missing until the author changes them in
                              Share.
                          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: {}
                  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.
                  hasPassword:
                    type: boolean
                required:
                  - id
                  - name
                  - slug
                  - tags
                  - isPublic
                  - showDownloadButtons
                  - showInSearchEngines
                  - hideContactDetails
                  - isPrimary
                  - isLocked
                  - data
                  - createdAt
                  - 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: true
                      code:
                        const: INVALID_SLUG
                      status:
                        const: 400
                      message:
                        type: string
                        default: The slug must be at most 64 characters and contain only lowercase
                          letters and numbers, separated by single dashes.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: RESUME_NOT_PUBLIC
                      status:
                        const: 400
                      message:
                        type: string
                        default: Publish the resume before making it primary.
                      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
        "403":
          description: "403"
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: RESUME_LOCKED
                      status:
                        const: 403
                      message:
                        type: string
                        default: Unlock the resume first.
                      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. Read the resume
                          again and regenerate the patch.
                      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
        default:
          description: Structured API error. See status and code; do not branch on message
            text.
          content:
            application/json:
              schema:
                type: object
                required:
                  - defined
                  - code
                  - status
                  - message
                properties:
                  defined:
                    type: boolean
                  code:
                    type: string
                  status:
                    type: integer
                  message:
                    type: string
                  data: {}
      security:
        - apiKey: []
        - bearerAuth: []
        - cookieAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: "curl --request PUT \"https://rxresu.me/api/openapi/resumes/<id>\"
            --header \"x-api-key: <api-key>\" --header \"Content-Type:
            application/json\" --data '{}'"
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: An OAuth access token issued by this instance for its API/MCP resource.
    cookieAuth:
      type: apiKey
      in: cookie
      name: better-auth.session_token
      description: Browser session (secure deployments use the __Secure- prefix).
        Cookie requests must originate from this instance.
    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
                - persian
                - pikachu
                - porygon
                - rhyhorn
                - scizor
                - smeargle
            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
                entry:
                  description: How entry headers are arranged and decorated. When missing, entries
                    use the stacked layout.
                  type: object
                  properties:
                    layout:
                      default: stacked
                      description: How the header of each Experience, Education and Volunteer entry is
                        arranged. 'stacked' is two rows (name and location, then
                        role and date), 'inline' puts everything on one row,
                        'compact' puts the lead and the date on top with the
                        rest grouped below, 'date-column' sets dates in a column
                        on the left, and 'eyebrow' puts a small line above a
                        larger lead. Dates also move to the left column for
                        Projects, Awards, Certifications and Publications with
                        'date-column'.
                      type: string
                      enum:
                        - stacked
                        - inline
                        - compact
                        - date-column
                        - eyebrow
                    lead:
                      default: organization
                      description: "Which comes first in Experience and Education entries: the
                        organization (company, school) or the role (position,
                        field of study)."
                      type: string
                      enum:
                        - organization
                        - role
                    accent:
                      default: none
                      description: "Decoration in the accent color around each entry header: 'none',
                        'rule' (a line under it), 'bar' (a bar beside it) or
                        'band' (a tinted background)."
                      type: string
                      enum:
                        - none
                        - rule
                        - bar
                        - band
                  required:
                    - layout
                    - lead
                    - accent
              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.
                    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
            web:
              description: Settings for the resume's public web page, which uses the resume's
                template. Missing until the author changes them in Share.
              type: object
              properties:
                showCredit:
                  default: true
                  description: Whether the web page shows the small 'Made with Reactive Resume'
                    footer.
                  type: boolean
              required:
                - showCredit
            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: {}
````
