List Virtual Accounts
curl --request GET \
--url https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")
.header("Authorization", "Bearer <token>")
.asString();val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")
.get()
.addHeader("Authorization", "Bearer <token>")
.build()
val response = client.newCall(request).execute()falseimport Foundation
let url = URL(string: "https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.timeoutInterval = 10
request.allHTTPHeaderFields = ["Authorization": "Bearer <token>"]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
require 'uri'
require 'net/http'
url = URI("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"virtual_accounts": [
{
"id": "<string>",
"identity_id": "<string>",
"status": "VIRTUAL_ACCOUNT_STATUS_PENDING",
"source": {
"banking_country": "<string>"
},
"destination": {
"account_id": "<string>",
"currency": "USDC",
"chain": "ETHEREUM_MAINNET"
},
"deposit_instructions": {
"amount": "<string>",
"currency": "USDC",
"bank_name": "<string>",
"bank_address": "<string>",
"payment_method": "BLOCKCHAIN",
"deposit_message": "<string>",
"bank_account_number": "<string>",
"bank_routing_number": "<string>",
"bank_beneficiary_name": "<string>",
"bank_beneficiary_address": "<string>"
},
"created_at": "<string>",
"updated_at": "<string>"
}
],
"cursor": "<string>"
}Virtual Accounts
List Virtual Accounts
List virtual accounts for an identity
GET
/
v2
/
identities
/
{identity_id}
/
virtual-accounts
List Virtual Accounts
curl --request GET \
--url https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")
.header("Authorization", "Bearer <token>")
.asString();val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")
.get()
.addHeader("Authorization", "Bearer <token>")
.build()
val response = client.newCall(request).execute()falseimport Foundation
let url = URL(string: "https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.timeoutInterval = 10
request.allHTTPHeaderFields = ["Authorization": "Bearer <token>"]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
require 'uri'
require 'net/http'
url = URI("https://api.prod.bastion.com/v2/identities/{identity_id}/virtual-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"virtual_accounts": [
{
"id": "<string>",
"identity_id": "<string>",
"status": "VIRTUAL_ACCOUNT_STATUS_PENDING",
"source": {
"banking_country": "<string>"
},
"destination": {
"account_id": "<string>",
"currency": "USDC",
"chain": "ETHEREUM_MAINNET"
},
"deposit_instructions": {
"amount": "<string>",
"currency": "USDC",
"bank_name": "<string>",
"bank_address": "<string>",
"payment_method": "BLOCKCHAIN",
"deposit_message": "<string>",
"bank_account_number": "<string>",
"bank_routing_number": "<string>",
"bank_beneficiary_name": "<string>",
"bank_beneficiary_address": "<string>"
},
"created_at": "<string>",
"updated_at": "<string>"
}
],
"cursor": "<string>"
}Authorizations
Bearer authentication with an API token
Path Parameters
Identity whose virtual accounts to list.
Query Parameters
Only return virtual accounts with this status.
Available options:
VIRTUAL_ACCOUNT_STATUS_UNSPECIFIED, VIRTUAL_ACCOUNT_STATUS_PENDING, VIRTUAL_ACCOUNT_STATUS_ACTIVE, VIRTUAL_ACCOUNT_STATUS_INACTIVE, VIRTUAL_ACCOUNT_STATUS_FAILED Example:
"VIRTUAL_ACCOUNT_STATUS_PENDING"
The maximum number of virtual accounts to return in a single page.
Pagination cursor from a previous response, used to fetch the next page.