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

# Update candidate for case

> Sets modifiable data for a candidate.



## OpenAPI

````yaml /background-check-api/api-reference/openapi.json post /candidate/id/{candidateId}/update/case/id/{caseId}
openapi: 3.1.0
info:
  title: KarmaCheck API
  description: >-
    All requests to the KarmaCheck API require a JSON Web Token (JWT) in the
    Authorization header. For an overview of the API and its authentication
    method, refer to the following topics:


    - [API basics](docs/overview/apis/api-overview.md)

    - [Authentication](docs/overview/apis/authentication.md)

    - [Environments](docs/overview/apis/environments.md)

    - [Status codes and errors](docs/overview/apis/errors.md)
  version: '1.0'
  contact:
    name: KarmaCheck
    email: customersuccess@karmacheck.com
servers:
  - description: Stage
    url: https://api-stage.karmacheck.io
  - description: Prod
    url: https://api.karmacheck.io
security:
  - JWT: []
tags:
  - name: Authentication
  - name: Cases
  - name: Candidate onboarding
  - name: Secure documents
  - name: Packages
  - name: Services
  - name: Users
  - name: Companies
  - name: Partner integrations
paths:
  /candidate/id/{candidateId}/update/case/id/{caseId}:
    parameters:
      - schema:
          type: string
        name: candidateId
        in: path
        required: true
        description: The identifier of a candidate.
      - schema:
          type: string
        name: caseId
        in: path
        required: true
        description: The identifier of a case associated with the candidate.
    post:
      tags:
        - Candidate onboarding
      summary: Update candidate for case
      description: Sets modifiable data for a candidate.
      operationId: post-candidate-id-candidateId-update-case-id-caseId
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: >-
                    Cannot be changed once PII is locked. Value provided cannot
                    already be associated with another candidate.
                  format: email
                dob:
                  type: string
                  format: date
                  description: Cannot be changed once PII is locked.
                  example: '1987-01-30'
                givenName:
                  type: string
                  description: >-
                    Cannot be changed once PII is locked. Only letters, numbers,
                    hyphens (-), apostrophes ('), commas (,), periods (.), and
                    underscores (_) are allowed.
                middleName:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Cannot be changed once PII is locked. Only letters, numbers,
                    hyphens (-), apostrophes ('), commas (,), periods (.), and
                    underscores (_) are allowed.
                familyName:
                  type: string
                  description: >-
                    Cannot be changed once PII is locked. Only letters, numbers,
                    hyphens (-), apostrophes ('), commas (,), periods (.), and
                    underscores (_) are allowed.
                phone:
                  type:
                    - string
                    - 'null'
                  pattern: ^\+\d+$
                  example: '+18005550164'
                govtId:
                  type:
                    - string
                    - 'null'
                  description: >-
                    Cannot be changed once PII is locked, but can still be set
                    if the current value is `null`.
            examples:
              Before PII lock:
                value:
                  email: dwight@example.com
                  dob: '1991-04-05'
                  givenName: Dwight
                  familyName: Miller
                  middleName: James
                  phone: '+18005550164'
                  govtId: null
              After PII lock:
                value:
                  phone: '+18005550164'
                  govtId: 333-22-1111
        description: >-
          All fields in the request are optional, so only those that are passed
          in will be set or updated. Any fields left out of the request will
          keep their existing values.


          Some fields are nullable, so passing in an empty string or `null` will
          update the field to be an empty string or `null`.


          Some fields cannot be an empty string or `null`, in which case passing
          in such values will cause the call to fail.


          After a candidate's first case begins processing, their personally
          indentifiable information (PII) will be locked, and only their `phone`
          can be updated. Their `govtId` can be set if it hasn't been already,
          but cannot be updated. Call [Get candidate info for
          case](paths/~1candidate~1info~1case~1id~1{caseId}/get) to check
          whether a candidate has their PII locked.
      responses:
        '200':
          description: >-
            This response will be returned as long as at least one valid update
            is made. The invalid fields will simply be ignored.
        '400':
          description: >-
            This response will be returned if the request didn't contain at
            least one valid update, such as by attempting to update only PII
            fields after PII has been locked. 
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
components:
  securitySchemes:
    JWT:
      type: http
      scheme: bearer

````