curl --request GET \
--url https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/', 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.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/",
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.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/"
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.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/")
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": "je-uuid-001",
"sequence_number": "JE-2024-0042",
"entry_date": "2024-03-28",
"reference": "INV-0042",
"description": "Customer invoice for The Red Lion Pub Ltd",
"currency": "GBP",
"total_debit": 540000,
"total_credit": 540000,
"is_balanced": true,
"created_by": "system",
"created_by_display": "System",
"status": "approved",
"status_display": "Approved",
"is_posted": true,
"posted_at": "2024-03-28T10:15:00Z",
"bank_transaction_id": null,
"source_type": "invoice",
"source_reference": "INV-0042",
"created_at": "2024-03-28T10:10:00Z",
"accounting_period": {
"id": "period-uuid",
"year": 2024,
"month": 3,
"period_name": "March 2024",
"status": "open"
},
"lines": [
{
"id": "line-uuid-001",
"line_number": 1,
"account_code": "1200",
"account_name": "Accounts Receivable",
"account_type": "asset",
"debit_amount": 540000,
"credit_amount": 0,
"description": "Invoice INV-0042 - The Red Lion Pub Ltd",
"external_reference": "INV-0042"
},
{
"id": "line-uuid-002",
"line_number": 2,
"account_code": "4000",
"account_name": "Sales Revenue",
"account_type": "revenue",
"debit_amount": 0,
"credit_amount": 450000,
"description": "Beer supply revenue",
"external_reference": "INV-0042"
},
{
"id": "line-uuid-003",
"line_number": 3,
"account_code": "2200",
"account_name": "VAT Payable",
"account_type": "liability",
"debit_amount": 0,
"credit_amount": 90000,
"description": "VAT @ 20%",
"external_reference": "INV-0042"
}
],
"source_info": {
"linked_documents": [
{
"type": "invoice",
"app_label": "main",
"id": "invoice-uuid",
"reference": "INV-0042",
"display_name": "Invoice INV-0042",
"created_at": "2024-03-28T10:00:00Z",
"file_link": {
"url": "https://s3.example.com/invoice.pdf?X-Amz-Signature=...",
"expires_in": 3600,
"document_id": "document-uuid",
"file_name": "Invoice_INV-0042.pdf",
"file_size": 12345,
"mime_type": "application/pdf"
}
}
]
},
"rejection_reason": null,
"rejected_at": null,
"updated_at": "2024-03-28T10:15:00Z"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}Get journal entry detail
Get detailed information about a specific journal entry including:
- Full entry information
- All debit/credit lines with account details
- Accounting period information
- Source information with linked documents (invoices, bills, payments, etc.)
- Bank transaction details if reconciled
- Status and audit trail
curl --request GET \
--url https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/', 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.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/",
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.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/"
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.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/")
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": "je-uuid-001",
"sequence_number": "JE-2024-0042",
"entry_date": "2024-03-28",
"reference": "INV-0042",
"description": "Customer invoice for The Red Lion Pub Ltd",
"currency": "GBP",
"total_debit": 540000,
"total_credit": 540000,
"is_balanced": true,
"created_by": "system",
"created_by_display": "System",
"status": "approved",
"status_display": "Approved",
"is_posted": true,
"posted_at": "2024-03-28T10:15:00Z",
"bank_transaction_id": null,
"source_type": "invoice",
"source_reference": "INV-0042",
"created_at": "2024-03-28T10:10:00Z",
"accounting_period": {
"id": "period-uuid",
"year": 2024,
"month": 3,
"period_name": "March 2024",
"status": "open"
},
"lines": [
{
"id": "line-uuid-001",
"line_number": 1,
"account_code": "1200",
"account_name": "Accounts Receivable",
"account_type": "asset",
"debit_amount": 540000,
"credit_amount": 0,
"description": "Invoice INV-0042 - The Red Lion Pub Ltd",
"external_reference": "INV-0042"
},
{
"id": "line-uuid-002",
"line_number": 2,
"account_code": "4000",
"account_name": "Sales Revenue",
"account_type": "revenue",
"debit_amount": 0,
"credit_amount": 450000,
"description": "Beer supply revenue",
"external_reference": "INV-0042"
},
{
"id": "line-uuid-003",
"line_number": 3,
"account_code": "2200",
"account_name": "VAT Payable",
"account_type": "liability",
"debit_amount": 0,
"credit_amount": 90000,
"description": "VAT @ 20%",
"external_reference": "INV-0042"
}
],
"source_info": {
"linked_documents": [
{
"type": "invoice",
"app_label": "main",
"id": "invoice-uuid",
"reference": "INV-0042",
"display_name": "Invoice INV-0042",
"created_at": "2024-03-28T10:00:00Z",
"file_link": {
"url": "https://s3.example.com/invoice.pdf?X-Amz-Signature=...",
"expires_in": 3600,
"document_id": "document-uuid",
"file_name": "Invoice_INV-0042.pdf",
"file_size": 12345,
"mime_type": "application/pdf"
}
}
]
},
"rejection_reason": null,
"rejected_at": null,
"updated_at": "2024-03-28T10:15:00Z"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}{
"error_code": "<string>",
"message": "<string>",
"detail": {},
"request_id": "<string>"
}Authorizations
Partner-level JWT token (unscoped). Token payload includes partner_id. Business access is validated via partner ownership. Format: Bearer <your-jwt-token>
Use this for: Multi-business operations where the business_id is specified in the URL and partner has access to multiple businesses.
Path Parameters
Business UUID
Journal Entry UUID
Response
Detailed serializer for journal entry with all lines.
Unique journal entry identifier
Sequential journal entry number (e.g., 'JE-2024-0042')
Date of the journal entry (YYYY-MM-DD)
Journal entry reference number or source document reference
Journal entry description
Entry currency from business base currency (GBP, EUR, USD)
Total debit amount in cents (sum of all debit lines)
Total credit amount in cents (sum of all credit lines)
Whether debits equal credits (balanced entry required for posting)
Creator type: ai, manual, system, import
ai- AI Systemmanual- Manual Entrysystem- System Generatedimport- Data Import
ai, manual, system, import Human-readable creator type
Entry status: draft, approved, rejected
draft- Draftapproved- Approvedrejected- Rejected
draft, approved, rejected Human-readable status
Whether entry is posted to ledger (affects account balances)
Timestamp when entry was posted to ledger (null if not posted)
Linked bank transaction UUID (null if not from bank feed)
Source document type (invoice, bill, payment, bank_transaction, etc.)
Source document reference number
Timestamp when entry was created
Accounting period this entry belongs to (year, month, period name, status)
Show child attributes
Show child attributes
All debit and credit lines for this journal entry
Show child attributes
Show child attributes
Source document information (invoice, bill, bank transaction, etc.) with links to original documents
Show child attributes
Show child attributes
Last update timestamp
Reason for rejection if status is rejected (null otherwise)
Timestamp when entry was rejected (null if not rejected)
Was this page helpful?