> ## 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.

# Parse a PDF file into resume data

> Extracts structured resume data from a PDF file using the specified AI provider. The file should be sent as a base64-encoded string along with AI provider credentials. Returns a complete ResumeData object. Requires authentication.



## OpenAPI

````yaml /spec.json post /ai/pdf-parses
openapi: 3.1.1
info:
  title: Reactive Resume
  version: 6.0.0
  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: hello@amruthpillai.com
    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:
  /ai/pdf-parses:
    post:
      tags:
        - AI
      summary: Parse a PDF file into resume data
      description: >-
        Extracts structured resume data from a PDF file using the specified AI
        provider. The file should be sent as a base64-encoded string along with
        AI provider credentials. Returns a complete ResumeData object. Requires
        authentication.
      operationId: createPdfParse
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                aiProviderId:
                  type: string
                file:
                  type: object
                  properties:
                    name:
                      type: string
                    data:
                      type: string
                      maxLength: 13981018
                  required:
                    - name
                    - data
              required:
                - file
      responses:
        '200':
          description: The PDF was successfully parsed into structured resume data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  picture:
                    type: object
                    properties:
                      hidden:
                        type: boolean
                        description: Whether to hide the picture from the resume.
                      fit:
                        enum:
                          - cover
                          - contain
                        type: string
                        description: >-
                          How the picture fits its frame: cover crops overflow,
                          while contain preserves the whole image.
                      url:
                        type: string
                        description: >-
                          The URL to the picture to display on the resume.
                          Prefer local app-served paths (for example
                          /uploads/...) populated via upload.
                      size:
                        type: number
                        minimum: 32
                        maximum: 512
                        description: >-
                          The size of the picture to display on the resume,
                          defined in points (pt).
                      rotation:
                        type: number
                        minimum: 0
                        maximum: 360
                        description: >-
                          The rotation of the picture to display on the resume,
                          defined in degrees (°).
                      aspectRatio:
                        type: number
                        minimum: 0.5
                        maximum: 2.5
                        description: >-
                          The aspect ratio of the picture to display on the
                          resume, defined as width / height (e.g. 1.5 for 1.5:1
                          or 0.5 for 1:2).
                      borderRadius:
                        type: number
                        minimum: 0
                        maximum: 100
                        description: >-
                          The border radius of the picture to display on the
                          resume, defined in points (pt).
                      borderColor:
                        type: string
                        description: >-
                          The color of the border of the picture to display on
                          the resume, defined as rgba(r, g, b, a).
                      borderWidth:
                        type: number
                        minimum: 0
                        description: >-
                          The width of the border of the picture to display on
                          the resume, defined in points (pt).
                      shadowColor:
                        type: string
                        description: >-
                          The color of the shadow of the picture to display on
                          the resume, defined as rgba(r, g, b, a).
                      shadowWidth:
                        type: number
                        minimum: 0
                        description: >-
                          The width of the shadow of the picture to display on
                          the resume, defined in points (pt).
                    required:
                      - hidden
                      - fit
                      - url
                      - size
                      - rotation
                      - aspectRatio
                      - borderRadius
                      - borderColor
                      - borderWidth
                      - shadowColor
                      - shadowWidth
                    description: Configuration for photograph displayed on the resume
                  basics:
                    type: object
                    properties:
                      name:
                        type: string
                        description: The full name of the author of the resume.
                      headline:
                        type: string
                        description: The headline of the author of the resume.
                      email:
                        type: string
                        description: The email address of the author of the resume.
                      phone:
                        type: string
                        description: The phone number of the author of the resume.
                      location:
                        type: string
                        description: The location of the author of the resume.
                      website:
                        type: object
                        properties:
                          url:
                            type: string
                            description: >-
                              The URL to show as a link. Must be a valid URL
                              with a protocol (http:// or https://).
                          label:
                            type: string
                            description: >-
                              The label to display for the URL. Leave blank to
                              display the URL as-is.
                        required:
                          - url
                          - label
                        description: The website of the author of the resume.
                      customFields:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom field.
                                Usually generated as a UUID.
                            icon:
                              type: string
                              description: >-
                                The icon to display for the custom field. Must
                                be a valid icon name from @phosphor-icons/web
                                icon set, or an empty string to hide. Default to
                                '' (empty string) when unsure which icons are
                                available.
                            text:
                              type: string
                              description: The text to display for the custom field.
                            link:
                              type: string
                              description: >-
                                If the custom field should be a link, the URL to
                                link to.
                          required:
                            - id
                            - icon
                            - text
                            - link
                        description: The custom fields to display on the resume.
                    required:
                      - name
                      - headline
                      - email
                      - phone
                      - location
                      - website
                      - customFields
                    description: >-
                      Basic information about the author, such as name, email,
                      phone, location, and website
                  summary:
                    type: object
                    properties:
                      title:
                        type: string
                        description: The title of the summary of the resume.
                      icon:
                        type: string
                        description: >-
                          Phosphor icon name to display before the summary
                          section title in the PDF output. Empty string uses the
                          default summary icon; 'none' hides the icon.
                      columns:
                        type: integer
                        minimum: 1
                        maximum: 6
                        description: The number of columns the summary should span across.
                      hidden:
                        type: boolean
                        description: Whether to hide the summary from the resume.
                      showHeading:
                        type: boolean
                        description: >-
                          Whether to show the summary heading, icon, and
                          decoration while retaining summary content.
                      keepTogether:
                        type: boolean
                        description: >-
                          If true, the summary is kept on a single page instead
                          of splitting across a page break.
                      startOnNewPage:
                        type: boolean
                        description: If true, the summary always begins on a new page.
                      content:
                        type: string
                        description: >-
                          The content of the summary of the resume. This should
                          be a HTML-formatted string.
                    required:
                      - title
                      - icon
                      - columns
                      - hidden
                      - keepTogether
                      - startOnNewPage
                      - content
                    description: >-
                      Summary section of the resume, useful for a short bio or
                      introduction
                  sections:
                    type: object
                    properties:
                      profiles:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                icon:
                                  type: string
                                  description: >-
                                    The icon to display for the custom field.
                                    Must be a valid icon name from
                                    @phosphor-icons/web icon set, or an empty
                                    string to hide. Default to '' (empty string)
                                    when unsure which icons are available.
                                iconColor:
                                  type: string
                                  description: >-
                                    Custom color for the icon, defined as
                                    rgba(r, g, b, a). Leave blank to use the
                                    template default icon color.
                                network:
                                  type: string
                                  description: >-
                                    The name of the network or platform. Empty
                                    while the entry is a draft, which isn't
                                    printed.
                                username:
                                  type: string
                                  description: >-
                                    The username of the author on the network or
                                    platform.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: >-
                                    The link to the profile of the author on the
                                    network or platform, if any.
                              required:
                                - id
                                - hidden
                                - icon
                                - iconColor
                                - network
                                - username
                                - website
                            description: The items to display in the profiles section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the profiles of the author.
                      experience:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                company:
                                  type: string
                                  description: >-
                                    The name of the company or organization.
                                    Empty while the entry is a draft, which
                                    isn't printed.
                                position:
                                  type: string
                                  description: >-
                                    The position held at the company or
                                    organization. Used when there is only a
                                    single role. If multiple roles are provided
                                    in the 'roles' field, this serves as a
                                    summary title or can be left blank.
                                location:
                                  type: string
                                  description: The location of the company or organization.
                                period:
                                  type: string
                                  description: >-
                                    The overall period of time at the company,
                                    as text. When multiple roles are used, this
                                    should reflect the total tenure. Written
                                    from `dates` on every save; write `dates`
                                    instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: >-
                                    The website of the company or organization,
                                    if any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the experience. This
                                    should be a HTML-formatted string.
                                roles:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                        description: >-
                                          The unique identifier for the role.
                                          Usually generated as a UUID.
                                      position:
                                        type: string
                                        description: The position or job title for this role.
                                      period:
                                        type: string
                                        description: >-
                                          The period of time this role was held,
                                          as text. Written from `dates` on every
                                          save; write `dates` instead.
                                      dates:
                                        type: object
                                        properties:
                                          start:
                                            anyOf:
                                              - type: string
                                                pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                                description: >-
                                                  A year ("2022") or a year and month
                                                  ("2022-03").
                                              - type: 'null'
                                            description: >-
                                              When it started, or the date itself for
                                              single-date entries (awards,
                                              certifications, publications).
                                          end:
                                            anyOf:
                                              - type: string
                                                pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                                description: >-
                                                  A year ("2022") or a year and month
                                                  ("2022-03").
                                              - type: 'null'
                                            description: >-
                                              When it ended. Null while ongoing or for
                                              single dates.
                                          present:
                                            type: boolean
                                            description: >-
                                              Whether it's ongoing, printed as
                                              'Present'.
                                          raw:
                                            description: >-
                                              The original text when it couldn't be
                                              read exactly, such as 'Summer 2016'.
                                              It's printed as written until the dates
                                              are edited, which removes it.
                                            type: string
                                        required:
                                          - start
                                          - end
                                          - present
                                        description: >-
                                          Structured dates. Write these rather
                                          than the legacy text field (`period` or
                                          `date`), which is kept in sync from
                                          them.
                                      description:
                                        type: string
                                        description: >-
                                          The description of this specific role.
                                          This should be a HTML-formatted string.
                                    required:
                                      - id
                                      - position
                                      - period
                                      - description
                                  description: >-
                                    List of individual roles held at this
                                    company to show career progression.
                              required:
                                - id
                                - hidden
                                - company
                                - position
                                - location
                                - period
                                - website
                                - description
                                - roles
                            description: The items to display in the experience section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the experience of the author.
                      education:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                school:
                                  type: string
                                  description: >-
                                    The name of the school or institution. Empty
                                    while the entry is a draft, which isn't
                                    printed.
                                degree:
                                  type: string
                                  description: The degree or qualification obtained.
                                area:
                                  type: string
                                  description: The area of study or specialization.
                                grade:
                                  type: string
                                  description: The grade or score achieved.
                                location:
                                  type: string
                                  description: The location of the school or institution.
                                period:
                                  type: string
                                  description: >-
                                    The period of time the education was
                                    obtained over, as text. Written from `dates`
                                    on every save; write `dates` instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: >-
                                    The website of the school or institution, if
                                    any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the education. This
                                    should be a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - school
                                - degree
                                - area
                                - grade
                                - location
                                - period
                                - website
                                - description
                            description: The items to display in the education section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the education of the author.
                      projects:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                name:
                                  type: string
                                  description: >-
                                    The name of the project. Empty while the
                                    entry is a draft, which isn't printed.
                                period:
                                  type: string
                                  description: >-
                                    The period of time the project was worked
                                    on, as text. Written from `dates` on every
                                    save; write `dates` instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: The link to the project, if any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the project. This should
                                    be a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - name
                                - period
                                - website
                                - description
                            description: The items to display in the projects section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the projects of the author.
                      skills:
                        description: The section to display the skills of the author.
                      languages:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                language:
                                  type: string
                                  description: >-
                                    The name of the language the author knows.
                                    Empty while the entry is a draft, which
                                    isn't printed.
                                fluency:
                                  type: string
                                  description: >-
                                    The fluency level of the language. Can be
                                    any text, such as 'Native', 'Fluent',
                                    'Conversational', etc. or can also be a CEFR
                                    level (A1, A2, B1, B2, C1, C2).
                                level:
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                  description: >-
                                    The proficiency level of the language,
                                    defined as a number between 0 and 5. If set
                                    to 0, the icons displaying the level will be
                                    hidden.
                              required:
                                - id
                                - hidden
                                - language
                                - fluency
                                - level
                            description: The items to display in the languages section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the languages of the author.
                      interests:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                icon:
                                  type: string
                                  description: >-
                                    The icon to display for the custom field.
                                    Must be a valid icon name from
                                    @phosphor-icons/web icon set, or an empty
                                    string to hide. Default to '' (empty string)
                                    when unsure which icons are available.
                                iconColor:
                                  type: string
                                  description: >-
                                    Custom color for the icon, defined as
                                    rgba(r, g, b, a). Leave blank to use the
                                    template default icon color.
                                name:
                                  type: string
                                  description: >-
                                    The name of the interest/hobby. Empty while
                                    the entry is a draft, which isn't printed.
                                keywords:
                                  type: array
                                  items:
                                    type: string
                                  description: >-
                                    The keywords associated with the
                                    interest/hobby, if any. These are displayed
                                    as tags below the name.
                              required:
                                - id
                                - hidden
                                - icon
                                - iconColor
                                - name
                                - keywords
                            description: The items to display in the interests section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the interests of the author.
                      awards:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                title:
                                  type: string
                                  description: >-
                                    The title of the award. Empty while the
                                    entry is a draft, which isn't printed.
                                awarder:
                                  type: string
                                  description: The awarder of the award.
                                date:
                                  type: string
                                  description: >-
                                    The date when the award was received, as
                                    text. Written from `dates` on every save;
                                    write `dates` instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: The website of the award, if any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the award. This should be
                                    a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - title
                                - awarder
                                - date
                                - website
                                - description
                            description: The items to display in the awards section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the awards of the author.
                      certifications:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                title:
                                  type: string
                                  description: >-
                                    The title of the certification. Empty while
                                    the entry is a draft, which isn't printed.
                                issuer:
                                  type: string
                                  description: The issuer of the certification.
                                date:
                                  type: string
                                  description: >-
                                    The date when the certification was
                                    received, as text. Written from `dates` on
                                    every save; write `dates` instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: The website of the certification, if any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the certification. This
                                    should be a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - title
                                - issuer
                                - date
                                - website
                                - description
                            description: >-
                              The items to display in the certifications
                              section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: >-
                          The section to display the certifications of the
                          author.
                      publications:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                title:
                                  type: string
                                  description: >-
                                    The title of the publication. Empty while
                                    the entry is a draft, which isn't printed.
                                publisher:
                                  type: string
                                  description: The publisher of the publication.
                                date:
                                  type: string
                                  description: >-
                                    The date when the publication was published,
                                    as text. Written from `dates` on every save;
                                    write `dates` instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: The link to the publication, if any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the publication. This
                                    should be a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - title
                                - publisher
                                - date
                                - website
                                - description
                            description: The items to display in the publications section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the publications of the author.
                      volunteer:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                organization:
                                  type: string
                                  description: >-
                                    The name of the organization or company.
                                    Empty while the entry is a draft, which
                                    isn't printed.
                                location:
                                  type: string
                                  description: The location of the organization or company.
                                period:
                                  type: string
                                  description: >-
                                    The period of time the author was
                                    volunteered at the organization or company,
                                    as text. Written from `dates` on every save;
                                    write `dates` instead.
                                dates:
                                  type: object
                                  properties:
                                    start:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it started, or the date itself for
                                        single-date entries (awards,
                                        certifications, publications).
                                    end:
                                      anyOf:
                                        - type: string
                                          pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                          description: >-
                                            A year ("2022") or a year and month
                                            ("2022-03").
                                        - type: 'null'
                                      description: >-
                                        When it ended. Null while ongoing or for
                                        single dates.
                                    present:
                                      type: boolean
                                      description: >-
                                        Whether it's ongoing, printed as
                                        'Present'.
                                    raw:
                                      description: >-
                                        The original text when it couldn't be
                                        read exactly, such as 'Summer 2016'.
                                        It's printed as written until the dates
                                        are edited, which removes it.
                                      type: string
                                  required:
                                    - start
                                    - end
                                    - present
                                  description: >-
                                    Structured dates. Write these rather than
                                    the legacy text field (`period` or `date`),
                                    which is kept in sync from them.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: >-
                                    The link to the organization or company, if
                                    any.
                                description:
                                  type: string
                                  description: >-
                                    The description of the volunteer experience.
                                    This should be a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - organization
                                - location
                                - period
                                - website
                                - description
                            description: The items to display in the volunteer section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: >-
                          The section to display the volunteer experience of the
                          author.
                      references:
                        type: object
                        properties:
                          title:
                            type: string
                            description: The title of the section.
                          icon:
                            type: string
                            description: >-
                              Phosphor icon name to display before the section
                              title in the PDF output. Empty string uses the
                              default section icon; 'none' hides the icon.
                          columns:
                            type: integer
                            minimum: 1
                            maximum: 6
                            description: >-
                              The number of columns the section should span
                              across.
                          hidden:
                            type: boolean
                            description: Whether to hide the section from the resume.
                          showHeading:
                            type: boolean
                            description: >-
                              Whether to show the section heading, icon, and
                              decoration while retaining section content.
                          keepTogether:
                            type: boolean
                            description: >-
                              If true, the section is kept on a single page
                              instead of splitting across a page break.
                          startOnNewPage:
                            type: boolean
                            description: If true, the section always begins on a new page.
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    The unique identifier for the item. Usually
                                    generated as a UUID.
                                hidden:
                                  type: boolean
                                  description: Whether to hide the item from the resume.
                                name:
                                  type: string
                                  description: >-
                                    The name of the reference, or a note such as
                                    'Available upon request'. Empty while the
                                    entry is a draft, which isn't printed.
                                position:
                                  type: string
                                  description: The position or job title of the reference.
                                website:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                      description: >-
                                        The URL to show as a link. Must be a
                                        valid URL with a protocol (http:// or
                                        https://).
                                    label:
                                      type: string
                                      description: >-
                                        The label to display for the URL. Leave
                                        blank to display the URL as-is.
                                    inlineLink:
                                      type: boolean
                                      description: >-
                                        If true, the website URL is rendered as
                                        a hyperlink on the title instead of a
                                        separate link at the bottom.
                                  required:
                                    - url
                                    - label
                                    - inlineLink
                                  description: >-
                                    The website or LinkedIn profile of the
                                    reference, if any.
                                phone:
                                  type: string
                                  description: The phone number of the reference.
                                description:
                                  type: string
                                  description: >-
                                    The description of the reference. Can be
                                    used to display a quote, a testimonial, etc.
                                    This should be a HTML-formatted string.
                              required:
                                - id
                                - hidden
                                - name
                                - position
                                - website
                                - phone
                                - description
                            description: The items to display in the references section.
                        required:
                          - title
                          - icon
                          - columns
                          - hidden
                          - keepTogether
                          - startOnNewPage
                          - items
                        description: The section to display the references of the author.
                    required:
                      - profiles
                      - experience
                      - education
                      - projects
                      - languages
                      - interests
                      - awards
                      - certifications
                      - publications
                      - volunteer
                      - references
                    description: >-
                      Various sections of the resume, such as experience,
                      education, projects, etc.
                  customSections:
                    type: array
                    items:
                      anyOf:
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: cover-letter
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  recipient:
                                    type: string
                                    description: >-
                                      The recipient's address block as HTML
                                      (name, title, company, address, email).
                                  content:
                                    type: string
                                    description: >-
                                      The cover letter body as HTML (salutation,
                                      paragraphs, closing, signature).
                                required:
                                  - id
                                  - hidden
                                  - recipient
                                  - content
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: summary
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  content:
                                    type: string
                                    description: >-
                                      The rich text content of the summary item.
                                      This should be a HTML-formatted string.
                                required:
                                  - id
                                  - hidden
                                  - content
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: profiles
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  icon:
                                    type: string
                                    description: >-
                                      The icon to display for the custom field.
                                      Must be a valid icon name from
                                      @phosphor-icons/web icon set, or an empty
                                      string to hide. Default to '' (empty
                                      string) when unsure which icons are
                                      available.
                                  iconColor:
                                    type: string
                                    description: >-
                                      Custom color for the icon, defined as
                                      rgba(r, g, b, a). Leave blank to use the
                                      template default icon color.
                                  network:
                                    type: string
                                    description: >-
                                      The name of the network or platform. Empty
                                      while the entry is a draft, which isn't
                                      printed.
                                  username:
                                    type: string
                                    description: >-
                                      The username of the author on the network
                                      or platform.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: >-
                                      The link to the profile of the author on
                                      the network or platform, if any.
                                required:
                                  - id
                                  - hidden
                                  - icon
                                  - iconColor
                                  - network
                                  - username
                                  - website
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: experience
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  company:
                                    type: string
                                    description: >-
                                      The name of the company or organization.
                                      Empty while the entry is a draft, which
                                      isn't printed.
                                  position:
                                    type: string
                                    description: >-
                                      The position held at the company or
                                      organization. Used when there is only a
                                      single role. If multiple roles are
                                      provided in the 'roles' field, this serves
                                      as a summary title or can be left blank.
                                  location:
                                    type: string
                                    description: >-
                                      The location of the company or
                                      organization.
                                  period:
                                    type: string
                                    description: >-
                                      The overall period of time at the company,
                                      as text. When multiple roles are used,
                                      this should reflect the total tenure.
                                      Written from `dates` on every save; write
                                      `dates` instead.
                                  dates:
                                    type: object
                                    properties:
                                      start:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it started, or the date itself for
                                          single-date entries (awards,
                                          certifications, publications).
                                      end:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it ended. Null while ongoing or for
                                          single dates.
                                      present:
                                        type: boolean
                                        description: >-
                                          Whether it's ongoing, printed as
                                          'Present'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: >-
                                      The website of the company or
                                      organization, if any.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the experience. This
                                      should be a HTML-formatted string.
                                  roles:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                          description: >-
                                            The unique identifier for the role.
                                            Usually generated as a UUID.
                                        position:
                                          type: string
                                          description: The position or job title for this role.
                                        period:
                                          type: string
                                          description: >-
                                            The period of time this role was held,
                                            as text. Written from `dates` on every
                                            save; write `dates` instead.
                                        dates:
                                          type: object
                                          properties:
                                            start:
                                              anyOf:
                                                - type: string
                                                  pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                                  description: >-
                                                    A year ("2022") or a year and month
                                                    ("2022-03").
                                                - type: 'null'
                                              description: >-
                                                When it started, or the date itself for
                                                single-date entries (awards,
                                                certifications, publications).
                                            end:
                                              anyOf:
                                                - type: string
                                                  pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                                  description: >-
                                                    A year ("2022") or a year and month
                                                    ("2022-03").
                                                - type: 'null'
                                              description: >-
                                                When it ended. Null while ongoing or for
                                                single dates.
                                            present:
                                              type: boolean
                                              description: >-
                                                Whether it's ongoing, printed as
                                                'Present'.
                                            raw:
                                              description: >-
                                                The original text when it couldn't be
                                                read exactly, such as 'Summer 2016'.
                                                It's printed as written until the dates
                                                are edited, which removes it.
                                              type: string
                                          required:
                                            - start
                                            - end
                                            - present
                                          description: >-
                                            Structured dates. Write these rather
                                            than the legacy text field (`period` or
                                            `date`), which is kept in sync from
                                            them.
                                        description:
                                          type: string
                                          description: >-
                                            The description of this specific role.
                                            This should be a HTML-formatted string.
                                      required:
                                        - id
                                        - position
                                        - period
                                        - description
                                    description: >-
                                      List of individual roles held at this
                                      company to show career progression.
                                required:
                                  - id
                                  - hidden
                                  - company
                                  - position
                                  - location
                                  - period
                                  - website
                                  - description
                                  - roles
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: education
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  school:
                                    type: string
                                    description: >-
                                      The name of the school or institution.
                                      Empty while the entry is a draft, which
                                      isn't printed.
                                  degree:
                                    type: string
                                    description: The degree or qualification obtained.
                                  area:
                                    type: string
                                    description: The area of study or specialization.
                                  grade:
                                    type: string
                                    description: The grade or score achieved.
                                  location:
                                    type: string
                                    description: The location of the school or institution.
                                  period:
                                    type: string
                                    description: >-
                                      The period of time the education was
                                      obtained over, as text. Written from
                                      `dates` on every save; write `dates`
                                      instead.
                                  dates:
                                    type: object
                                    properties:
                                      start:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it started, or the date itself for
                                          single-date entries (awards,
                                          certifications, publications).
                                      end:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it ended. Null while ongoing or for
                                          single dates.
                                      present:
                                        type: boolean
                                        description: >-
                                          Whether it's ongoing, printed as
                                          'Present'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: >-
                                      The website of the school or institution,
                                      if any.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the education. This
                                      should be a HTML-formatted string.
                                required:
                                  - id
                                  - hidden
                                  - school
                                  - degree
                                  - area
                                  - grade
                                  - location
                                  - period
                                  - website
                                  - description
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: projects
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  name:
                                    type: string
                                    description: >-
                                      The name of the project. Empty while the
                                      entry is a draft, which isn't printed.
                                  period:
                                    type: string
                                    description: >-
                                      The period of time the project was worked
                                      on, as text. Written from `dates` on every
                                      save; write `dates` instead.
                                  dates:
                                    type: object
                                    properties:
                                      start:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it started, or the date itself for
                                          single-date entries (awards,
                                          certifications, publications).
                                      end:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it ended. Null while ongoing or for
                                          single dates.
                                      present:
                                        type: boolean
                                        description: >-
                                          Whether it's ongoing, printed as
                                          'Present'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    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'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: The website of the award, if any.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the award. This should
                                      be a HTML-formatted string.
                                required:
                                  - id
                                  - hidden
                                  - title
                                  - awarder
                                  - date
                                  - website
                                  - description
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: certifications
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  title:
                                    type: string
                                    description: >-
                                      The title of the certification. Empty
                                      while the entry is a draft, which isn't
                                      printed.
                                  issuer:
                                    type: string
                                    description: The issuer of the certification.
                                  date:
                                    type: string
                                    description: >-
                                      The date when the certification was
                                      received, as text. Written from `dates` on
                                      every save; write `dates` instead.
                                  dates:
                                    type: object
                                    properties:
                                      start:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it started, or the date itself for
                                          single-date entries (awards,
                                          certifications, publications).
                                      end:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it ended. Null while ongoing or for
                                          single dates.
                                      present:
                                        type: boolean
                                        description: >-
                                          Whether it's ongoing, printed as
                                          'Present'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: The website of the certification, if any.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the certification. This
                                      should be a HTML-formatted string.
                                required:
                                  - id
                                  - hidden
                                  - title
                                  - issuer
                                  - date
                                  - website
                                  - description
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: publications
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  title:
                                    type: string
                                    description: >-
                                      The title of the publication. Empty while
                                      the entry is a draft, which isn't printed.
                                  publisher:
                                    type: string
                                    description: The publisher of the publication.
                                  date:
                                    type: string
                                    description: >-
                                      The date when the publication was
                                      published, as text. Written from `dates`
                                      on every save; write `dates` instead.
                                  dates:
                                    type: object
                                    properties:
                                      start:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it started, or the date itself for
                                          single-date entries (awards,
                                          certifications, publications).
                                      end:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it ended. Null while ongoing or for
                                          single dates.
                                      present:
                                        type: boolean
                                        description: >-
                                          Whether it's ongoing, printed as
                                          'Present'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: The link to the publication, if any.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the publication. This
                                      should be a HTML-formatted string.
                                required:
                                  - id
                                  - hidden
                                  - title
                                  - publisher
                                  - date
                                  - website
                                  - description
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: volunteer
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  organization:
                                    type: string
                                    description: >-
                                      The name of the organization or company.
                                      Empty while the entry is a draft, which
                                      isn't printed.
                                  location:
                                    type: string
                                    description: >-
                                      The location of the organization or
                                      company.
                                  period:
                                    type: string
                                    description: >-
                                      The period of time the author was
                                      volunteered at the organization or
                                      company, as text. Written from `dates` on
                                      every save; write `dates` instead.
                                  dates:
                                    type: object
                                    properties:
                                      start:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it started, or the date itself for
                                          single-date entries (awards,
                                          certifications, publications).
                                      end:
                                        anyOf:
                                          - type: string
                                            pattern: ^\d{4}(?:-(?:0[1-9]|1[0-2]))?$
                                            description: >-
                                              A year ("2022") or a year and month
                                              ("2022-03").
                                          - type: 'null'
                                        description: >-
                                          When it ended. Null while ongoing or for
                                          single dates.
                                      present:
                                        type: boolean
                                        description: >-
                                          Whether it's ongoing, printed as
                                          'Present'.
                                      raw:
                                        description: >-
                                          The original text when it couldn't be
                                          read exactly, such as 'Summer 2016'.
                                          It's printed as written until the dates
                                          are edited, which removes it.
                                        type: string
                                    required:
                                      - start
                                      - end
                                      - present
                                    description: >-
                                      Structured dates. Write these rather than
                                      the legacy text field (`period` or
                                      `date`), which is kept in sync from them.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: >-
                                      The link to the organization or company,
                                      if any.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the volunteer
                                      experience. This should be a
                                      HTML-formatted string.
                                required:
                                  - id
                                  - hidden
                                  - organization
                                  - location
                                  - period
                                  - website
                                  - description
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                        - type: object
                          properties:
                            title:
                              type: string
                              description: The title of the section.
                            icon:
                              type: string
                              description: >-
                                Phosphor icon name to display before the section
                                title in the PDF output. Empty string uses the
                                default section icon; 'none' hides the icon.
                            columns:
                              type: integer
                              minimum: 1
                              maximum: 6
                              description: >-
                                The number of columns the section should span
                                across.
                            hidden:
                              type: boolean
                              description: Whether to hide the section from the resume.
                            showHeading:
                              type: boolean
                              description: >-
                                Whether to show the section heading, icon, and
                                decoration while retaining section content.
                            keepTogether:
                              type: boolean
                              description: >-
                                If true, the section is kept on a single page
                                instead of splitting across a page break.
                            startOnNewPage:
                              type: boolean
                              description: >-
                                If true, the section always begins on a new
                                page.
                            keywordLayout:
                              not: {}
                            id:
                              type: string
                              description: >-
                                The unique identifier for the custom section.
                                Usually generated as a UUID.
                            type:
                              const: references
                              description: >-
                                The type of items this custom section contains.
                                Determines which item schema and form fields to
                                use.
                            items:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    description: >-
                                      The unique identifier for the item.
                                      Usually generated as a UUID.
                                  hidden:
                                    type: boolean
                                    description: Whether to hide the item from the resume.
                                  name:
                                    type: string
                                    description: >-
                                      The name of the reference, or a note such
                                      as 'Available upon request'. Empty while
                                      the entry is a draft, which isn't printed.
                                  position:
                                    type: string
                                    description: >-
                                      The position or job title of the
                                      reference.
                                  website:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                        description: >-
                                          The URL to show as a link. Must be a
                                          valid URL with a protocol (http:// or
                                          https://).
                                      label:
                                        type: string
                                        description: >-
                                          The label to display for the URL. Leave
                                          blank to display the URL as-is.
                                      inlineLink:
                                        type: boolean
                                        description: >-
                                          If true, the website URL is rendered as
                                          a hyperlink on the title instead of a
                                          separate link at the bottom.
                                    required:
                                      - url
                                      - label
                                      - inlineLink
                                    description: >-
                                      The website or LinkedIn profile of the
                                      reference, if any.
                                  phone:
                                    type: string
                                    description: The phone number of the reference.
                                  description:
                                    type: string
                                    description: >-
                                      The description of the reference. Can be
                                      used to display a quote, a testimonial,
                                      etc. This should be a HTML-formatted
                                      string.
                                required:
                                  - id
                                  - hidden
                                  - name
                                  - position
                                  - website
                                  - phone
                                  - description
                                additionalProperties: {}
                              description: >-
                                The items to display in the custom section.
                                Items follow the schema of the section type.
                          required:
                            - title
                            - icon
                            - columns
                            - hidden
                            - keepTogether
                            - startOnNewPage
                            - id
                            - type
                            - items
                    description: >-
                      Custom sections of the resume, such as a custom section
                      for notes, etc.
                  metadata:
                    type: object
                    properties:
                      template:
                        enum:
                          - azurill
                          - bronzor
                          - chikorita
                          - ditgar
                          - ditto
                          - gengar
                          - glalie
                          - kakuna
                          - lapras
                          - leafish
                          - meowth
                          - onyx
                          - pikachu
                          - 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
                        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
                      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: {}
        '400':
          description: '400'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: BAD_REQUEST
                      status:
                        const: 400
                      message:
                        type: string
                        default: The AI returned an improperly formatted structure.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '502':
          description: '502'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: BAD_GATEWAY
                      status:
                        const: 502
                      message:
                        type: string
                        default: The AI provider returned an error or is unreachable.
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        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: []
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.