Bank Accounts
Create Bank Account
Create a bank account object for a worker (employee or contractor) in Zeal’s system, used to pay the worker through direct deposit.
POST
/
bankaccount
Create Bank Account
curl --request POST \
--url https://api.zeal.com/bankaccount \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "fc235fcccee46aa8a082f357715bcfa",
"id": "624ccccca41ba35c05c256a66e",
"institution_name": "Chase",
"account_number": "1243686537",
"routing_number": "267084131",
"type": "checking"
}
'import requests
url = "https://api.zeal.com/bankaccount"
payload = {
"companyID": "fc235fcccee46aa8a082f357715bcfa",
"id": "624ccccca41ba35c05c256a66e",
"institution_name": "Chase",
"account_number": "1243686537",
"routing_number": "267084131",
"type": "checking"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyID: 'fc235fcccee46aa8a082f357715bcfa',
id: '624ccccca41ba35c05c256a66e',
institution_name: 'Chase',
account_number: '1243686537',
routing_number: '267084131',
type: 'checking'
})
};
fetch('https://api.zeal.com/bankaccount', 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.zeal.com/bankaccount",
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([
'companyID' => 'fc235fcccee46aa8a082f357715bcfa',
'id' => '624ccccca41ba35c05c256a66e',
'institution_name' => 'Chase',
'account_number' => '1243686537',
'routing_number' => '267084131',
'type' => 'checking'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.zeal.com/bankaccount"
payload := strings.NewReader("{\n \"companyID\": \"fc235fcccee46aa8a082f357715bcfa\",\n \"id\": \"624ccccca41ba35c05c256a66e\",\n \"institution_name\": \"Chase\",\n \"account_number\": \"1243686537\",\n \"routing_number\": \"267084131\",\n \"type\": \"checking\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.zeal.com/bankaccount")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"fc235fcccee46aa8a082f357715bcfa\",\n \"id\": \"624ccccca41ba35c05c256a66e\",\n \"institution_name\": \"Chase\",\n \"account_number\": \"1243686537\",\n \"routing_number\": \"267084131\",\n \"type\": \"checking\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/bankaccount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyID\": \"fc235fcccee46aa8a082f357715bcfa\",\n \"id\": \"624ccccca41ba35c05c256a66e\",\n \"institution_name\": \"Chase\",\n \"account_number\": \"1243686537\",\n \"routing_number\": \"267084131\",\n \"type\": \"checking\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"bankAccountID": "1b5n28nrideucd24",
"companyID": "0987654321",
"id": "0982354562734",
"institution_name": "Chase",
"account_number": "1243686537",
"routing_number": "09876283743",
"type": "checking",
"nickname": "Main spending account"
}
}{
"success": false,
"errors": [
{
"message": "Routing number is invalid",
"status": 400,
"code": 56
}
]
}Please ensure that you are providing validated bank account information.
Authorizations
Body
application/json
Company ID of employer
Employee ID or Contractor ID of the worker who owns this bank account
Account number of bank account
Routing number of bank account
Account type. Can either be checking or savings
Available options:
checking, savings Institution Name for bank account (Bank Name)
Nickname of the bank account
⌘I
Create Bank Account
curl --request POST \
--url https://api.zeal.com/bankaccount \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"companyID": "fc235fcccee46aa8a082f357715bcfa",
"id": "624ccccca41ba35c05c256a66e",
"institution_name": "Chase",
"account_number": "1243686537",
"routing_number": "267084131",
"type": "checking"
}
'import requests
url = "https://api.zeal.com/bankaccount"
payload = {
"companyID": "fc235fcccee46aa8a082f357715bcfa",
"id": "624ccccca41ba35c05c256a66e",
"institution_name": "Chase",
"account_number": "1243686537",
"routing_number": "267084131",
"type": "checking"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyID: 'fc235fcccee46aa8a082f357715bcfa',
id: '624ccccca41ba35c05c256a66e',
institution_name: 'Chase',
account_number: '1243686537',
routing_number: '267084131',
type: 'checking'
})
};
fetch('https://api.zeal.com/bankaccount', 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.zeal.com/bankaccount",
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([
'companyID' => 'fc235fcccee46aa8a082f357715bcfa',
'id' => '624ccccca41ba35c05c256a66e',
'institution_name' => 'Chase',
'account_number' => '1243686537',
'routing_number' => '267084131',
'type' => 'checking'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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.zeal.com/bankaccount"
payload := strings.NewReader("{\n \"companyID\": \"fc235fcccee46aa8a082f357715bcfa\",\n \"id\": \"624ccccca41ba35c05c256a66e\",\n \"institution_name\": \"Chase\",\n \"account_number\": \"1243686537\",\n \"routing_number\": \"267084131\",\n \"type\": \"checking\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.zeal.com/bankaccount")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companyID\": \"fc235fcccee46aa8a082f357715bcfa\",\n \"id\": \"624ccccca41ba35c05c256a66e\",\n \"institution_name\": \"Chase\",\n \"account_number\": \"1243686537\",\n \"routing_number\": \"267084131\",\n \"type\": \"checking\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeal.com/bankaccount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyID\": \"fc235fcccee46aa8a082f357715bcfa\",\n \"id\": \"624ccccca41ba35c05c256a66e\",\n \"institution_name\": \"Chase\",\n \"account_number\": \"1243686537\",\n \"routing_number\": \"267084131\",\n \"type\": \"checking\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"bankAccountID": "1b5n28nrideucd24",
"companyID": "0987654321",
"id": "0982354562734",
"institution_name": "Chase",
"account_number": "1243686537",
"routing_number": "09876283743",
"type": "checking",
"nickname": "Main spending account"
}
}{
"success": false,
"errors": [
{
"message": "Routing number is invalid",
"status": 400,
"code": 56
}
]
}