---
title: "Update proof-of-address"
method: PATCH
path: "/core/kyc/processes/proof-of-address"
tags: ["KYC"]
---

# Update proof-of-address

`PATCH /core/kyc/processes/proof-of-address`

## Request

- Base URL: `https://api.enterprise.sandbox.uphold.com`
- URL: `https://api.enterprise.sandbox.uphold.com/core/kyc/processes/proof-of-address`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/core/oauth2/token` scopes: `core.kyc.proof-of-address:update`
- TypeScript: <https://skmtc.dev/uphold/apis/core-api/docs/core/kyc/processes/proof-of-address/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update the proof-of-address process for an individual user.

## Headers

- `X-On-Behalf-Of` string
- `X-Uphold-User-Ip` union
  - string, ipv4
  - string, ipv6
- `X-Uphold-User-Agent` string
- `X-Uphold-User-Origin` string
- `X-Uphold-User-Country` string
- `X-Uphold-User-Subdivision` string
- `X-Uphold-User-City` string

## Request body

- union
  - object
    - `type` 'document-submission', required: The proof-of-address submission type.
    - `input` object: Input of the KYC process.
      - `media` object[], required
        - `context` 'address-proof', required: The context of the file.
        - `fileId` string, uuid, required: The id of the file.
    - `output` object: Output of the KYC process.
      - `provider` string: The provider used to verify the KYC process.
      - `person` object: The person information.
        - `givenName` string, required: The person's given name.
        - `familyName` string: The person's family name or surname.
        - `address` object, required: The address information.
          - `country` string, required: The country of the address.
          - `subdivision` string: The subdivision of the address.
          - `city` string: The city of the address.
          - `line1` string: The first line of the address.
          - `line2` string: The second line of the address.
          - `postalCode` string: The postal code of the address.
      - `verifiedAt` string, date-time, required: The date and time of the verification.
  - object
    - `type` 'electronic-verification', required: The proof-of-address submission type.
    - `input` object: Input of the KYC process.
      - `data` object, required: The declared data used to verify the process.
        - `givenName` string, required: The given name.
        - `familyName` string: The family name or surname.
        - `address` object, required: The address information.
          - `country` string, required: The country of the address.
          - `subdivision` string: The subdivision of the address.
          - `city` string: The city of the address.
          - `line1` string: The first line of the address.
          - `line2` string: The second line of the address.
          - `postalCode` string: The postal code of the address.
    - `output` object: Output of the KYC process.
      - `provider` string: The provider used to verify the KYC process.
      - `verifiedAt` string, date-time, required: The date and time of the verification.

## Response `200`

KYC proof-of-address process updated.

- object
  - `proofOfAddress` union, required: The KYC proof-of-address object.
    - KycProofOfAddressNone
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'none': The proof-of-address submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
    - KycProofOfAddressDocumentSubmission
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'document-submission', required: The proof-of-address submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
      - `input` object: Input of the KYC process.
        - `media` object[], required: The media that was collected during the process.
          - `context` 'address-proof', required: The context of the file.
          - `fileId` string, uuid, required: The id of the file.
      - `output` object: Output of the KYC process.
        - `provider` string, required: The provider used to verify the KYC process.
        - `providerDetails` object: The provider details associated with the verification.
          - `reasons` string[]: The reasons associated with the verification.
        - `reason` 'address-mismatch' | 'name-mismatch' | 'provider-verification-rejected': The reason associated with the verification.
        - `person` object: The person information.
          - `givenName` string: The person's given name.
          - `familyName` string: The person's family name or surname.
          - `address` object: The address information.
            - `country` string: The country of the address.
            - `subdivision` string: The subdivision of the address.
            - `city` string: The city of the address.
            - `line1` string: The first line of the address.
            - `line2` string: The second line of the address.
            - `postalCode` string: The postal code of the address.
        - `verifiedAt` string, date-time, required: The date and time of the verification.
    - KycProofOfAddressElectronicVerification
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'electronic-verification', required: The proof-of-address submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
      - `input` object: Input of the KYC process.
        - `data` object, required: The declared data used to verify the process.
          - `givenName` string, required: The given name.
          - `familyName` string: The family name or surname.
          - `address` object, required: The address information.
            - `country` string, required: The country of the address.
            - `subdivision` string: The subdivision of the address.
            - `city` string: The city of the address.
            - `line1` string: The first line of the address.
            - `line2` string: The second line of the address.
            - `postalCode` string: The postal code of the address.
      - `output` object: Output of the KYC process.
        - `provider` string, required: The provider used to verify the KYC process.
        - `reason` 'address-mismatch' | 'name-mismatch': The reason associated with the verification.
        - `verifiedAt` string, date-time, required: The date and time of the verification.
    - KycProofOfAddressFromIdentity
      - `code` string, required: The code of the KYC process.
      - `status` 'ok' | 'failed' | 'running' | 'pending' | 'exempt', required: Status of the KYC process.
      - `type` 'from-identity', required: The proof-of-address submission type.
      - `verification` object: Configuration of this process.
        - `model` 'none' | 'partner-verified' | 'uphold-verified', required: The verification model to complete this process.
        - `method` 'automatic' | 'manual', required: Whether this process is verified automatically in the background or requires user action.
        - `triggers` string[]: Other processes that, once updated, trigger this process to run automatically. Only present when `method` is `automatic`.
        - `dependencies` string[], required: The processes that must be updated before you can update this one.
        - `submittable` boolean, required: Whether this process currently accepts a new submission.
      - `output` object: Output of the KYC process.
        - `provider` string, required: The provider used to verify the KYC process.
        - `reason` 'address-mismatch' | 'name-mismatch': The reason associated with the verification.
        - `person` object: The person information.
          - `givenName` string: The person's given name.
          - `familyName` string: The person's family name or surname.
          - `address` object: The address information.
            - `country` string: The country of the address.
            - `subdivision` string: The subdivision of the address.
            - `city` string: The city of the address.
            - `line1` string: The first line of the address.
            - `line2` string: The second line of the address.
            - `postalCode` string: The postal code of the address.
        - `verifiedAt` string, date-time, required: The date and time of the verification.
  - `warnings` ProcessWarnings: The warnings generated during a process update.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Resource not found.
- `409`: Business logic error.
- `429`: Too Many Requests.

---

[API](https://skmtc.dev/uphold/apis/core-api.md) - [All operations](https://skmtc.dev/uphold/apis/core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uphold/apis/core-api/revisions/6c663575c57a?raw)
