> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Read a PDF before creating a resume

> Returns unsaved resume data, source text and annotation targets without AI. Reads at most 30 pages and reports partial coverage. Stores nothing; requires authentication and write access.



## OpenAPI

````yaml /spec.json post /resumes/file-previews
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 6.0.10
  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: []
externalDocs:
  url: https://docs.rxresu.me
  description: Reactive Resume Documentation
paths:
  /resumes/file-previews:
    post:
      tags:
        - Resumes
      summary: Read a PDF before creating a resume
      description: >-
        Returns unsaved resume data, source text and annotation targets without
        AI. Reads at most 30 pages and reports partial coverage. Stores nothing;
        requires authentication and write access.
      operationId: previewPdfImport
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  contentMediaType: '*/*'
              required:
                - file
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    anyOf:
                      - 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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                                  expected:
                                                    description: >-
                                                      Whether the end date is still to come,
                                                      such as a degree in progress: printed as
                                                      'Expected May 2027'. Ignored while
                                                      present is true.
                                                    type: boolean
                                                  raw:
                                                    description: >-
                                                      Custom date text, also used for imported
                                                      text that could not be read exactly.
                                                      Printed verbatim, overriding start/end
                                                      formatting. Preserve it when editing
                                                      other fields; remove it only when the
                                                      user chooses preset date fields.
                                                    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
                                          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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                            expected:
                                              description: >-
                                                Whether the end date is still to come,
                                                such as a degree in progress: printed as
                                                'Expected May 2027'. Ignored while
                                                present is true.
                                              type: boolean
                                            raw:
                                              description: >-
                                                Custom date text, also used for imported
                                                text that could not be read exactly.
                                                Printed verbatim, overriding start/end
                                                formatting. Preserve it when editing
                                                other fields; remove it only when the
                                                user chooses preset date fields.
                                              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:
                                          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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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'.
                                                    expected:
                                                      description: >-
                                                        Whether the end date is still to come,
                                                        such as a degree in progress: printed as
                                                        'Expected May 2027'. Ignored while
                                                        present is true.
                                                      type: boolean
                                                    raw:
                                                      description: >-
                                                        Custom date text, also used for imported
                                                        text that could not be read exactly.
                                                        Printed verbatim, overriding start/end
                                                        formatting. Preserve it when editing
                                                        other fields; remove it only when the
                                                        user chooses preset date fields.
                                                      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
                                            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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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:
                                      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:
                                      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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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'.
                                              expected:
                                                description: >-
                                                  Whether the end date is still to come,
                                                  such as a degree in progress: printed as
                                                  'Expected May 2027'. Ignored while
                                                  present is true.
                                                type: boolean
                                              raw:
                                                description: >-
                                                  Custom date text, also used for imported
                                                  text that could not be read exactly.
                                                  Printed verbatim, overriding start/end
                                                  formatting. Preserve it when editing
                                                  other fields; remove it only when the
                                                  user chooses preset date fields.
                                                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:
                                            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:
                                    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:
                                    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:
                                    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:
                                    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:
                                        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:
                                    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:
                                          type: string
                                          enum:
                                            - '100'
                                            - '200'
                                            - '300'
                                            - '400'
                                            - '500'
                                            - '600'
                                            - '700'
                                            - '800'
                                            - '900'
                                        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:
                                          type: string
                                          enum:
                                            - '100'
                                            - '200'
                                            - '300'
                                            - '400'
                                            - '500'
                                            - '600'
                                            - '700'
                                            - '800'
                                            - '900'
                                        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:
                                    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.
                              stylesheet:
                                type: object
                                properties:
                                  mode:
                                    type: string
                                    enum:
                                      - legacy
                                      - semantic
                                  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: {}
                      - type: 'null'
                  source:
                    type: object
                    properties:
                      lines:
                        type: array
                        items:
                          type: string
                      links:
                        type: array
                        items:
                          type: string
                      partial:
                        type: boolean
                    required:
                      - lines
                      - links
                      - partial
                required:
                  - data
                  - source
        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 POST
            "https://rxresu.me/api/openapi/resumes/file-previews" --header
            "x-api-key: <api-key>" --form "file=@<file>"
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: The API key to authenticate requests.
    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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.