Fetch bookkeeping reporting periods
curl --request GET \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/reports/bookkeeping/periods \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/reports/bookkeeping/periods"
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}/reports/bookkeeping/periods', 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}/reports/bookkeeping/periods",
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}/reports/bookkeeping/periods"
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}/reports/bookkeeping/periods")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/reports/bookkeeping/periods")
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{
"data": {
"status": {
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enrollment_status": "ACTIVE",
"periods_awaiting_business_count": 123,
"pending_business_tasks_count": 123,
"disconnected_bank_accounts": 1,
"as_of": "2023-11-07T05:31:56Z",
"onboarding_date": "2023-12-25",
"first_bookkeeping_months": "2023-12-25",
"bookkeeping_end_date": "2023-12-25",
"churned_at": "2023-12-25",
"latest_closed_period": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"year": 123,
"month": 6
},
"last_message_received_at": "2023-11-07T05:31:56Z"
},
"periods": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"year": 123,
"scale": "MONTHLY",
"status": "IN_PROGRESS",
"billing_status": "ACTIVE",
"closing_timeline": {
"started_at": "2023-11-07T05:31:56Z",
"first_awaiting_business_at": "2023-11-07T05:31:56Z",
"closing_started_at": "2023-11-07T05:31:56Z",
"first_closing_tasks_sent_at": "2023-11-07T05:31:56Z",
"in_review_at": "2023-11-07T05:31:56Z",
"last_task_completed_at": "2023-11-07T05:31:56Z",
"waiting_for_business_since": "2023-11-07T05:31:56Z",
"provisionally_closed_at": "2023-11-07T05:31:56Z",
"closed_at": "2023-11-07T05:31:56Z"
},
"open_tasks": 123,
"completed_tasks": 123,
"month": 6,
"avg_task_response_time_seconds": 123
}
]
}
}{
"type": "InvalidParameters",
"description": "<string>",
"error_enum": "InvalidPayload",
"meta": {}
}Bookkeeping Status
Fetch bookkeeping reporting periods
Returns the current bookkeeping status summary together with historical bookkeeping periods for a business. Periods include simplified external status, billing status, closing timeline milestones, and per-period task metrics. Newest periods are returned first; inactive and ongoing periods are excluded.
GET
/
v1
/
businesses
/
{businessId}
/
reports
/
bookkeeping
/
periods
Fetch bookkeeping reporting periods
curl --request GET \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/reports/bookkeeping/periods \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/reports/bookkeeping/periods"
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}/reports/bookkeeping/periods', 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}/reports/bookkeeping/periods",
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}/reports/bookkeeping/periods"
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}/reports/bookkeeping/periods")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/reports/bookkeeping/periods")
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{
"data": {
"status": {
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"enrollment_status": "ACTIVE",
"periods_awaiting_business_count": 123,
"pending_business_tasks_count": 123,
"disconnected_bank_accounts": 1,
"as_of": "2023-11-07T05:31:56Z",
"onboarding_date": "2023-12-25",
"first_bookkeeping_months": "2023-12-25",
"bookkeeping_end_date": "2023-12-25",
"churned_at": "2023-12-25",
"latest_closed_period": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"year": 123,
"month": 6
},
"last_message_received_at": "2023-11-07T05:31:56Z"
},
"periods": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"year": 123,
"scale": "MONTHLY",
"status": "IN_PROGRESS",
"billing_status": "ACTIVE",
"closing_timeline": {
"started_at": "2023-11-07T05:31:56Z",
"first_awaiting_business_at": "2023-11-07T05:31:56Z",
"closing_started_at": "2023-11-07T05:31:56Z",
"first_closing_tasks_sent_at": "2023-11-07T05:31:56Z",
"in_review_at": "2023-11-07T05:31:56Z",
"last_task_completed_at": "2023-11-07T05:31:56Z",
"waiting_for_business_since": "2023-11-07T05:31:56Z",
"provisionally_closed_at": "2023-11-07T05:31:56Z",
"closed_at": "2023-11-07T05:31:56Z"
},
"open_tasks": 123,
"completed_tasks": 123,
"month": 6,
"avg_task_response_time_seconds": 123
}
]
}
}{
"type": "InvalidParameters",
"description": "<string>",
"error_enum": "InvalidPayload",
"meta": {}
}Returns the current bookkeeping status summary together with historical bookkeeping periods (newest first). Each period includes simplified external status, billing status, closing timeline milestones, and task metrics. Inactive and ongoing periods are excluded.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The UUID of the business.
Response
Bookkeeping period history for the business.
Show child attributes
Show child attributes