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

# Update a person

> Update a person



## OpenAPI

````yaml /api-reference/openapi.yaml patch /v1/people/{id}
openapi: 3.0.1
info:
  title: Slant Public API V1
  version: v1
  description: Public API for creating and managing resources in Slant
  contact:
    name: Slant API Support
    email: api@slant.com
servers:
  - url: https://api.slant.app
security:
  - bearer: []
paths:
  /v1/people/{id}:
    patch:
      tags:
        - People
      summary: Update a person
      description: Update a person
      parameters:
        - name: id
          in: path
          description: The person ID
          required: true
          example: 123e4567-e89b-12d3-a456-426614174000
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
          description: >-
            Unique key to ensure idempotent request handling. If a request with
            the same key was already processed, the original response will be
            returned.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: First name
                  example: John
                last_name:
                  type: string
                  description: Last name
                  example: Doe
                middle_name:
                  type: string
                  description: Middle name
                  example: Robert
                preferred_name:
                  type: string
                  description: Preferred name
                  example: Johnny
                salutation:
                  type: string
                  description: Salutation
                  example: Mr.
                suffix:
                  type: string
                  description: Suffix
                  example: Jr.
                gender:
                  type: string
                  enum:
                    - female
                    - male
                    - nonbinary
                    - other
                    - prefer_not_to_say
                  description: Gender
                  example: male
                designations:
                  type: string
                  description: Professional designations
                  example: CPA, CFP
                household_role:
                  type: string
                  enum:
                    - head_of_household
                    - partner
                    - spouse
                    - dependent_child
                    - other_adult
                    - non_dependent_child
                    - other_dependent
                    - unknown
                    - deceased
                    - grandchild
                  description: Role in the household
                  example: spouse
                date_of_birth:
                  type: string
                  format: date
                  description: Date of birth
                  example: '1985-06-15'
                job_title:
                  type: string
                  example: Software Engineer
                  description: Job title
                ssn:
                  type: string
                  description: Social security number
                  example: 123-45-6789
                drivers_license_number:
                  type: string
                  description: Driver's license number
                  example: DL-1234567890
                custom_fields:
                  type: object
                  description: Custom field values as key-value pairs
                  example:
                    preferred_contact_method: Email
        required: true
      responses:
        '200':
          description: person updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
        '400':
          description: bad request - invalid JSON
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                  - detail
                properties:
                  error:
                    type: string
                    description: Error code
                    enum:
                      - invalid_json
                  detail:
                    oneOf:
                      - type: string
                        description: Human-readable error description
                      - type: array
                        items:
                          type: string
                        description: Array of validation error messages
        '401':
          description: unauthorized - missing or invalid token
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                  - detail
                properties:
                  error:
                    type: string
                    description: Error code
                    enum:
                      - token_missing
                      - token_invalid
                  detail:
                    oneOf:
                      - type: string
                        description: Human-readable error description
                      - type: array
                        items:
                          type: string
                        description: Array of validation error messages
        '403':
          description: forbidden
        '404':
          description: not found
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                  - detail
                properties:
                  error:
                    type: string
                    description: Error code
                    enum:
                      - record_not_found
                  detail:
                    oneOf:
                      - type: string
                        description: Human-readable error description
                      - type: array
                        items:
                          type: string
                        description: Array of validation error messages
      security:
        - bearer: []
components:
  schemas:
    Person:
      type: object
      required:
        - id
        - book_id
        - first_name
        - last_name
      properties:
        id:
          type: string
          description: The person ID
          example: abc123xyz
        book_id:
          type: string
          description: The book ID
          example: book123xyz
        household_id:
          type: string
          description: The household ID
          example: xyz789abc
          nullable: true
        contact_id:
          type: string
          description: The contact ID (present when person belongs to a contact)
          example: cnt456def
          nullable: true
        role_type:
          type: string
          enum:
            - client
            - prospect
            - contact
            - past_client
          description: The entity type this person belongs to
          example: client
          nullable: true
        first_name:
          type: string
          example: John
        middle_name:
          type: string
          example: Robert
          nullable: true
        last_name:
          type: string
          example: Doe
        salutation:
          type: string
          example: Mr.
          nullable: true
        suffix:
          type: string
          example: Jr.
          nullable: true
        maiden_name:
          type: string
          example: Smith
          nullable: true
        gender:
          type: string
          enum:
            - female
            - male
            - nonbinary
            - other
            - prefer_not_to_say
          example: male
          nullable: true
        designations:
          type: string
          example: CPA, CFP
          nullable: true
        household_role:
          type: string
          enum:
            - head_of_household
            - partner
            - spouse
            - dependent_child
            - other_adult
            - other_dependent
            - unknown
            - deceased
            - non_dependent_child
            - grandchild
          example: head_of_household
          nullable: true
          description: Only present when person belongs to a household
        preferred_name:
          type: string
          example: Johnny
          nullable: true
        date_of_birth:
          type: string
          format: date
          description: Date of birth
          example: '1985-06-15'
          nullable: true
        job_title:
          type: string
          description: Job title
          example: Software Engineer
          nullable: true
        ssn:
          type: string
          description: Obfuscated social security number
          example: '***-**-6789'
          nullable: true
        drivers_license_number:
          type: string
          description: Obfuscated driver's license number
          example: '******7890'
          nullable: true
        email_addresses:
          type: array
          items:
            $ref: '#/components/schemas/Email'
          description: Array of email addresses with primary designation
        phone_numbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
          description: Array of phone numbers with primary designation
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
          description: Array of addresses with primary designation
        employments:
          type: array
          items:
            $ref: '#/components/schemas/Employment'
          description: Array of employment records
        custom_fields:
          type: object
          description: Custom field values as key-value pairs
          example:
            preferred_contact_method: Email
            risk_tolerance: Moderate
    Email:
      type: object
      required:
        - email
        - email_type
        - is_primary
      properties:
        email:
          type: string
          format: email
          example: john.doe@example.com
        email_type:
          type: string
          enum:
            - personal
            - business
            - school
            - other
          example: personal
        is_primary:
          type: boolean
          example: true
    PhoneNumber:
      type: object
      required:
        - phone_number
        - phone_type
        - is_primary
      properties:
        phone_number:
          type: string
          example: '+15555551234'
        extension:
          type: string
          nullable: true
          example: '1234'
        phone_type:
          type: string
          enum:
            - mobile
            - work
            - home
            - fax
            - other
          example: mobile
        is_primary:
          type: boolean
          example: true
    Address:
      type: object
      required:
        - address_type
        - is_primary
      properties:
        line1:
          type: string
          example: 123 Main St
          nullable: true
        line2:
          type: string
          example: Apt 4B
          nullable: true
        city:
          type: string
          example: New York
          nullable: true
        state:
          type: string
          example: NY
          nullable: true
        zip:
          type: string
          example: '10001'
          nullable: true
        country_code:
          type: string
          example: US
          nullable: true
        address_type:
          type: string
          enum:
            - home
            - work
            - mailing
            - other
          example: home
        is_primary:
          type: boolean
          example: true
    Employment:
      type: object
      required:
        - business_name
      properties:
        id:
          type: string
          description: The employment ID
          example: emp123xyz
        person_id:
          type: string
          description: The person ID
          example: abc123xyz
        business_name:
          type: string
          example: Acme Corp
        role:
          type: string
          example: Software Engineer
          nullable: true
        start_date:
          type: string
          format: date
          example: '2023-01-15'
          nullable: true
        end_date:
          type: string
          format: date
          example: '2024-12-31'
          nullable: true
        actively_employed:
          type: boolean
          example: true
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: OAuth
      description: OAuth 2.0 Bearer Token from Clerk authentication

````