Update request for information
curl --request PUT \
--url https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"proof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": true,
"status": "verified",
"txUpdate": {
"originatorProof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": true,
"status": "verified"
},
"transactionAsset": {
"caip19": "xrpl:0/slip44:144"
},
"transactionAmount": "4000000",
"originatorEqualsBeneficiary": true,
"beneficiaryVASPdid": "did:ethr:0xExampleVASPAddress000000000000000000000000",
"originatorVASPdid": "did:pkh:xrpl:0:rExampleAddress123456789",
"beneficiary": {},
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
]
}
}
}
]
}
}
},
"errors": [],
"status": "pending",
"valid": true,
"value": {
"amountDecimal": 4,
"asset": "XRP-XRP",
"customer": {
"name": "John Doe",
"type": "natural"
},
"source": [
"rExampleAddress123456789"
],
"agent": {
"type": "WALLET",
"verified": true,
"did": "did:pkh:xrpl:0:rExampleAddress123456789"
},
"counterparty": {
"name": "John Doe",
"type": "self",
"did": "did:key:zExampleKeyDid123456789",
"verified": true
},
"assetPrice": {
"price": 1.23,
"currency": "USD"
}
},
"ivms101": {
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
]
}
}
}
]
}
}
}
}
'import requests
url = "https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}"
payload = { "data": {
"proof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": True,
"status": "verified",
"txUpdate": {
"originatorProof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": True,
"status": "verified"
},
"transactionAsset": { "caip19": "xrpl:0/slip44:144" },
"transactionAmount": "4000000",
"originatorEqualsBeneficiary": True,
"beneficiaryVASPdid": "did:ethr:0xExampleVASPAddress000000000000000000000000",
"originatorVASPdid": "did:pkh:xrpl:0:rExampleAddress123456789",
"beneficiary": {},
"originator": { "originatorPersons": [{ "naturalPerson": { "name": { "nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
] } } }] }
}
},
"errors": [],
"status": "pending",
"valid": True,
"value": {
"amountDecimal": 4,
"asset": "XRP-XRP",
"customer": {
"name": "John Doe",
"type": "natural"
},
"source": ["rExampleAddress123456789"],
"agent": {
"type": "WALLET",
"verified": True,
"did": "did:pkh:xrpl:0:rExampleAddress123456789"
},
"counterparty": {
"name": "John Doe",
"type": "self",
"did": "did:key:zExampleKeyDid123456789",
"verified": True
},
"assetPrice": {
"price": 1.23,
"currency": "USD"
}
},
"ivms101": { "originator": { "originatorPersons": [{ "naturalPerson": { "name": { "nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
] } } }] } }
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {
proof: {
type: 'self-declaration',
did: 'did:pkh:xrpl:0:rExampleAddress123456789',
address: 'xrpl:0:rExampleAddress123456789',
attestation: 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
confirmed: true,
status: 'verified',
txUpdate: {
originatorProof: {
type: 'self-declaration',
did: 'did:pkh:xrpl:0:rExampleAddress123456789',
address: 'xrpl:0:rExampleAddress123456789',
attestation: 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
confirmed: true,
status: 'verified'
},
transactionAsset: {caip19: 'xrpl:0/slip44:144'},
transactionAmount: '4000000',
originatorEqualsBeneficiary: true,
beneficiaryVASPdid: 'did:ethr:0xExampleVASPAddress000000000000000000000000',
originatorVASPdid: 'did:pkh:xrpl:0:rExampleAddress123456789',
beneficiary: {},
originator: {
originatorPersons: [
{
naturalPerson: {
name: {
nameIdentifier: [
{
primaryIdentifier: 'Doe',
secondaryIdentifier: 'John',
nameIdentifierType: 'LEGL'
}
]
}
}
}
]
}
}
},
errors: [],
status: 'pending',
valid: true,
value: {
amountDecimal: 4,
asset: 'XRP-XRP',
customer: {name: 'John Doe', type: 'natural'},
source: ['rExampleAddress123456789'],
agent: {type: 'WALLET', verified: true, did: 'did:pkh:xrpl:0:rExampleAddress123456789'},
counterparty: {
name: 'John Doe',
type: 'self',
did: 'did:key:zExampleKeyDid123456789',
verified: true
},
assetPrice: {price: 1.23, currency: 'USD'}
},
ivms101: {
originator: {
originatorPersons: [
{
naturalPerson: {
name: {
nameIdentifier: [
{
primaryIdentifier: 'Doe',
secondaryIdentifier: 'John',
nameIdentifierType: 'LEGL'
}
]
}
}
}
]
}
}
}
})
};
fetch('https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}', 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/transactions/{transactionId}/requests-for-information/{requestForInformationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'proof' => [
'type' => 'self-declaration',
'did' => 'did:pkh:xrpl:0:rExampleAddress123456789',
'address' => 'xrpl:0:rExampleAddress123456789',
'attestation' => 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
'confirmed' => true,
'status' => 'verified',
'txUpdate' => [
'originatorProof' => [
'type' => 'self-declaration',
'did' => 'did:pkh:xrpl:0:rExampleAddress123456789',
'address' => 'xrpl:0:rExampleAddress123456789',
'attestation' => 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
'confirmed' => true,
'status' => 'verified'
],
'transactionAsset' => [
'caip19' => 'xrpl:0/slip44:144'
],
'transactionAmount' => '4000000',
'originatorEqualsBeneficiary' => true,
'beneficiaryVASPdid' => 'did:ethr:0xExampleVASPAddress000000000000000000000000',
'originatorVASPdid' => 'did:pkh:xrpl:0:rExampleAddress123456789',
'beneficiary' => [
],
'originator' => [
'originatorPersons' => [
[
'naturalPerson' => [
'name' => [
'nameIdentifier' => [
[
'primaryIdentifier' => 'Doe',
'secondaryIdentifier' => 'John',
'nameIdentifierType' => 'LEGL'
]
]
]
]
]
]
]
]
],
'errors' => [
],
'status' => 'pending',
'valid' => true,
'value' => [
'amountDecimal' => 4,
'asset' => 'XRP-XRP',
'customer' => [
'name' => 'John Doe',
'type' => 'natural'
],
'source' => [
'rExampleAddress123456789'
],
'agent' => [
'type' => 'WALLET',
'verified' => true,
'did' => 'did:pkh:xrpl:0:rExampleAddress123456789'
],
'counterparty' => [
'name' => 'John Doe',
'type' => 'self',
'did' => 'did:key:zExampleKeyDid123456789',
'verified' => true
],
'assetPrice' => [
'price' => 1.23,
'currency' => 'USD'
]
],
'ivms101' => [
'originator' => [
'originatorPersons' => [
[
'naturalPerson' => [
'name' => [
'nameIdentifier' => [
[
'primaryIdentifier' => 'Doe',
'secondaryIdentifier' => 'John',
'nameIdentifierType' => 'LEGL'
]
]
]
]
]
]
]
]
]
]),
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/transactions/{transactionId}/requests-for-information/{requestForInformationId}"
payload := strings.NewReader("{\n \"data\": {\n \"proof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\",\n \"txUpdate\": {\n \"originatorProof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\"\n },\n \"transactionAsset\": {\n \"caip19\": \"xrpl:0/slip44:144\"\n },\n \"transactionAmount\": \"4000000\",\n \"originatorEqualsBeneficiary\": true,\n \"beneficiaryVASPdid\": \"did:ethr:0xExampleVASPAddress000000000000000000000000\",\n \"originatorVASPdid\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"beneficiary\": {},\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n },\n \"errors\": [],\n \"status\": \"pending\",\n \"valid\": true,\n \"value\": {\n \"amountDecimal\": 4,\n \"asset\": \"XRP-XRP\",\n \"customer\": {\n \"name\": \"John Doe\",\n \"type\": \"natural\"\n },\n \"source\": [\n \"rExampleAddress123456789\"\n ],\n \"agent\": {\n \"type\": \"WALLET\",\n \"verified\": true,\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\"\n },\n \"counterparty\": {\n \"name\": \"John Doe\",\n \"type\": \"self\",\n \"did\": \"did:key:zExampleKeyDid123456789\",\n \"verified\": true\n },\n \"assetPrice\": {\n \"price\": 1.23,\n \"currency\": \"USD\"\n }\n },\n \"ivms101\": {\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"proof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\",\n \"txUpdate\": {\n \"originatorProof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\"\n },\n \"transactionAsset\": {\n \"caip19\": \"xrpl:0/slip44:144\"\n },\n \"transactionAmount\": \"4000000\",\n \"originatorEqualsBeneficiary\": true,\n \"beneficiaryVASPdid\": \"did:ethr:0xExampleVASPAddress000000000000000000000000\",\n \"originatorVASPdid\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"beneficiary\": {},\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n },\n \"errors\": [],\n \"status\": \"pending\",\n \"valid\": true,\n \"value\": {\n \"amountDecimal\": 4,\n \"asset\": \"XRP-XRP\",\n \"customer\": {\n \"name\": \"John Doe\",\n \"type\": \"natural\"\n },\n \"source\": [\n \"rExampleAddress123456789\"\n ],\n \"agent\": {\n \"type\": \"WALLET\",\n \"verified\": true,\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\"\n },\n \"counterparty\": {\n \"name\": \"John Doe\",\n \"type\": \"self\",\n \"did\": \"did:key:zExampleKeyDid123456789\",\n \"verified\": true\n },\n \"assetPrice\": {\n \"price\": 1.23,\n \"currency\": \"USD\"\n }\n },\n \"ivms101\": {\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"proof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\",\n \"txUpdate\": {\n \"originatorProof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\"\n },\n \"transactionAsset\": {\n \"caip19\": \"xrpl:0/slip44:144\"\n },\n \"transactionAmount\": \"4000000\",\n \"originatorEqualsBeneficiary\": true,\n \"beneficiaryVASPdid\": \"did:ethr:0xExampleVASPAddress000000000000000000000000\",\n \"originatorVASPdid\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"beneficiary\": {},\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n },\n \"errors\": [],\n \"status\": \"pending\",\n \"valid\": true,\n \"value\": {\n \"amountDecimal\": 4,\n \"asset\": \"XRP-XRP\",\n \"customer\": {\n \"name\": \"John Doe\",\n \"type\": \"natural\"\n },\n \"source\": [\n \"rExampleAddress123456789\"\n ],\n \"agent\": {\n \"type\": \"WALLET\",\n \"verified\": true,\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\"\n },\n \"counterparty\": {\n \"name\": \"John Doe\",\n \"type\": \"self\",\n \"did\": \"did:key:zExampleKeyDid123456789\",\n \"verified\": true\n },\n \"assetPrice\": {\n \"price\": 1.23,\n \"currency\": \"USD\"\n }\n },\n \"ivms101\": {\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"requestForInformation": {
"id": "3f6d0c1e-a1bf-4b25-9802-2a3ee492d3c8",
"type": "travel-rule",
"status": "ok",
"data": {
"originatorProof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": true,
"status": "verified"
},
"transactionAsset": {
"caip19": "xrpl:0/slip44:144"
},
"transactionAmount": "4000000",
"originatorEqualsBeneficiary": true,
"beneficiaryVASPdid": "did:ethr:0xExampleVASPAddress000000000000000000000000",
"originatorVASPdid": "did:pkh:xrpl:0:rExampleAddress123456789",
"beneficiary": {},
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
]
}
}
}
]
}
},
"createdAt": "2024-07-25T10:00:00.000Z",
"updatedAt": "2024-07-30T10:00:00.000Z"
}
}RFIs
Update request for information
Update a request for information associated with a transaction.
PUT
/
core
/
transactions
/
{transactionId}
/
requests-for-information
/
{requestForInformationId}
Update request for information
curl --request PUT \
--url https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"proof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": true,
"status": "verified",
"txUpdate": {
"originatorProof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": true,
"status": "verified"
},
"transactionAsset": {
"caip19": "xrpl:0/slip44:144"
},
"transactionAmount": "4000000",
"originatorEqualsBeneficiary": true,
"beneficiaryVASPdid": "did:ethr:0xExampleVASPAddress000000000000000000000000",
"originatorVASPdid": "did:pkh:xrpl:0:rExampleAddress123456789",
"beneficiary": {},
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
]
}
}
}
]
}
}
},
"errors": [],
"status": "pending",
"valid": true,
"value": {
"amountDecimal": 4,
"asset": "XRP-XRP",
"customer": {
"name": "John Doe",
"type": "natural"
},
"source": [
"rExampleAddress123456789"
],
"agent": {
"type": "WALLET",
"verified": true,
"did": "did:pkh:xrpl:0:rExampleAddress123456789"
},
"counterparty": {
"name": "John Doe",
"type": "self",
"did": "did:key:zExampleKeyDid123456789",
"verified": true
},
"assetPrice": {
"price": 1.23,
"currency": "USD"
}
},
"ivms101": {
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
]
}
}
}
]
}
}
}
}
'import requests
url = "https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}"
payload = { "data": {
"proof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": True,
"status": "verified",
"txUpdate": {
"originatorProof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": True,
"status": "verified"
},
"transactionAsset": { "caip19": "xrpl:0/slip44:144" },
"transactionAmount": "4000000",
"originatorEqualsBeneficiary": True,
"beneficiaryVASPdid": "did:ethr:0xExampleVASPAddress000000000000000000000000",
"originatorVASPdid": "did:pkh:xrpl:0:rExampleAddress123456789",
"beneficiary": {},
"originator": { "originatorPersons": [{ "naturalPerson": { "name": { "nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
] } } }] }
}
},
"errors": [],
"status": "pending",
"valid": True,
"value": {
"amountDecimal": 4,
"asset": "XRP-XRP",
"customer": {
"name": "John Doe",
"type": "natural"
},
"source": ["rExampleAddress123456789"],
"agent": {
"type": "WALLET",
"verified": True,
"did": "did:pkh:xrpl:0:rExampleAddress123456789"
},
"counterparty": {
"name": "John Doe",
"type": "self",
"did": "did:key:zExampleKeyDid123456789",
"verified": True
},
"assetPrice": {
"price": 1.23,
"currency": "USD"
}
},
"ivms101": { "originator": { "originatorPersons": [{ "naturalPerson": { "name": { "nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
] } } }] } }
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {
proof: {
type: 'self-declaration',
did: 'did:pkh:xrpl:0:rExampleAddress123456789',
address: 'xrpl:0:rExampleAddress123456789',
attestation: 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
confirmed: true,
status: 'verified',
txUpdate: {
originatorProof: {
type: 'self-declaration',
did: 'did:pkh:xrpl:0:rExampleAddress123456789',
address: 'xrpl:0:rExampleAddress123456789',
attestation: 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
confirmed: true,
status: 'verified'
},
transactionAsset: {caip19: 'xrpl:0/slip44:144'},
transactionAmount: '4000000',
originatorEqualsBeneficiary: true,
beneficiaryVASPdid: 'did:ethr:0xExampleVASPAddress000000000000000000000000',
originatorVASPdid: 'did:pkh:xrpl:0:rExampleAddress123456789',
beneficiary: {},
originator: {
originatorPersons: [
{
naturalPerson: {
name: {
nameIdentifier: [
{
primaryIdentifier: 'Doe',
secondaryIdentifier: 'John',
nameIdentifierType: 'LEGL'
}
]
}
}
}
]
}
}
},
errors: [],
status: 'pending',
valid: true,
value: {
amountDecimal: 4,
asset: 'XRP-XRP',
customer: {name: 'John Doe', type: 'natural'},
source: ['rExampleAddress123456789'],
agent: {type: 'WALLET', verified: true, did: 'did:pkh:xrpl:0:rExampleAddress123456789'},
counterparty: {
name: 'John Doe',
type: 'self',
did: 'did:key:zExampleKeyDid123456789',
verified: true
},
assetPrice: {price: 1.23, currency: 'USD'}
},
ivms101: {
originator: {
originatorPersons: [
{
naturalPerson: {
name: {
nameIdentifier: [
{
primaryIdentifier: 'Doe',
secondaryIdentifier: 'John',
nameIdentifierType: 'LEGL'
}
]
}
}
}
]
}
}
}
})
};
fetch('https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}', 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/transactions/{transactionId}/requests-for-information/{requestForInformationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'proof' => [
'type' => 'self-declaration',
'did' => 'did:pkh:xrpl:0:rExampleAddress123456789',
'address' => 'xrpl:0:rExampleAddress123456789',
'attestation' => 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
'confirmed' => true,
'status' => 'verified',
'txUpdate' => [
'originatorProof' => [
'type' => 'self-declaration',
'did' => 'did:pkh:xrpl:0:rExampleAddress123456789',
'address' => 'xrpl:0:rExampleAddress123456789',
'attestation' => 'I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.',
'confirmed' => true,
'status' => 'verified'
],
'transactionAsset' => [
'caip19' => 'xrpl:0/slip44:144'
],
'transactionAmount' => '4000000',
'originatorEqualsBeneficiary' => true,
'beneficiaryVASPdid' => 'did:ethr:0xExampleVASPAddress000000000000000000000000',
'originatorVASPdid' => 'did:pkh:xrpl:0:rExampleAddress123456789',
'beneficiary' => [
],
'originator' => [
'originatorPersons' => [
[
'naturalPerson' => [
'name' => [
'nameIdentifier' => [
[
'primaryIdentifier' => 'Doe',
'secondaryIdentifier' => 'John',
'nameIdentifierType' => 'LEGL'
]
]
]
]
]
]
]
]
],
'errors' => [
],
'status' => 'pending',
'valid' => true,
'value' => [
'amountDecimal' => 4,
'asset' => 'XRP-XRP',
'customer' => [
'name' => 'John Doe',
'type' => 'natural'
],
'source' => [
'rExampleAddress123456789'
],
'agent' => [
'type' => 'WALLET',
'verified' => true,
'did' => 'did:pkh:xrpl:0:rExampleAddress123456789'
],
'counterparty' => [
'name' => 'John Doe',
'type' => 'self',
'did' => 'did:key:zExampleKeyDid123456789',
'verified' => true
],
'assetPrice' => [
'price' => 1.23,
'currency' => 'USD'
]
],
'ivms101' => [
'originator' => [
'originatorPersons' => [
[
'naturalPerson' => [
'name' => [
'nameIdentifier' => [
[
'primaryIdentifier' => 'Doe',
'secondaryIdentifier' => 'John',
'nameIdentifierType' => 'LEGL'
]
]
]
]
]
]
]
]
]
]),
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/transactions/{transactionId}/requests-for-information/{requestForInformationId}"
payload := strings.NewReader("{\n \"data\": {\n \"proof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\",\n \"txUpdate\": {\n \"originatorProof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\"\n },\n \"transactionAsset\": {\n \"caip19\": \"xrpl:0/slip44:144\"\n },\n \"transactionAmount\": \"4000000\",\n \"originatorEqualsBeneficiary\": true,\n \"beneficiaryVASPdid\": \"did:ethr:0xExampleVASPAddress000000000000000000000000\",\n \"originatorVASPdid\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"beneficiary\": {},\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n },\n \"errors\": [],\n \"status\": \"pending\",\n \"valid\": true,\n \"value\": {\n \"amountDecimal\": 4,\n \"asset\": \"XRP-XRP\",\n \"customer\": {\n \"name\": \"John Doe\",\n \"type\": \"natural\"\n },\n \"source\": [\n \"rExampleAddress123456789\"\n ],\n \"agent\": {\n \"type\": \"WALLET\",\n \"verified\": true,\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\"\n },\n \"counterparty\": {\n \"name\": \"John Doe\",\n \"type\": \"self\",\n \"did\": \"did:key:zExampleKeyDid123456789\",\n \"verified\": true\n },\n \"assetPrice\": {\n \"price\": 1.23,\n \"currency\": \"USD\"\n }\n },\n \"ivms101\": {\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"proof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\",\n \"txUpdate\": {\n \"originatorProof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\"\n },\n \"transactionAsset\": {\n \"caip19\": \"xrpl:0/slip44:144\"\n },\n \"transactionAmount\": \"4000000\",\n \"originatorEqualsBeneficiary\": true,\n \"beneficiaryVASPdid\": \"did:ethr:0xExampleVASPAddress000000000000000000000000\",\n \"originatorVASPdid\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"beneficiary\": {},\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n },\n \"errors\": [],\n \"status\": \"pending\",\n \"valid\": true,\n \"value\": {\n \"amountDecimal\": 4,\n \"asset\": \"XRP-XRP\",\n \"customer\": {\n \"name\": \"John Doe\",\n \"type\": \"natural\"\n },\n \"source\": [\n \"rExampleAddress123456789\"\n ],\n \"agent\": {\n \"type\": \"WALLET\",\n \"verified\": true,\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\"\n },\n \"counterparty\": {\n \"name\": \"John Doe\",\n \"type\": \"self\",\n \"did\": \"did:key:zExampleKeyDid123456789\",\n \"verified\": true\n },\n \"assetPrice\": {\n \"price\": 1.23,\n \"currency\": \"USD\"\n }\n },\n \"ivms101\": {\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enterprise.sandbox.uphold.com/core/transactions/{transactionId}/requests-for-information/{requestForInformationId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"proof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\",\n \"txUpdate\": {\n \"originatorProof\": {\n \"type\": \"self-declaration\",\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"address\": \"xrpl:0:rExampleAddress123456789\",\n \"attestation\": \"I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.\",\n \"confirmed\": true,\n \"status\": \"verified\"\n },\n \"transactionAsset\": {\n \"caip19\": \"xrpl:0/slip44:144\"\n },\n \"transactionAmount\": \"4000000\",\n \"originatorEqualsBeneficiary\": true,\n \"beneficiaryVASPdid\": \"did:ethr:0xExampleVASPAddress000000000000000000000000\",\n \"originatorVASPdid\": \"did:pkh:xrpl:0:rExampleAddress123456789\",\n \"beneficiary\": {},\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n },\n \"errors\": [],\n \"status\": \"pending\",\n \"valid\": true,\n \"value\": {\n \"amountDecimal\": 4,\n \"asset\": \"XRP-XRP\",\n \"customer\": {\n \"name\": \"John Doe\",\n \"type\": \"natural\"\n },\n \"source\": [\n \"rExampleAddress123456789\"\n ],\n \"agent\": {\n \"type\": \"WALLET\",\n \"verified\": true,\n \"did\": \"did:pkh:xrpl:0:rExampleAddress123456789\"\n },\n \"counterparty\": {\n \"name\": \"John Doe\",\n \"type\": \"self\",\n \"did\": \"did:key:zExampleKeyDid123456789\",\n \"verified\": true\n },\n \"assetPrice\": {\n \"price\": 1.23,\n \"currency\": \"USD\"\n }\n },\n \"ivms101\": {\n \"originator\": {\n \"originatorPersons\": [\n {\n \"naturalPerson\": {\n \"name\": {\n \"nameIdentifier\": [\n {\n \"primaryIdentifier\": \"Doe\",\n \"secondaryIdentifier\": \"John\",\n \"nameIdentifierType\": \"LEGL\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"requestForInformation": {
"id": "3f6d0c1e-a1bf-4b25-9802-2a3ee492d3c8",
"type": "travel-rule",
"status": "ok",
"data": {
"originatorProof": {
"type": "self-declaration",
"did": "did:pkh:xrpl:0:rExampleAddress123456789",
"address": "xrpl:0:rExampleAddress123456789",
"attestation": "I hereby declare that the blockchain address rExampleAddress123456789 is under my own control and ownership.",
"confirmed": true,
"status": "verified"
},
"transactionAsset": {
"caip19": "xrpl:0/slip44:144"
},
"transactionAmount": "4000000",
"originatorEqualsBeneficiary": true,
"beneficiaryVASPdid": "did:ethr:0xExampleVASPAddress000000000000000000000000",
"originatorVASPdid": "did:pkh:xrpl:0:rExampleAddress123456789",
"beneficiary": {},
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Doe",
"secondaryIdentifier": "John",
"nameIdentifierType": "LEGL"
}
]
}
}
}
]
}
},
"createdAt": "2024-07-25T10:00:00.000Z",
"updatedAt": "2024-07-30T10:00:00.000Z"
}
}Authorizations
OAuth 2.0 authentication.
Path Parameters
The transaction id.
The request for information id.
Body
application/json
The Travel Rule data needed to resolve the RFI.
Response
Request for information updated.
Show child attributes
Show child attributes
Was this page helpful?
⌘I