Skip to main content
PATCH
/
core
/
kyc
/
processes
/
address
Update address
curl --request PATCH \
  --url https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "input": {
    "address": {
      "subdivision": "GB-MAN",
      "city": "Manchester",
      "line1": "1 High Street",
      "line2": "Northern Quarter",
      "postalCode": "M4 1AA"
    }
  }
}
'
import requests

url = "https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address"

payload = { "input": { "address": {
"subdivision": "GB-MAN",
"city": "Manchester",
"line1": "1 High Street",
"line2": "Northern Quarter",
"postalCode": "M4 1AA"
} } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
input: {
address: {
subdivision: 'GB-MAN',
city: 'Manchester',
line1: '1 High Street',
line2: 'Northern Quarter',
postalCode: 'M4 1AA'
}
}
})
};

fetch('https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'input' => [
'address' => [
'subdivision' => 'GB-MAN',
'city' => 'Manchester',
'line1' => '1 High Street',
'line2' => 'Northern Quarter',
'postalCode' => 'M4 1AA'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address"

payload := strings.NewReader("{\n \"input\": {\n \"address\": {\n \"subdivision\": \"GB-MAN\",\n \"city\": \"Manchester\",\n \"line1\": \"1 High Street\",\n \"line2\": \"Northern Quarter\",\n \"postalCode\": \"M4 1AA\"\n }\n }\n}")

req, _ := http.NewRequest("PATCH", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.patch("https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"input\": {\n \"address\": {\n \"subdivision\": \"GB-MAN\",\n \"city\": \"Manchester\",\n \"line1\": \"1 High Street\",\n \"line2\": \"Northern Quarter\",\n \"postalCode\": \"M4 1AA\"\n }\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.enterprise.sandbox.uphold.com/core/kyc/processes/address")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"input\": {\n \"address\": {\n \"subdivision\": \"GB-MAN\",\n \"city\": \"Manchester\",\n \"line1\": \"1 High Street\",\n \"line2\": \"Northern Quarter\",\n \"postalCode\": \"M4 1AA\"\n }\n }\n}"

response = http.request(request)
puts response.read_body
{
  "address": {
    "code": "address",
    "status": "ok",
    "verification": {
      "model": "none",
      "method": "manual",
      "dependencies": []
    },
    "input": {
      "address": {
        "country": "GB",
        "subdivision": "GB-MAN",
        "city": "Manchester",
        "line1": "1 High Street",
        "line2": "Northern Quarter",
        "postalCode": "M4 1AA"
      }
    }
  }
}
Update address is the endpoint through which the user can update their address of residence.
This process solely updates the user’s address of residence. It does not perform any verification. For address verification, refer to the proof-of-address process.

Subdivision update requirements

The subdivision field is only accepted in the request if both of the following conditions are met:
If the subdivision field is provided without meeting the above conditions, the request is rejected with a 409 Conflict error — operation_not_allowed with subdivision-update-non-authoritative-proof-of-address (when proof-of-address is uphold-verified) or subdivision-update-restricted-by-residence-country (when country is US) in details.reasons.

Authorizations

Authorization
string
header
required

OAuth 2.0 authentication.

Body

application/json
input
object
required

Input of the KYC process.

Response

KYC address process updated.

address
object
required

The KYC address object.