curl --request PATCH \
--url https://api-dev.rain.xyz/v1/issuing/applications/user/{userId} \
--header 'Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2000-01-01",
"nationalId": "<string>",
"countryOfIssue": "<string>",
"ipAddress": "<string>",
"occupation": "<string>",
"annualSalary": "<string>",
"accountPurpose": "<string>",
"expectedMonthlyVolume": "<string>",
"isTermsOfServiceAccepted": true,
"hasExistingDocuments": true,
"externalId": "<string>"
}
'import requests
url = "https://api-dev.rain.xyz/v1/issuing/applications/user/{userId}"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2000-01-01",
"nationalId": "<string>",
"countryOfIssue": "<string>",
"ipAddress": "<string>",
"occupation": "<string>",
"annualSalary": "<string>",
"accountPurpose": "<string>",
"expectedMonthlyVolume": "<string>",
"isTermsOfServiceAccepted": True,
"hasExistingDocuments": True,
"externalId": "<string>"
}
headers = {
"Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
birthDate: '2000-01-01',
nationalId: '<string>',
countryOfIssue: '<string>',
ipAddress: '<string>',
occupation: '<string>',
annualSalary: '<string>',
accountPurpose: '<string>',
expectedMonthlyVolume: '<string>',
isTermsOfServiceAccepted: true,
hasExistingDocuments: true,
externalId: '<string>'
})
};
fetch('https://api-dev.rain.xyz/v1/issuing/applications/user/{userId}', 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-dev.rain.xyz/v1/issuing/applications/user/{userId}",
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([
'firstName' => '<string>',
'lastName' => '<string>',
'birthDate' => '2000-01-01',
'nationalId' => '<string>',
'countryOfIssue' => '<string>',
'ipAddress' => '<string>',
'occupation' => '<string>',
'annualSalary' => '<string>',
'accountPurpose' => '<string>',
'expectedMonthlyVolume' => '<string>',
'isTermsOfServiceAccepted' => true,
'hasExistingDocuments' => true,
'externalId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>",
"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-dev.rain.xyz/v1/issuing/applications/user/{userId}"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"birthDate\": \"2000-01-01\",\n \"nationalId\": \"<string>\",\n \"countryOfIssue\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"occupation\": \"<string>\",\n \"annualSalary\": \"<string>\",\n \"accountPurpose\": \"<string>\",\n \"expectedMonthlyVolume\": \"<string>\",\n \"isTermsOfServiceAccepted\": true,\n \"hasExistingDocuments\": true,\n \"externalId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Api-Key", "<api-key>")
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-dev.rain.xyz/v1/issuing/applications/user/{userId}")
.header("Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"birthDate\": \"2000-01-01\",\n \"nationalId\": \"<string>\",\n \"countryOfIssue\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"occupation\": \"<string>\",\n \"annualSalary\": \"<string>\",\n \"accountPurpose\": \"<string>\",\n \"expectedMonthlyVolume\": \"<string>\",\n \"isTermsOfServiceAccepted\": true,\n \"hasExistingDocuments\": true,\n \"externalId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.rain.xyz/v1/issuing/applications/user/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"birthDate\": \"2000-01-01\",\n \"nationalId\": \"<string>\",\n \"countryOfIssue\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"occupation\": \"<string>\",\n \"annualSalary\": \"<string>\",\n \"accountPurpose\": \"<string>\",\n \"expectedMonthlyVolume\": \"<string>\",\n \"isTermsOfServiceAccepted\": true,\n \"hasExistingDocuments\": true,\n \"externalId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"isActive": true,
"applicationStatus": "approved",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"externalId": "<string>",
"sourceKey": "<string>",
"address": {
"line1": "<string>",
"city": "<string>",
"region": "<string>",
"postalCode": "<string>",
"countryCode": "<string>",
"line2": "<string>",
"country": "<string>"
},
"phoneCountryCode": "1",
"phoneNumber": "5555555555",
"walletAddress": "<string>",
"solanaAddress": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"applicationExternalVerificationLink": {
"url": "<string>",
"params": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
},
"applicationCompletionLink": {
"url": "<string>",
"params": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
},
"applicationReason": "<string>"
}Update a user's consumer application
curl --request PATCH \
--url https://api-dev.rain.xyz/v1/issuing/applications/user/{userId} \
--header 'Api-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2000-01-01",
"nationalId": "<string>",
"countryOfIssue": "<string>",
"ipAddress": "<string>",
"occupation": "<string>",
"annualSalary": "<string>",
"accountPurpose": "<string>",
"expectedMonthlyVolume": "<string>",
"isTermsOfServiceAccepted": true,
"hasExistingDocuments": true,
"externalId": "<string>"
}
'import requests
url = "https://api-dev.rain.xyz/v1/issuing/applications/user/{userId}"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2000-01-01",
"nationalId": "<string>",
"countryOfIssue": "<string>",
"ipAddress": "<string>",
"occupation": "<string>",
"annualSalary": "<string>",
"accountPurpose": "<string>",
"expectedMonthlyVolume": "<string>",
"isTermsOfServiceAccepted": True,
"hasExistingDocuments": True,
"externalId": "<string>"
}
headers = {
"Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
birthDate: '2000-01-01',
nationalId: '<string>',
countryOfIssue: '<string>',
ipAddress: '<string>',
occupation: '<string>',
annualSalary: '<string>',
accountPurpose: '<string>',
expectedMonthlyVolume: '<string>',
isTermsOfServiceAccepted: true,
hasExistingDocuments: true,
externalId: '<string>'
})
};
fetch('https://api-dev.rain.xyz/v1/issuing/applications/user/{userId}', 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-dev.rain.xyz/v1/issuing/applications/user/{userId}",
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([
'firstName' => '<string>',
'lastName' => '<string>',
'birthDate' => '2000-01-01',
'nationalId' => '<string>',
'countryOfIssue' => '<string>',
'ipAddress' => '<string>',
'occupation' => '<string>',
'annualSalary' => '<string>',
'accountPurpose' => '<string>',
'expectedMonthlyVolume' => '<string>',
'isTermsOfServiceAccepted' => true,
'hasExistingDocuments' => true,
'externalId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Api-Key: <api-key>",
"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-dev.rain.xyz/v1/issuing/applications/user/{userId}"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"birthDate\": \"2000-01-01\",\n \"nationalId\": \"<string>\",\n \"countryOfIssue\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"occupation\": \"<string>\",\n \"annualSalary\": \"<string>\",\n \"accountPurpose\": \"<string>\",\n \"expectedMonthlyVolume\": \"<string>\",\n \"isTermsOfServiceAccepted\": true,\n \"hasExistingDocuments\": true,\n \"externalId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Api-Key", "<api-key>")
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-dev.rain.xyz/v1/issuing/applications/user/{userId}")
.header("Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"birthDate\": \"2000-01-01\",\n \"nationalId\": \"<string>\",\n \"countryOfIssue\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"occupation\": \"<string>\",\n \"annualSalary\": \"<string>\",\n \"accountPurpose\": \"<string>\",\n \"expectedMonthlyVolume\": \"<string>\",\n \"isTermsOfServiceAccepted\": true,\n \"hasExistingDocuments\": true,\n \"externalId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-dev.rain.xyz/v1/issuing/applications/user/{userId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"birthDate\": \"2000-01-01\",\n \"nationalId\": \"<string>\",\n \"countryOfIssue\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"occupation\": \"<string>\",\n \"annualSalary\": \"<string>\",\n \"accountPurpose\": \"<string>\",\n \"expectedMonthlyVolume\": \"<string>\",\n \"isTermsOfServiceAccepted\": true,\n \"hasExistingDocuments\": true,\n \"externalId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>",
"isActive": true,
"applicationStatus": "approved",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"externalId": "<string>",
"sourceKey": "<string>",
"address": {
"line1": "<string>",
"city": "<string>",
"region": "<string>",
"postalCode": "<string>",
"countryCode": "<string>",
"line2": "<string>",
"country": "<string>"
},
"phoneCountryCode": "1",
"phoneNumber": "5555555555",
"walletAddress": "<string>",
"solanaAddress": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"applicationExternalVerificationLink": {
"url": "<string>",
"params": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
},
"applicationCompletionLink": {
"url": "<string>",
"params": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
},
"applicationReason": "<string>"
}Authorizations
Path Parameters
Id of the user whose application is being reapplied
Body
Update information for this user
The user - they must have a wallet address, and their wallet address will be an owner on the company's Rain smart contract
The person's first name
50The person's last name
50The person's birth date
"2000-01-01"
The person's national id, 9-digit SSN if country of issue is US
The person's country of issue of their national id
2The person's address
Show child attributes
Show child attributes
The user's IP address
The user's occupation
The user's annual salary
The purpose of the user's account
The amount of money the user expects to spend each month
Optional. Whether the user has accepted the terms of service. If omitted, this defaults to true server-side.
true Whether or not to use existing documents for additional verification
An optional tenant-defined identifier for this user. Must be unique within the tenant.
1 - 255Response
Successful operation
The user's unique identifier
The user's first name
50The user's last name
50The user's email address
Whether the user is active
approved, pending, needsInformation, needsVerification, manualReview, denied, locked, canceled The id of the company that the user belongs to, if any
An optional tenant-defined identifier for this user. Must be unique within the tenant.
1 - 255The source key associated with the user's team
1 - 24The user's physical address
Show child attributes
Show child attributes
The user's phone country code
1 - 3^[0-9]+$"1"
The user's phone number
1 - 15^[0-9]+$"5555555555"
The user's EVM wallet address
The user's Solana wallet address
^[1-9A-HJ-NP-Za-km-z]{32,44}$When the user was created
When the user was last updated
The link to the external verification page for the application
Show child attributes
Show child attributes
The link to the completion page for the application
Show child attributes
Show child attributes
The reason for the application status