curl --request GET --fail-with-body --max-time 30 \
"${AMLOK_API_BASE_URL}/v1/journal-lines?limit=100&cursor=cur_example&subject_id=biz_example&connection_id=cnn_example&fields=id%2Cobject%2Cupdated_at&include=provenance" \
--header "Authorization: Bearer ${AMLOK_API_KEY}" \
--header "Accept: application/json"import os
import requests
base_url = os.environ["AMLOK_API_BASE_URL"].rstrip("/")
headers = {'Accept': 'application/json'}
headers["Authorization"] = "Bearer " + os.environ["AMLOK_API_KEY"]
response = requests.request(
"GET", base_url + "/v1/journal-lines?limit=100&cursor=cur_example&subject_id=biz_example&connection_id=cnn_example&fields=id%2Cobject%2Cupdated_at&include=provenance",
headers=headers, timeout=30, allow_redirects=False,
)
response.raise_for_status()
print(response.json())
const baseUrl = process.env.AMLOK_API_BASE_URL;
const apiKey = process.env.AMLOK_API_KEY;
if (!baseUrl || !apiKey) throw new Error("Configure AMLOK_API_BASE_URL and AMLOK_API_KEY");
const headers = {
"Accept": "application/json"
};
headers.Authorization = `Bearer ${apiKey}`;
const response = await fetch(baseUrl.replace(/\/$/, "") + "/v1/journal-lines?limit=100&cursor=cur_example&subject_id=biz_example&connection_id=cnn_example&fields=id%2Cobject%2Cupdated_at&include=provenance", {
method: "GET", headers,
redirect: "error", signal: AbortSignal.timeout(30000),
});
if (!response.ok) throw new Error(`AMLOK returned HTTP ${response.status}`);
console.log(await response.json());{
"data": [
{
"id": "journal_line_example",
"object": "journal_line",
"subject_id": "biz_example",
"created_at": "2026-10-23T14:00:00Z",
"updated_at": "2026-10-23T14:00:00Z",
"record_version": 1,
"source_refs": [],
"data_status": "partial",
"missing_fields": [],
"schema_version": "1.4.2",
"client_reference": "app-1029",
"journal_id": "jnl_example",
"ledger_account_id": "gla_example",
"debit": {
"amount": "1234.56",
"currency": "CAD"
},
"credit": {
"amount": "1234.56",
"currency": "CAD"
},
"base_debit": {
"amount": "1234.56",
"currency": "CAD"
},
"base_credit": {
"amount": "1234.56",
"currency": "CAD"
},
"description": "Invoice posting",
"department": "Manufacturing",
"project_id": "prj_example",
"counterparty_id": "pty_example"
}
],
"page": {
"next_cursor": null,
"has_more": false,
"limit": 100
},
"meta": {
"request_id": "req_example",
"schema_version": "1.4.2",
"generated_at": "2026-10-23T14:00:00Z",
"data_status": "partial"
}
}List journal lines
List authorized journal line records.
Required scope: accounting:read. Source, module, country, consent and contracted permissions determine population.
curl --request GET --fail-with-body --max-time 30 \
"${AMLOK_API_BASE_URL}/v1/journal-lines?limit=100&cursor=cur_example&subject_id=biz_example&connection_id=cnn_example&fields=id%2Cobject%2Cupdated_at&include=provenance" \
--header "Authorization: Bearer ${AMLOK_API_KEY}" \
--header "Accept: application/json"import os
import requests
base_url = os.environ["AMLOK_API_BASE_URL"].rstrip("/")
headers = {'Accept': 'application/json'}
headers["Authorization"] = "Bearer " + os.environ["AMLOK_API_KEY"]
response = requests.request(
"GET", base_url + "/v1/journal-lines?limit=100&cursor=cur_example&subject_id=biz_example&connection_id=cnn_example&fields=id%2Cobject%2Cupdated_at&include=provenance",
headers=headers, timeout=30, allow_redirects=False,
)
response.raise_for_status()
print(response.json())
const baseUrl = process.env.AMLOK_API_BASE_URL;
const apiKey = process.env.AMLOK_API_KEY;
if (!baseUrl || !apiKey) throw new Error("Configure AMLOK_API_BASE_URL and AMLOK_API_KEY");
const headers = {
"Accept": "application/json"
};
headers.Authorization = `Bearer ${apiKey}`;
const response = await fetch(baseUrl.replace(/\/$/, "") + "/v1/journal-lines?limit=100&cursor=cur_example&subject_id=biz_example&connection_id=cnn_example&fields=id%2Cobject%2Cupdated_at&include=provenance", {
method: "GET", headers,
redirect: "error", signal: AbortSignal.timeout(30000),
});
if (!response.ok) throw new Error(`AMLOK returned HTTP ${response.status}`);
console.log(await response.json());{
"data": [
{
"id": "journal_line_example",
"object": "journal_line",
"subject_id": "biz_example",
"created_at": "2026-10-23T14:00:00Z",
"updated_at": "2026-10-23T14:00:00Z",
"record_version": 1,
"source_refs": [],
"data_status": "partial",
"missing_fields": [],
"schema_version": "1.4.2",
"client_reference": "app-1029",
"journal_id": "jnl_example",
"ledger_account_id": "gla_example",
"debit": {
"amount": "1234.56",
"currency": "CAD"
},
"credit": {
"amount": "1234.56",
"currency": "CAD"
},
"base_debit": {
"amount": "1234.56",
"currency": "CAD"
},
"base_credit": {
"amount": "1234.56",
"currency": "CAD"
},
"description": "Invoice posting",
"department": "Manufacturing",
"project_id": "prj_example",
"counterparty_id": "pty_example"
}
],
"page": {
"next_cursor": null,
"has_more": false,
"limit": 100
},
"meta": {
"request_id": "req_example",
"schema_version": "1.4.2",
"generated_at": "2026-10-23T14:00:00Z",
"data_status": "partial"
}
}accounting:read
List authorized journal line records.
Required scope: accounting:read. Source, module, country, consent and contracted permissions determine population.
Product scope · Processing lifecycle · ErrorsAuthorizations
Server-to-server API key bound to exactly one workspace, institution tenant and environment. No caller-supplied workspace override is accepted. Do not use in public browser code.
Headers
Optional caller correlation ID; the response includes AMLOK request_id.
Query Parameters
Page size. Default 100, maximum 200.
1 <= x <= 200Opaque AMLOK cursor. Preserve the original filters.
Filter to one authorized business or person where applicable.
Inclusive normalized update time.
Exclusive normalized update time.
Filter one authorized source connection.
Comma-separated top-level field names. Required identity and metadata always remain. Selected objects are complete; nested paths and wildcards are unsupported. Unknown fields return 400 validation_error.
Comma-separated optional expansions: provenance, missing_fields. No unrestricted graph traversal.
Optional synchronization-checkpoint ID. Freezes this collection at the checkpoint boundary; cursor binds the snapshot. Unsupported or expired snapshots return 410.