curl --request POST \
--url https://api.synctera.com/v2/internal_accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"currency": "USD",
"status": "ACTIVE",
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"is_system_acc": false,
"skip_sweeps": true
}
'import requests
url = "https://api.synctera.com/v2/internal_accounts"
payload = {
"currency": "USD",
"status": "ACTIVE",
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"is_system_acc": False,
"skip_sweeps": True
}
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({
currency: 'USD',
status: 'ACTIVE',
bank_account_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
description: '<string>',
is_system_acc: false,
skip_sweeps: true
})
};
fetch('https://api.synctera.com/v2/internal_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.synctera.com/v2/internal_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([
'currency' => 'USD',
'status' => 'ACTIVE',
'bank_account_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'description' => '<string>',
'is_system_acc' => false,
'skip_sweeps' => true
]),
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.synctera.com/v2/internal_accounts"
payload := strings.NewReader("{\n \"currency\": \"USD\",\n \"status\": \"ACTIVE\",\n \"bank_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"is_system_acc\": false,\n \"skip_sweeps\": true\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.synctera.com/v2/internal_accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"USD\",\n \"status\": \"ACTIVE\",\n \"bank_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"is_system_acc\": false,\n \"skip_sweeps\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.synctera.com/v2/internal_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 \"currency\": \"USD\",\n \"status\": \"ACTIVE\",\n \"bank_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"is_system_acc\": false,\n \"skip_sweeps\": true\n}"
response = http.request(request)
puts response.read_body{
"currency": "USD",
"status": "ACTIVE",
"tenant": "abcdef_ghijkl",
"account_number": "<string>",
"account_type": "ACH_SETTLEMENT",
"balances": [
{
"balance": 2399,
"type": "ACCOUNT_BALANCE"
}
],
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bank_routing": "<string>",
"creation_time": "2010-05-06T12:23:34.321Z",
"description": "<string>",
"gl_type": "ASSET",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_system_acc": false,
"last_updated_time": "2010-05-06T12:23:34.321Z",
"purpose": "PROFIT_AND_LOSS",
"skip_sweeps": true
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}Add internal accounts
Add an internal account. Note: In production, this action can only be performed by Synctera administrators.
curl --request POST \
--url https://api.synctera.com/v2/internal_accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"currency": "USD",
"status": "ACTIVE",
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"is_system_acc": false,
"skip_sweeps": true
}
'import requests
url = "https://api.synctera.com/v2/internal_accounts"
payload = {
"currency": "USD",
"status": "ACTIVE",
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"is_system_acc": False,
"skip_sweeps": True
}
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({
currency: 'USD',
status: 'ACTIVE',
bank_account_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
description: '<string>',
is_system_acc: false,
skip_sweeps: true
})
};
fetch('https://api.synctera.com/v2/internal_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.synctera.com/v2/internal_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([
'currency' => 'USD',
'status' => 'ACTIVE',
'bank_account_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'description' => '<string>',
'is_system_acc' => false,
'skip_sweeps' => true
]),
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.synctera.com/v2/internal_accounts"
payload := strings.NewReader("{\n \"currency\": \"USD\",\n \"status\": \"ACTIVE\",\n \"bank_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"is_system_acc\": false,\n \"skip_sweeps\": true\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.synctera.com/v2/internal_accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"USD\",\n \"status\": \"ACTIVE\",\n \"bank_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"is_system_acc\": false,\n \"skip_sweeps\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.synctera.com/v2/internal_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 \"currency\": \"USD\",\n \"status\": \"ACTIVE\",\n \"bank_account_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"description\": \"<string>\",\n \"is_system_acc\": false,\n \"skip_sweeps\": true\n}"
response = http.request(request)
puts response.read_body{
"currency": "USD",
"status": "ACTIVE",
"tenant": "abcdef_ghijkl",
"account_number": "<string>",
"account_type": "ACH_SETTLEMENT",
"balances": [
{
"balance": 2399,
"type": "ACCOUNT_BALANCE"
}
],
"bank_account_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bank_routing": "<string>",
"creation_time": "2010-05-06T12:23:34.321Z",
"description": "<string>",
"gl_type": "ASSET",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"is_system_acc": false,
"last_updated_time": "2010-05-06T12:23:34.321Z",
"purpose": "PROFIT_AND_LOSS",
"skip_sweeps": true
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}{
"code": "BAD_REQUEST_BODY",
"detail": "missing required fields: first_name, dob",
"status": 400,
"title": "Bad Request Body",
"type": "https://dev.synctera.com/errors/bad-request-body"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
An idempotency key is an arbitrary unique value generated by client to detect subsequent retries of the same request. It is recommended that a UUID or a similar random identifier be used as an idempotency key. A different key must be used for each request, unless it is a retry.
"7d943c51-e4ff-4e57-9558-08cab6b963c7"
Body
Account currency or account settlement currency. ISO 4217 alphabetic currency code.
^[A-Z]{3}$"USD"
ACTIVE type associated with the internal account.
ACH_SETTLEMENT, ACH_SUSPENSE, ALLOCATED_SUSPENSE, BANK_DRAFT, BILLING_EXPENSE, BILLING_REVENUE, CARD_AFT_PREFUNDING, CARD_OCT_SETTLEMENT, CARD_SETTLEMENT, CASH_SETTLEMENT, CASH_SUSPENSE, CHECK_SETTLEMENT, DISPUTE_WRITE_OFF_PNL, EFT_CA_SETTLEMENT, EFT_CA_SUSPENSE, EXTERNAL_CARD_AFT_SETTLEMENT, EXTERNAL_CARD_OCT_SETTLEMENT, FEDNOW_SETTLEMENT, FEES, FRAUD_LOSSES, FUNDING_ACCOUNTS, GENERAL_PNL, IN_STORE_CASH_SETTLEMENT, INTEREST_PAYOUT, INTERNATIONAL_WIRE_SETTLEMENT, LOC_INTEREST_INCOME, LOC_INVESTOR_PORTFOLIO, LOC_REPURCHASE, MONEY_IN_AND_OUT, NEGATIVE_BALANCE, NETWORK_ADJUSTMENT, NETWORK_CHARGEBACK, NEW_FUNDING_ACCOUNT, PROVISIONAL_CREDIT_PNL, RESERVE, REWARDS, SC_INVESTOR_PORTFOLIO, SC_REPURCHASE, SYNCTERA_PAY_SUSPENSE, USC_INTEREST_INCOME, USC_INVESTOR_PORTFOLIO, USC_REPURCHASE, WIRE_SETTLEMENT, WIRE_SUSPENSE, WRITE_OFF The ID of the bank account associated with this internal account. It will be auto-filled if the account type has only one matching bank account in the system.
A user provided description for the current account
What type of general ledger account this internal account represents.
ASSET, LIABILITY, EXPENSE, REVENUE Is a system-controlled internal account. When this field is true, this internal account will be reserved exclusively for internal use by the Synctera platform and any internal transfers to or from this internal account will be declined.
The purpose of the internal account. On creation, the default is PROFIT_AND_LOSS.
PROFIT_AND_LOSS, CORE, RESERVE, SETTLEMENT, TREASURY, SUSPENSE Indicates if transactions of this internal account should be skipped by our sweeps system.
Response
The internal account added.
Account currency or account settlement currency. ISO 4217 alphabetic currency code.
^[A-Z]{3}$"USD"
ACTIVE The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.
"abcdef_ghijkl"
Generated internal account number
type associated with the internal account.
ACH_SETTLEMENT, ACH_SUSPENSE, ALLOCATED_SUSPENSE, BANK_DRAFT, BILLING_EXPENSE, BILLING_REVENUE, CARD_AFT_PREFUNDING, CARD_OCT_SETTLEMENT, CARD_SETTLEMENT, CASH_SETTLEMENT, CASH_SUSPENSE, CHECK_SETTLEMENT, DISPUTE_WRITE_OFF_PNL, EFT_CA_SETTLEMENT, EFT_CA_SUSPENSE, EXTERNAL_CARD_AFT_SETTLEMENT, EXTERNAL_CARD_OCT_SETTLEMENT, FEDNOW_SETTLEMENT, FEES, FRAUD_LOSSES, FUNDING_ACCOUNTS, GENERAL_PNL, IN_STORE_CASH_SETTLEMENT, INTEREST_PAYOUT, INTERNATIONAL_WIRE_SETTLEMENT, LOC_INTEREST_INCOME, LOC_INVESTOR_PORTFOLIO, LOC_REPURCHASE, MONEY_IN_AND_OUT, NEGATIVE_BALANCE, NETWORK_ADJUSTMENT, NETWORK_CHARGEBACK, NEW_FUNDING_ACCOUNT, PROVISIONAL_CREDIT_PNL, RESERVE, REWARDS, SC_INVESTOR_PORTFOLIO, SC_REPURCHASE, SYNCTERA_PAY_SUSPENSE, USC_INTEREST_INCOME, USC_INVESTOR_PORTFOLIO, USC_REPURCHASE, WIRE_SETTLEMENT, WIRE_SUSPENSE, WRITE_OFF A list of balances for internal account based on different type
Show child attributes
Show child attributes
The ID of the bank account associated with this internal account. It will be auto-filled if the account type has only one matching bank account in the system.
Bank routing number
9The date and time the resource was created.
"2010-05-06T12:23:34.321Z"
A user provided description for the current account
What type of general ledger account this internal account represents.
ASSET, LIABILITY, EXPENSE, REVENUE Generated ID for internal account
Is a system-controlled internal account. When this field is true, this internal account will be reserved exclusively for internal use by the Synctera platform and any internal transfers to or from this internal account will be declined.
The date and time the resource was last updated.
"2010-05-06T12:23:34.321Z"
The purpose of the internal account. On creation, the default is PROFIT_AND_LOSS.
PROFIT_AND_LOSS, CORE, RESERVE, SETTLEMENT, TREASURY, SUSPENSE Indicates if transactions of this internal account should be skipped by our sweeps system.
Was this page helpful?

