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

# Update User Demographics

> Partially update user info via the Junction API. Requires authentication with your team API key.

<Note>
  Patient name fields (`first_name`, `last_name`) must follow specific validation rules due to lab restrictions. See [Patient Name Validation](/lab/workflow/order-requirements#patient-name-validation) for complete details.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl --request PATCH \
       --url {{BASE_URL}}/v2/user/{user_id}/info \
       --header 'Accept: application/json' \
       --header 'x-vital-api-key: <API_KEY>' \
       --header 'Content-Type: application/json' \
       --data '
  {
    "first_name": "John",
    "last_name": "Doe", 
    "email": "john@email.com", 
    "phone_number":"+1123123123",
    "gender": "Male", 
    "dob": "1999-01-01", 
    "address": {
  	  "first_line": "Some Street", 
  	  "second_line": null,
      "zip_code": "85004",
      "state": "AZ",
      "city": "Phoenix"
    }
  }
  '
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "first_name": "John",
    "last_name": "Doe", 
    "email": "john@email.com", 
    "phone_number":"+1123123123",
    "gender": "Male", 
    "dob": "1999-01-01", 
    "address": {
  	  "first_line": "Some Street", 
  	  "second_line": null,
      "zip_code": "85004",
      "state": "AZ",
      "city": "Phoenix"
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml PATCH /v2/user/{user_id}/info
openapi: 3.1.0
info:
  title: Junction API
  description: https://docs.junction.com/
  version: 0.4.483
servers:
  - url: https://api.us.junction.com
    x-fern-server-name: Production
  - url: https://api.eu.junction.com
    x-fern-server-name: ProductionEU
  - url: https://api.sandbox.us.junction.com
    x-fern-server-name: Sandbox
  - url: https://api.sandbox.eu.junction.com
    x-fern-server-name: SandboxEU
security:
  - apiKeyAuth: []
paths:
  /v2/user/{user_id}/info:
    patch:
      tags:
        - user
      summary: Create User Demographics
      operationId: create_user_demographics_v2_user__user_id__info_patch
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UserInfoCreateRequest:
      properties:
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        email:
          type: string
          format: email
          title: Email
        phone_number:
          type: string
          title: Phone Number
        gender:
          type: string
          title: Gender
        dob:
          type: string
          format: date
          title: Dob
        address:
          $ref: '#/components/schemas/UserAddress'
        medical_proxy:
          anyOf:
            - $ref: '#/components/schemas/GuarantorDetails'
            - type: 'null'
        race:
          anyOf:
            - $ref: '#/components/schemas/Race'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
        ethnicity:
          anyOf:
            - $ref: '#/components/schemas/Ethnicity'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
        sexual_orientation:
          anyOf:
            - $ref: '#/components/schemas/SexualOrientation'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
        gender_identity:
          anyOf:
            - $ref: '#/components/schemas/GenderIdentity'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
      type: object
      required:
        - first_name
        - last_name
        - email
        - phone_number
        - gender
        - dob
        - address
      title: UserInfoCreateRequest
    UserInfo:
      properties:
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        email:
          type: string
          title: Email
        phone_number:
          type: string
          title: Phone Number
        gender:
          type: string
          title: Gender
        dob:
          type: string
          format: date
          title: Dob
        address:
          $ref: '#/components/schemas/UserAddress'
        medical_proxy:
          anyOf:
            - $ref: '#/components/schemas/GuarantorDetails'
            - type: 'null'
        race:
          anyOf:
            - $ref: '#/components/schemas/Race'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
        ethnicity:
          anyOf:
            - $ref: '#/components/schemas/Ethnicity'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
        sexual_orientation:
          anyOf:
            - $ref: '#/components/schemas/SexualOrientation'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
        gender_identity:
          anyOf:
            - $ref: '#/components/schemas/GenderIdentity'
            - type: 'null'
          description: ℹ️ This enum is non-exhaustive.
      type: object
      required:
        - first_name
        - last_name
        - email
        - phone_number
        - gender
        - dob
        - address
      title: UserInfo
    HTTPValidationError:
      properties:
        detail:
          title: Detail
      type: object
      title: HTTPValidationError
    UserAddress:
      properties:
        first_line:
          type: string
          title: First Line
        second_line:
          anyOf:
            - type: string
            - type: 'null'
          title: Second Line
          default: ''
        country:
          type: string
          title: Country
        zip:
          type: string
          title: Zip
        city:
          type: string
          title: City
        state:
          type: string
          title: State
        access_notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Notes
      type: object
      required:
        - first_line
        - country
        - zip
        - city
        - state
      title: UserAddress
    GuarantorDetails:
      properties:
        first_name:
          type: string
          title: First Name
        last_name:
          type: string
          title: Last Name
        address:
          $ref: '#/components/schemas/Address'
        phone_number:
          type: string
          title: Phone Number
        household_income:
          anyOf:
            - type: integer
            - type: 'null'
          title: Household Income
        household_size:
          anyOf:
            - type: integer
            - type: 'null'
          title: Household Size
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
      type: object
      required:
        - first_name
        - last_name
        - address
        - phone_number
      title: GuarantorDetails
    Race:
      type: string
      enum:
        - african_american_or_black
        - asian
        - indigenous_native_american_alaska_native
        - other
        - pacific_islander_or_hawaiian
        - white_caucasian
      title: Race
      description: ℹ️ This enum is non-exhaustive.
    Ethnicity:
      type: string
      enum:
        - hispanic
        - non_hispanic
        - ashkenazi_jewish
        - other
      title: Ethnicity
      description: ℹ️ This enum is non-exhaustive.
    SexualOrientation:
      type: string
      enum:
        - lesbian_gay_or_homosexual
        - heterosexual_or_straight
        - bisexual
        - dont_know
        - other
      title: SexualOrientation
      description: ℹ️ This enum is non-exhaustive.
    GenderIdentity:
      type: string
      enum:
        - male
        - female
        - female_to_male_ftm_transgender_male_trans_man
        - male_to_female_mtf_transgender_female_trans_woman
        - genderqueer
        - other
      title: GenderIdentity
      description: ℹ️ This enum is non-exhaustive.
    Address:
      properties:
        first_line:
          type: string
          title: First Line
        second_line:
          anyOf:
            - type: string
            - type: 'null'
          title: Second Line
          default: ''
        country:
          type: string
          title: Country
        zip:
          type: string
          title: Zip
        city:
          type: string
          title: City
        state:
          type: string
          title: State
        access_notes:
          anyOf:
            - type: string
              maxLength: 1000
            - type: 'null'
          title: Access Notes
      type: object
      required:
        - first_line
        - country
        - zip
        - city
        - state
      title: Address
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-vital-api-key
      description: Vital Team API Key

````