Create a Bank Account
curl --request POST \
--url https://api.spherepay.co/v2/bank-account \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountDetails": "<unknown>",
"accountName": "Checking Account",
"accountOwner": {
"accountHolderName": "Sarah Johnson",
"address": {
"city": "Chicago",
"country": "USA",
"line1": "233 South Wacker Drive",
"line2": "Suite 4700",
"postalCode": "60606",
"state": "IL"
},
"relationship": "self"
},
"bankName": "Bank of America",
"currency": "usd",
"customerId": "customer_66c4168d418a410eae282b83883bdc39",
"networks": [
"wire",
"ach"
]
}
'import requests
url = "https://api.spherepay.co/v2/bank-account"
payload = {
"accountDetails": "<unknown>",
"accountName": "Checking Account",
"accountOwner": {
"accountHolderName": "Sarah Johnson",
"address": {
"city": "Chicago",
"country": "USA",
"line1": "233 South Wacker Drive",
"line2": "Suite 4700",
"postalCode": "60606",
"state": "IL"
},
"relationship": "self"
},
"bankName": "Bank of America",
"currency": "usd",
"customerId": "customer_66c4168d418a410eae282b83883bdc39",
"networks": ["wire", "ach"]
}
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({
accountDetails: '<unknown>',
accountName: 'Checking Account',
accountOwner: {
accountHolderName: 'Sarah Johnson',
address: {
city: 'Chicago',
country: 'USA',
line1: '233 South Wacker Drive',
line2: 'Suite 4700',
postalCode: '60606',
state: 'IL'
},
relationship: 'self'
},
bankName: 'Bank of America',
currency: 'usd',
customerId: 'customer_66c4168d418a410eae282b83883bdc39',
networks: ['wire', 'ach']
})
};
fetch('https://api.spherepay.co/v2/bank-account', 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.spherepay.co/v2/bank-account",
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([
'accountDetails' => '<unknown>',
'accountName' => 'Checking Account',
'accountOwner' => [
'accountHolderName' => 'Sarah Johnson',
'address' => [
'city' => 'Chicago',
'country' => 'USA',
'line1' => '233 South Wacker Drive',
'line2' => 'Suite 4700',
'postalCode' => '60606',
'state' => 'IL'
],
'relationship' => 'self'
],
'bankName' => 'Bank of America',
'currency' => 'usd',
'customerId' => 'customer_66c4168d418a410eae282b83883bdc39',
'networks' => [
'wire',
'ach'
]
]),
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.spherepay.co/v2/bank-account"
payload := strings.NewReader("{\n \"accountDetails\": \"<unknown>\",\n \"accountName\": \"Checking Account\",\n \"accountOwner\": {\n \"accountHolderName\": \"Sarah Johnson\",\n \"address\": {\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line1\": \"233 South Wacker Drive\",\n \"line2\": \"Suite 4700\",\n \"postalCode\": \"60606\",\n \"state\": \"IL\"\n },\n \"relationship\": \"self\"\n },\n \"bankName\": \"Bank of America\",\n \"currency\": \"usd\",\n \"customerId\": \"customer_66c4168d418a410eae282b83883bdc39\",\n \"networks\": [\n \"wire\",\n \"ach\"\n ]\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.spherepay.co/v2/bank-account")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountDetails\": \"<unknown>\",\n \"accountName\": \"Checking Account\",\n \"accountOwner\": {\n \"accountHolderName\": \"Sarah Johnson\",\n \"address\": {\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line1\": \"233 South Wacker Drive\",\n \"line2\": \"Suite 4700\",\n \"postalCode\": \"60606\",\n \"state\": \"IL\"\n },\n \"relationship\": \"self\"\n },\n \"bankName\": \"Bank of America\",\n \"currency\": \"usd\",\n \"customerId\": \"customer_66c4168d418a410eae282b83883bdc39\",\n \"networks\": [\n \"wire\",\n \"ach\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/bank-account")
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 \"accountDetails\": \"<unknown>\",\n \"accountName\": \"Checking Account\",\n \"accountOwner\": {\n \"accountHolderName\": \"Sarah Johnson\",\n \"address\": {\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line1\": \"233 South Wacker Drive\",\n \"line2\": \"Suite 4700\",\n \"postalCode\": \"60606\",\n \"state\": \"IL\"\n },\n \"relationship\": \"self\"\n },\n \"bankName\": \"Bank of America\",\n \"currency\": \"usd\",\n \"customerId\": \"customer_66c4168d418a410eae282b83883bdc39\",\n \"networks\": [\n \"wire\",\n \"ach\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"accountDetails": {
"accountNumber": "****7890",
"accountType": "checking",
"routingNumber": "021000021"
},
"accountName": "Checking Account",
"accountOwner": {
"accountHolderName": "John Doe",
"relationship": "self"
},
"bankName": "Bank of America",
"created": "2025-01-01T00:00:00Z",
"currency": "usd",
"customerId": "customer_66c4168d418a410eae282b83883bdc39",
"id": "bankAccount_ce745ef7f3df4b9a8bff1301ce24b045",
"networks": [
"wire",
"ach"
],
"status": "active",
"updated": "2025-01-01T00:00:00Z"
}{
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Invalid request parameters",
"status": 400
}{
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Resource not found",
"status": 404
}{
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Validation failed",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
],
"status": 422
}Cuentas Bancarias
Registrar Cuenta Bancaria del Cliente para Transferencias
Create a new bank account for a customer. Requires at least one of the customer’s verification profiles to be approved.
Create a Bank Account
curl --request POST \
--url https://api.spherepay.co/v2/bank-account \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accountDetails": "<unknown>",
"accountName": "Checking Account",
"accountOwner": {
"accountHolderName": "Sarah Johnson",
"address": {
"city": "Chicago",
"country": "USA",
"line1": "233 South Wacker Drive",
"line2": "Suite 4700",
"postalCode": "60606",
"state": "IL"
},
"relationship": "self"
},
"bankName": "Bank of America",
"currency": "usd",
"customerId": "customer_66c4168d418a410eae282b83883bdc39",
"networks": [
"wire",
"ach"
]
}
'import requests
url = "https://api.spherepay.co/v2/bank-account"
payload = {
"accountDetails": "<unknown>",
"accountName": "Checking Account",
"accountOwner": {
"accountHolderName": "Sarah Johnson",
"address": {
"city": "Chicago",
"country": "USA",
"line1": "233 South Wacker Drive",
"line2": "Suite 4700",
"postalCode": "60606",
"state": "IL"
},
"relationship": "self"
},
"bankName": "Bank of America",
"currency": "usd",
"customerId": "customer_66c4168d418a410eae282b83883bdc39",
"networks": ["wire", "ach"]
}
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({
accountDetails: '<unknown>',
accountName: 'Checking Account',
accountOwner: {
accountHolderName: 'Sarah Johnson',
address: {
city: 'Chicago',
country: 'USA',
line1: '233 South Wacker Drive',
line2: 'Suite 4700',
postalCode: '60606',
state: 'IL'
},
relationship: 'self'
},
bankName: 'Bank of America',
currency: 'usd',
customerId: 'customer_66c4168d418a410eae282b83883bdc39',
networks: ['wire', 'ach']
})
};
fetch('https://api.spherepay.co/v2/bank-account', 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.spherepay.co/v2/bank-account",
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([
'accountDetails' => '<unknown>',
'accountName' => 'Checking Account',
'accountOwner' => [
'accountHolderName' => 'Sarah Johnson',
'address' => [
'city' => 'Chicago',
'country' => 'USA',
'line1' => '233 South Wacker Drive',
'line2' => 'Suite 4700',
'postalCode' => '60606',
'state' => 'IL'
],
'relationship' => 'self'
],
'bankName' => 'Bank of America',
'currency' => 'usd',
'customerId' => 'customer_66c4168d418a410eae282b83883bdc39',
'networks' => [
'wire',
'ach'
]
]),
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.spherepay.co/v2/bank-account"
payload := strings.NewReader("{\n \"accountDetails\": \"<unknown>\",\n \"accountName\": \"Checking Account\",\n \"accountOwner\": {\n \"accountHolderName\": \"Sarah Johnson\",\n \"address\": {\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line1\": \"233 South Wacker Drive\",\n \"line2\": \"Suite 4700\",\n \"postalCode\": \"60606\",\n \"state\": \"IL\"\n },\n \"relationship\": \"self\"\n },\n \"bankName\": \"Bank of America\",\n \"currency\": \"usd\",\n \"customerId\": \"customer_66c4168d418a410eae282b83883bdc39\",\n \"networks\": [\n \"wire\",\n \"ach\"\n ]\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.spherepay.co/v2/bank-account")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"accountDetails\": \"<unknown>\",\n \"accountName\": \"Checking Account\",\n \"accountOwner\": {\n \"accountHolderName\": \"Sarah Johnson\",\n \"address\": {\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line1\": \"233 South Wacker Drive\",\n \"line2\": \"Suite 4700\",\n \"postalCode\": \"60606\",\n \"state\": \"IL\"\n },\n \"relationship\": \"self\"\n },\n \"bankName\": \"Bank of America\",\n \"currency\": \"usd\",\n \"customerId\": \"customer_66c4168d418a410eae282b83883bdc39\",\n \"networks\": [\n \"wire\",\n \"ach\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/bank-account")
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 \"accountDetails\": \"<unknown>\",\n \"accountName\": \"Checking Account\",\n \"accountOwner\": {\n \"accountHolderName\": \"Sarah Johnson\",\n \"address\": {\n \"city\": \"Chicago\",\n \"country\": \"USA\",\n \"line1\": \"233 South Wacker Drive\",\n \"line2\": \"Suite 4700\",\n \"postalCode\": \"60606\",\n \"state\": \"IL\"\n },\n \"relationship\": \"self\"\n },\n \"bankName\": \"Bank of America\",\n \"currency\": \"usd\",\n \"customerId\": \"customer_66c4168d418a410eae282b83883bdc39\",\n \"networks\": [\n \"wire\",\n \"ach\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"accountDetails": {
"accountNumber": "****7890",
"accountType": "checking",
"routingNumber": "021000021"
},
"accountName": "Checking Account",
"accountOwner": {
"accountHolderName": "John Doe",
"relationship": "self"
},
"bankName": "Bank of America",
"created": "2025-01-01T00:00:00Z",
"currency": "usd",
"customerId": "customer_66c4168d418a410eae282b83883bdc39",
"id": "bankAccount_ce745ef7f3df4b9a8bff1301ce24b045",
"networks": [
"wire",
"ach"
],
"status": "active",
"updated": "2025-01-01T00:00:00Z"
}{
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Invalid request parameters",
"status": 400
}{
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Resource not found",
"status": 404
}{
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Validation failed",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
],
"status": 422
}Usa este endpoint para registrar la cuenta bancaria fiat existente de un cliente en SpherePay. SpherePay no abre ni gestiona cuentas bancarias — vincula una cuenta que tu cliente ya tiene a su perfil de SpherePay para que pueda usarse como origen o destino para transferencias fiat. Debes registrar al menos una cuenta bancaria antes de crear una transferencia que involucre divisa fiat. El cliente debe tener al menos un perfil de verificación aprobado antes de que puedas registrar una cuenta bancaria en su nombre.
Autorizaciones
Cuerpo
application/json
- Option 1
- EUR
- BRL
- MXN
The payment networks supported by this bank account. For USD ACH/Wire accounts, must include at least one of "ach" or "wire". For USD SWIFT accounts, must be exactly ["swift"].
Minimum array length:
1Opciones disponibles:
ach, wire Ejemplo:
["wire", "ach"]
Respuesta
- USD
- EUR
- BRL
- MXN
Última modificación el 22 de junio de 2026