Update KYC status for a user
curl --request PATCH \
--url https://api.privy.io/v1/users/{user_id}/fiat/kyc \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'privy-app-id: <privy-app-id>' \
--data '
{
"provider": "bridge-sandbox",
"data": {
"type": "individual",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "+59898222122",
"residential_address": {
"street_line_1": "1234 Lombard Street",
"street_line_2": "Apt 2F",
"city": "San Francisco",
"subdivision": "CA",
"postal_code": "94109",
"country": "USA"
},
"signed_agreement_id": "123",
"birth_date": "1989-09-09",
"identifying_information": [
{
"type": "ssn",
"number": "111-11-1111",
"issuing_country": "USA",
"image_front": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",
"image_back": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
}
]
}
}
'HttpResponse<String> response = Unirest.patch("https://api.privy.io/v1/users/{user_id}/fiat/kyc")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"provider\": \"bridge-sandbox\",\n \"data\": {\n \"type\": \"individual\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": \"[email protected]\",\n \"phone\": \"+59898222122\",\n \"residential_address\": {\n \"street_line_1\": \"1234 Lombard Street\",\n \"street_line_2\": \"Apt 2F\",\n \"city\": \"San Francisco\",\n \"subdivision\": \"CA\",\n \"postal_code\": \"94109\",\n \"country\": \"USA\"\n },\n \"signed_agreement_id\": \"123\",\n \"birth_date\": \"1989-09-09\",\n \"identifying_information\": [\n {\n \"type\": \"ssn\",\n \"number\": \"111-11-1111\",\n \"issuing_country\": \"USA\",\n \"image_front\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\",\n \"image_back\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\"\n }\n ]\n }\n}")
.asString();const options = {
method: 'PATCH',
headers: {
'privy-app-id': '<privy-app-id>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
provider: 'bridge-sandbox',
data: {
type: 'individual',
first_name: 'John',
last_name: 'Doe',
email: '[email protected]',
phone: '+59898222122',
residential_address: {
street_line_1: '1234 Lombard Street',
street_line_2: 'Apt 2F',
city: 'San Francisco',
subdivision: 'CA',
postal_code: '94109',
country: 'USA'
},
signed_agreement_id: '123',
birth_date: '1989-09-09',
identifying_information: [
{
type: 'ssn',
number: '111-11-1111',
issuing_country: 'USA',
image_front: 'data:image/jpeg;base64,/9j/4AAQSkZJRg...',
image_back: 'data:image/jpeg;base64,/9j/4AAQSkZJRg...'
}
]
}
})
};
fetch('https://api.privy.io/v1/users/{user_id}/fiat/kyc', 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.privy.io/v1/users/{user_id}/fiat/kyc",
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([
'provider' => 'bridge-sandbox',
'data' => [
'type' => 'individual',
'first_name' => 'John',
'last_name' => 'Doe',
'email' => '[email protected]',
'phone' => '+59898222122',
'residential_address' => [
'street_line_1' => '1234 Lombard Street',
'street_line_2' => 'Apt 2F',
'city' => 'San Francisco',
'subdivision' => 'CA',
'postal_code' => '94109',
'country' => 'USA'
],
'signed_agreement_id' => '123',
'birth_date' => '1989-09-09',
'identifying_information' => [
[
'type' => 'ssn',
'number' => '111-11-1111',
'issuing_country' => 'USA',
'image_front' => 'data:image/jpeg;base64,/9j/4AAQSkZJRg...',
'image_back' => 'data:image/jpeg;base64,/9j/4AAQSkZJRg...'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"privy-app-id: <privy-app-id>"
],
]);
$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.privy.io/v1/users/{user_id}/fiat/kyc"
payload := strings.NewReader("{\n \"provider\": \"bridge-sandbox\",\n \"data\": {\n \"type\": \"individual\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": \"[email protected]\",\n \"phone\": \"+59898222122\",\n \"residential_address\": {\n \"street_line_1\": \"1234 Lombard Street\",\n \"street_line_2\": \"Apt 2F\",\n \"city\": \"San Francisco\",\n \"subdivision\": \"CA\",\n \"postal_code\": \"94109\",\n \"country\": \"USA\"\n },\n \"signed_agreement_id\": \"123\",\n \"birth_date\": \"1989-09-09\",\n \"identifying_information\": [\n {\n \"type\": \"ssn\",\n \"number\": \"111-11-1111\",\n \"issuing_country\": \"USA\",\n \"image_front\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\",\n \"image_back\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
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))
}{
"user_id": "cmaftdj280001ww1ihwhy57s3",
"provider_user_id": "303912cc-74fa-4f7a-9c51-2945b40ac09a",
"status": "under_review"
}Update KYC details
Update the KYC verification status for a user from the configured provider
PATCH
/
v1
/
users
/
{user_id}
/
fiat
/
kyc
Update KYC status for a user
curl --request PATCH \
--url https://api.privy.io/v1/users/{user_id}/fiat/kyc \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'privy-app-id: <privy-app-id>' \
--data '
{
"provider": "bridge-sandbox",
"data": {
"type": "individual",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"phone": "+59898222122",
"residential_address": {
"street_line_1": "1234 Lombard Street",
"street_line_2": "Apt 2F",
"city": "San Francisco",
"subdivision": "CA",
"postal_code": "94109",
"country": "USA"
},
"signed_agreement_id": "123",
"birth_date": "1989-09-09",
"identifying_information": [
{
"type": "ssn",
"number": "111-11-1111",
"issuing_country": "USA",
"image_front": "data:image/jpeg;base64,/9j/4AAQSkZJRg...",
"image_back": "data:image/jpeg;base64,/9j/4AAQSkZJRg..."
}
]
}
}
'HttpResponse<String> response = Unirest.patch("https://api.privy.io/v1/users/{user_id}/fiat/kyc")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"provider\": \"bridge-sandbox\",\n \"data\": {\n \"type\": \"individual\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": \"[email protected]\",\n \"phone\": \"+59898222122\",\n \"residential_address\": {\n \"street_line_1\": \"1234 Lombard Street\",\n \"street_line_2\": \"Apt 2F\",\n \"city\": \"San Francisco\",\n \"subdivision\": \"CA\",\n \"postal_code\": \"94109\",\n \"country\": \"USA\"\n },\n \"signed_agreement_id\": \"123\",\n \"birth_date\": \"1989-09-09\",\n \"identifying_information\": [\n {\n \"type\": \"ssn\",\n \"number\": \"111-11-1111\",\n \"issuing_country\": \"USA\",\n \"image_front\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\",\n \"image_back\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\"\n }\n ]\n }\n}")
.asString();const options = {
method: 'PATCH',
headers: {
'privy-app-id': '<privy-app-id>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
provider: 'bridge-sandbox',
data: {
type: 'individual',
first_name: 'John',
last_name: 'Doe',
email: '[email protected]',
phone: '+59898222122',
residential_address: {
street_line_1: '1234 Lombard Street',
street_line_2: 'Apt 2F',
city: 'San Francisco',
subdivision: 'CA',
postal_code: '94109',
country: 'USA'
},
signed_agreement_id: '123',
birth_date: '1989-09-09',
identifying_information: [
{
type: 'ssn',
number: '111-11-1111',
issuing_country: 'USA',
image_front: 'data:image/jpeg;base64,/9j/4AAQSkZJRg...',
image_back: 'data:image/jpeg;base64,/9j/4AAQSkZJRg...'
}
]
}
})
};
fetch('https://api.privy.io/v1/users/{user_id}/fiat/kyc', 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.privy.io/v1/users/{user_id}/fiat/kyc",
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([
'provider' => 'bridge-sandbox',
'data' => [
'type' => 'individual',
'first_name' => 'John',
'last_name' => 'Doe',
'email' => '[email protected]',
'phone' => '+59898222122',
'residential_address' => [
'street_line_1' => '1234 Lombard Street',
'street_line_2' => 'Apt 2F',
'city' => 'San Francisco',
'subdivision' => 'CA',
'postal_code' => '94109',
'country' => 'USA'
],
'signed_agreement_id' => '123',
'birth_date' => '1989-09-09',
'identifying_information' => [
[
'type' => 'ssn',
'number' => '111-11-1111',
'issuing_country' => 'USA',
'image_front' => 'data:image/jpeg;base64,/9j/4AAQSkZJRg...',
'image_back' => 'data:image/jpeg;base64,/9j/4AAQSkZJRg...'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"privy-app-id: <privy-app-id>"
],
]);
$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.privy.io/v1/users/{user_id}/fiat/kyc"
payload := strings.NewReader("{\n \"provider\": \"bridge-sandbox\",\n \"data\": {\n \"type\": \"individual\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": \"[email protected]\",\n \"phone\": \"+59898222122\",\n \"residential_address\": {\n \"street_line_1\": \"1234 Lombard Street\",\n \"street_line_2\": \"Apt 2F\",\n \"city\": \"San Francisco\",\n \"subdivision\": \"CA\",\n \"postal_code\": \"94109\",\n \"country\": \"USA\"\n },\n \"signed_agreement_id\": \"123\",\n \"birth_date\": \"1989-09-09\",\n \"identifying_information\": [\n {\n \"type\": \"ssn\",\n \"number\": \"111-11-1111\",\n \"issuing_country\": \"USA\",\n \"image_front\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\",\n \"image_back\": \"data:image/jpeg;base64,/9j/4AAQSkZJRg...\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
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))
}{
"user_id": "cmaftdj280001ww1ihwhy57s3",
"provider_user_id": "303912cc-74fa-4f7a-9c51-2945b40ac09a",
"status": "under_review"
}Authorizations
Basic Auth header with your app ID as the username and your app secret as the password.
Headers
ID of your Privy app.
Path Parameters
The ID of the user to update KYC status for
Body
application/json
Response
200 - application/json
Updated KYC verification status
Was this page helpful?

