Create virtual account
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destination": "<string>",
"schemaIn": "<string>",
"railOut": "<string>",
"currencyOut": "<string>",
"reference": "<string>",
"currencyIn": "<string>"
}
'import requests
url = "https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts"
payload = {
"destination": "<string>",
"schemaIn": "<string>",
"railOut": "<string>",
"currencyOut": "<string>",
"reference": "<string>",
"currencyIn": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination: '<string>',
schemaIn: '<string>',
railOut: '<string>',
currencyOut: '<string>',
reference: '<string>',
currencyIn: '<string>'
})
};
fetch('https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts', 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.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'destination' => '<string>',
'schemaIn' => '<string>',
'railOut' => '<string>',
'currencyOut' => '<string>',
'reference' => '<string>',
'currencyIn' => '<string>'
]),
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.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts"
payload := strings.NewReader("{\n \"destination\": \"<string>\",\n \"schemaIn\": \"<string>\",\n \"railOut\": \"<string>\",\n \"currencyOut\": \"<string>\",\n \"reference\": \"<string>\",\n \"currencyIn\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destination\": \"<string>\",\n \"schemaIn\": \"<string>\",\n \"railOut\": \"<string>\",\n \"currencyOut\": \"<string>\",\n \"reference\": \"<string>\",\n \"currencyIn\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination\": \"<string>\",\n \"schemaIn\": \"<string>\",\n \"railOut\": \"<string>\",\n \"currencyOut\": \"<string>\",\n \"reference\": \"<string>\",\n \"currencyIn\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"key": "<string>",
"walletId": "<string>",
"destination": "<string>",
"schemaIn": "<string>",
"currencyIn": "<string>",
"railOut": "<string>",
"currencyOut": "<string>",
"reference": "<string>",
"details": {},
"isActive": true,
"createdAt": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}Due
Create virtual account
Creates a persistent virtual account that auto-converts fiat deposits to crypto in the destination wallet.
POST
/
clients
/
me
/
integrations
/
due
/
virtual-accounts
Create virtual account
curl --request POST \
--url https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destination": "<string>",
"schemaIn": "<string>",
"railOut": "<string>",
"currencyOut": "<string>",
"reference": "<string>",
"currencyIn": "<string>"
}
'import requests
url = "https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts"
payload = {
"destination": "<string>",
"schemaIn": "<string>",
"railOut": "<string>",
"currencyOut": "<string>",
"reference": "<string>",
"currencyIn": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination: '<string>',
schemaIn: '<string>',
railOut: '<string>',
currencyOut: '<string>',
reference: '<string>',
currencyIn: '<string>'
})
};
fetch('https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts', 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.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'destination' => '<string>',
'schemaIn' => '<string>',
'railOut' => '<string>',
'currencyOut' => '<string>',
'reference' => '<string>',
'currencyIn' => '<string>'
]),
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.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts"
payload := strings.NewReader("{\n \"destination\": \"<string>\",\n \"schemaIn\": \"<string>\",\n \"railOut\": \"<string>\",\n \"currencyOut\": \"<string>\",\n \"reference\": \"<string>\",\n \"currencyIn\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destination\": \"<string>\",\n \"schemaIn\": \"<string>\",\n \"railOut\": \"<string>\",\n \"currencyOut\": \"<string>\",\n \"reference\": \"<string>\",\n \"currencyIn\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.portalhq.io/api/v3/clients/me/integrations/due/virtual-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination\": \"<string>\",\n \"schemaIn\": \"<string>\",\n \"railOut\": \"<string>\",\n \"currencyOut\": \"<string>\",\n \"reference\": \"<string>\",\n \"currencyIn\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"key": "<string>",
"walletId": "<string>",
"destination": "<string>",
"schemaIn": "<string>",
"currencyIn": "<string>",
"railOut": "<string>",
"currencyOut": "<string>",
"reference": "<string>",
"details": {},
"isActive": true,
"createdAt": "<string>"
}
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Client API Key or Client Session Token (CST). Pass as a Bearer token in the Authorization header.
Body
application/json
The registered wallet id (wlt_*) that receives converted crypto.
Fiat deposit bank schema (for example bank_sepa, bank_us).
Crypto destination rail.
Crypto asset funds convert to.
Your label for the account, also used to build its key.
Fiat currency accepted for deposits.
Response
Virtual account created
Show child attributes
Show child attributes
Was this page helpful?
⌘I