Virtual Accounts
List Virtual Accounts
Retrieve a paginated list of all virtual accounts belonging to a specific customer.
GET
/
v3
/
customers
/
{customer_id}
/
virtual-accounts
List Virtual Accounts
curl --request GET \
--url https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts \
--header 'Authorization: Bearer <token>'const url = 'https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts")
.header("Authorization", "Bearer <token>")
.asString();import requests
url = "https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.fin.com/v3/customers/{customer_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))
}{
"data": {
"virtual_accounts": [
{
"id": "b84f17e1-96a8-4034-8394-e902ed403d96",
"status": "ACTIVE",
"developer_fee_percent": 2,
"developer_fee_fixed": 2,
"customer_id": "f60b6730-1bf1-4efa-a49e-be5ef5e75bb8",
"created_at": "2026-09-09T12:27:57.657953Z",
"updated_at": "2026-09-09T12:28:11.061185Z",
"deposit_instructions": {
"currency": "USD",
"bank_name": "Portage Bank",
"bank_address": "880 108th Ave NE, Bellevue, WA 98004, US",
"bank_routing_number": null,
"bank_account_number": "531912465",
"bank_beneficiary_name": "WeiMing Tan",
"bank_beneficiary_address": null,
"payment_rails": [
"SWIFT"
],
"bank_country": null,
"account_type": null,
"bank_code": {
"type": "BIC",
"code": "PORGUS62XXX"
},
"bic_swift": "PORGUS62XXX"
},
"destination": {
"currency": "USDC",
"destination_chain": "ETHEREUM",
"address": "0xE6F46b9Fa4Bc867816f78323EC92887E9d325DbE"
},
"rfi": null,
"bank": "PORTAGE"
}
],
"pagination": {
"current_page": 1,
"per_page": 10,
"total_page": 1,
"total": 1
}
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}Authorizations
Bearer token authentication. Obtain token from Issue a Token endpoint
Path Parameters
Unique identifier of the customer whose virtual accounts you want to list.
Query Parameters
Number of items to return per page
Required range:
1 <= x <= 512The page number to retrieve
Required range:
x >= 1Response
Virtual accounts retrieved successfully
Show child attributes
Show child attributes
⌘I
List Virtual Accounts
curl --request GET \
--url https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts \
--header 'Authorization: Bearer <token>'const url = 'https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts")
.header("Authorization", "Bearer <token>")
.asString();import requests
url = "https://sandbox.api.fin.com/v3/customers/{customer_id}/virtual-accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.fin.com/v3/customers/{customer_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))
}{
"data": {
"virtual_accounts": [
{
"id": "b84f17e1-96a8-4034-8394-e902ed403d96",
"status": "ACTIVE",
"developer_fee_percent": 2,
"developer_fee_fixed": 2,
"customer_id": "f60b6730-1bf1-4efa-a49e-be5ef5e75bb8",
"created_at": "2026-09-09T12:27:57.657953Z",
"updated_at": "2026-09-09T12:28:11.061185Z",
"deposit_instructions": {
"currency": "USD",
"bank_name": "Portage Bank",
"bank_address": "880 108th Ave NE, Bellevue, WA 98004, US",
"bank_routing_number": null,
"bank_account_number": "531912465",
"bank_beneficiary_name": "WeiMing Tan",
"bank_beneficiary_address": null,
"payment_rails": [
"SWIFT"
],
"bank_country": null,
"account_type": null,
"bank_code": {
"type": "BIC",
"code": "PORGUS62XXX"
},
"bic_swift": "PORGUS62XXX"
},
"destination": {
"currency": "USDC",
"destination_chain": "ETHEREUM",
"address": "0xE6F46b9Fa4Bc867816f78323EC92887E9d325DbE"
},
"rfi": null,
"bank": "PORTAGE"
}
],
"pagination": {
"current_page": 1,
"per_page": 10,
"total_page": 1,
"total": 1
}
}
}{
"message": "Authentication failed"
}{
"message": "<string>",
"errors": [
{}
]
}