curl --request GET \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}', 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://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}"
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://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}")
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{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "UNIT",
"source_transaction_id": "g4DlKyjXqGH3Kp5XlaWMtwLRrE4Z9AiE8B4Ko",
"source_account_id": "Aaoy8G7VXZHVeqNoL1GvcmkPdqpLRWi9NArdG",
"imported_at": "2023-11-07T05:31:56Z",
"date": "2023-11-07T05:31:56Z",
"direction": "CREDIT",
"amount": 123,
"counterparty_name": "WeWork",
"description": "WeWork monthly rent payment",
"account_name": "Plaid Checking",
"categorizationStatus": "PENDING",
"category": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"category": "RENT",
"display_name": "Rent",
"stable_name": "RENT"
},
"categorization_method": "SMS",
"projected_income_category": "REVENUE",
"suggested_matches": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"matchType": "TRANSFER",
"details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"date": "2023-11-07T05:31:56Z",
"description": "Transfer from SavingsAccount to CheckingAccount"
}
}
],
"match": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"match_type": "TRANSFER",
"bank_transaction": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"date": "2023-11-07T05:31:56Z",
"amount": 123,
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "UNIT",
"source_transaction_id": "g4DlKyjXqGH3Kp5XlaWMtwLRrE4Z9AiE8B4Ko",
"source_account_id": "Aaoy8G7VXZHVeqNoL1GvcmkPdqpLRWi9NArdG",
"imported_at": "2023-11-07T05:31:56Z",
"direction": "CREDIT",
"counterparty_name": "WeWork",
"description": "WeWork monthly rent payment",
"account_name": "Plaid Checking",
"categorizationStatus": "PENDING",
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
},
"details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"date": "2023-11-07T05:31:56Z",
"description": "Transfer from SavingsAccount to CheckingAccount"
}
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
}""Fetch bank transaction
Returns the bank transaction associated with the provided bank transaction id
curl --request GET \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}', 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://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}"
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://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/bank-transactions/{bankTransactionId}")
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{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "UNIT",
"source_transaction_id": "g4DlKyjXqGH3Kp5XlaWMtwLRrE4Z9AiE8B4Ko",
"source_account_id": "Aaoy8G7VXZHVeqNoL1GvcmkPdqpLRWi9NArdG",
"imported_at": "2023-11-07T05:31:56Z",
"date": "2023-11-07T05:31:56Z",
"direction": "CREDIT",
"amount": 123,
"counterparty_name": "WeWork",
"description": "WeWork monthly rent payment",
"account_name": "Plaid Checking",
"categorizationStatus": "PENDING",
"category": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"category": "RENT",
"display_name": "Rent",
"stable_name": "RENT"
},
"categorization_method": "SMS",
"projected_income_category": "REVENUE",
"suggested_matches": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"matchType": "TRANSFER",
"details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"date": "2023-11-07T05:31:56Z",
"description": "Transfer from SavingsAccount to CheckingAccount"
}
}
],
"match": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"match_type": "TRANSFER",
"bank_transaction": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"date": "2023-11-07T05:31:56Z",
"amount": 123,
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "UNIT",
"source_transaction_id": "g4DlKyjXqGH3Kp5XlaWMtwLRrE4Z9AiE8B4Ko",
"source_account_id": "Aaoy8G7VXZHVeqNoL1GvcmkPdqpLRWi9NArdG",
"imported_at": "2023-11-07T05:31:56Z",
"direction": "CREDIT",
"counterparty_name": "WeWork",
"description": "WeWork monthly rent payment",
"account_name": "Plaid Checking",
"categorizationStatus": "PENDING",
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
},
"details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"date": "2023-11-07T05:31:56Z",
"description": "Transfer from SavingsAccount to CheckingAccount"
}
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
}""Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Content-Type must be set to application/json
Path Parameters
The UUID of the business to fetch the bank transaction for
The UUID of the bank transaction to fetch
Response
Unique identifier of the bank transaction
Unique identifier of the business the bank transaction is associated with
Source of the transaction.
UNIT, PLAID, API, STRIPE, CUSTOM External transaction ID from the source platform (e.g, Plaid transaction ID)
"g4DlKyjXqGH3Kp5XlaWMtwLRrE4Z9AiE8B4Ko"
External account ID from the source platform (e.g, Plaid account ID)
"Aaoy8G7VXZHVeqNoL1GvcmkPdqpLRWi9NArdG"
Timestamp when the transaction was imported
Date of the transaction
Direction of the transaction.
CREDIT, DEBIT Transaction amount in cents
Name of the transaction counterparty
"WeWork"
Description of the transaction.
"WeWork monthly rent payment"
Name of the bank account
"Plaid Checking"
The status of the transaction’s categorization in Layer’s systems.
PENDING, READY_FOR_INPUT, CATEGORIZED, SPLIT, LAYER_REVIEW, JOURNALING, MATCHED The category assigned to the transaction. Only populated for transactions that have a finalized category.
- Account
- Exclusion
- Split
- AccountNested
- OptionalAccountNested
- ExclusionNested
Show child attributes
Show child attributes
The method used to classify the transaction.
SMS, API, LAYER_AUTO, LAYER_MANUAL REVENUE, EXPENSE, EXCLUDE Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Memo for any text you would like to associate with the bank transaction (for example, to display to end users).
Arbitrary custom metadata in JSON format with a size limit of 1KB
{
"custom_field": "value",
"any valid json": "below 1kb",
"nested": { "meaning of life": 42, "array": [] }
}
Any (typically user-visible) identifier you would like to associate with the bank transaction. Can be used to filter when listing bank transactions.