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

# Update candidate



## OpenAPI

````yaml /openapi.json patch /api/v1/candidates/{id}
openapi: 3.1.0
info:
  title: Harly API
  version: 1.0.0
servers:
  - url: https://{instance}
    variables:
      instance:
        default: app.harly.dev
        description: Hostname of your Harly installation
security: []
paths:
  /api/v1/candidates/{id}:
    patch:
      tags:
        - Candidates
      summary: Update candidate
      operationId: updateCandidate
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                firstName:
                  type: string
                  minLength: 1
                  maxLength: 120
                lastName:
                  type: string
                  minLength: 1
                  maxLength: 120
                email:
                  type: string
                  maxLength: 320
                  format: email
                  pattern: >-
                    ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                phone:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                address:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                location:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                headline:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                summary:
                  anyOf:
                    - type: string
                      maxLength: 20000
                    - type: 'null'
                linkedinUrl:
                  anyOf:
                    - type: string
                      format: uri
                    - type: 'null'
                githubUrl:
                  anyOf:
                    - type: string
                      format: uri
                    - type: 'null'
                websiteUrl:
                  anyOf:
                    - type: string
                      format: uri
                    - type: 'null'
                educationEntries:
                  anyOf:
                    - maxItems: 100
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                            maxLength: 120
                          school:
                            type: string
                            minLength: 1
                            maxLength: 500
                          degree:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          field:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          startDate:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          endDate:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          description:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                        required:
                          - id
                          - school
                          - degree
                          - field
                          - startDate
                          - endDate
                          - description
                        additionalProperties: false
                    - type: 'null'
                experienceEntries:
                  anyOf:
                    - maxItems: 100
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            minLength: 1
                            maxLength: 120
                          company:
                            type: string
                            minLength: 1
                            maxLength: 500
                          title:
                            type: string
                            minLength: 1
                            maxLength: 500
                          startDate:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          endDate:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          current:
                            default: null
                            anyOf:
                              - type: boolean
                              - type: 'null'
                          location:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                          description:
                            default: null
                            anyOf:
                              - type: string
                                maxLength: 20000
                              - type: 'null'
                        required:
                          - id
                          - company
                          - title
                          - startDate
                          - endDate
                          - current
                          - location
                          - description
                        additionalProperties: false
                    - type: 'null'
              additionalProperties: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      firstName:
                        type: string
                      lastName:
                        type: string
                      email:
                        type: string
                        format: email
                        pattern: >-
                          ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                      phone:
                        anyOf:
                          - type: string
                          - type: 'null'
                      address:
                        anyOf:
                          - type: string
                          - type: 'null'
                      location:
                        anyOf:
                          - type: string
                          - type: 'null'
                      headline:
                        anyOf:
                          - type: string
                          - type: 'null'
                      summary:
                        anyOf:
                          - type: string
                          - type: 'null'
                      linkedinUrl:
                        anyOf:
                          - type: string
                            format: uri
                          - type: 'null'
                      githubUrl:
                        anyOf:
                          - type: string
                            format: uri
                          - type: 'null'
                      websiteUrl:
                        anyOf:
                          - type: string
                            format: uri
                          - type: 'null'
                      educationEntries:
                        type: array
                        items: {}
                      experienceEntries:
                        type: array
                        items: {}
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                      - id
                      - firstName
                      - lastName
                      - email
                      - phone
                      - address
                      - location
                      - headline
                      - summary
                      - linkedinUrl
                      - githubUrl
                      - websiteUrl
                      - educationEntries
                      - experienceEntries
                      - createdAt
                      - updatedAt
                    additionalProperties: false
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          nextCursor:
                            anyOf:
                              - type: string
                              - type: 'null'
                          hasMore:
                            type: boolean
                          limit:
                            type: number
                        required:
                          - nextCursor
                          - hasMore
                          - limit
                        additionalProperties: false
                    additionalProperties: false
                required:
                  - data
                additionalProperties: false
        '401':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '403':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '404':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '422':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Harly API key

````