curl --request GET --fail-with-body --max-time 30 \
"${AMLOK_API_BASE_URL}/v1/workloads/workload_example" \
--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/workloads/workload_example",
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/workloads/workload_example", {
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": "workload_example",
"object": "workload",
"workspace_id": "wsp_example",
"subject_id": "biz_example",
"product": "insights",
"workflow_run_id": "wfr_example",
"monitoring_period_id": null,
"rate_card_id": "billing_rate_card_example",
"tier": "standard",
"as_of": "2026-10-23T14:00:00Z",
"period_start": "2025-10-01T00:00:00Z",
"period_end": "2026-10-01T00:00:00Z",
"record_counting_basis": "per_underwriting",
"bank_accounts": {
"used": 2,
"limit": 2,
"remaining": 0
},
"business_integrations": {
"used": 5,
"limit": 5,
"remaining": 0
},
"records": {
"used": 2,
"limit": 75000,
"remaining": 74998
},
"status": "at_limit",
"blocking_dimensions": [],
"analysis_scope": "Routine reconciliation and standard analysis",
"input_manifest_id": "manifest_example"
},
"meta": {
"request_id": "req_example",
"schema_version": "1.4.2",
"generated_at": "2026-10-23T14:00:00Z",
"data_status": "complete"
}
}Retrieve workload report
Read measured workload against the agreed limits. At a limit, work already within scope can continue; the next operation that would exceed any dimension is rejected or blocked before excess records are processed. Counts across monitors are deduplicated by subject, source record ID and source version during the month. No automatic repricing, mixed-tier limits or extra usage charge occurs. AMLOK must approve an amended rate card before blocked work resumes. Whole-underwriting counts include the complete evidence history; Signal counts only new processed record versions in the UTC calendar month. Counters and limit checks are atomic across concurrent work. as_of and the cursor freeze a read snapshot; a new first-page read gets current progress.
curl --request GET --fail-with-body --max-time 30 \
"${AMLOK_API_BASE_URL}/v1/workloads/workload_example" \
--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/workloads/workload_example",
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/workloads/workload_example", {
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": "workload_example",
"object": "workload",
"workspace_id": "wsp_example",
"subject_id": "biz_example",
"product": "insights",
"workflow_run_id": "wfr_example",
"monitoring_period_id": null,
"rate_card_id": "billing_rate_card_example",
"tier": "standard",
"as_of": "2026-10-23T14:00:00Z",
"period_start": "2025-10-01T00:00:00Z",
"period_end": "2026-10-01T00:00:00Z",
"record_counting_basis": "per_underwriting",
"bank_accounts": {
"used": 2,
"limit": 2,
"remaining": 0
},
"business_integrations": {
"used": 5,
"limit": 5,
"remaining": 0
},
"records": {
"used": 2,
"limit": 75000,
"remaining": 74998
},
"status": "at_limit",
"blocking_dimensions": [],
"analysis_scope": "Routine reconciliation and standard analysis",
"input_manifest_id": "manifest_example"
},
"meta": {
"request_id": "req_example",
"schema_version": "1.4.2",
"generated_at": "2026-10-23T14:00:00Z",
"data_status": "complete"
}
}billing:read
Read measured workload against the agreed limits. At a limit, work already within scope can continue; the next operation that would exceed any dimension is rejected or blocked before excess records are processed. Counts across monitors are deduplicated by subject, source record ID and source version during the month. No automatic repricing, mixed-tier limits or extra usage charge occurs. AMLOK must approve an amended rate card before blocked work resumes. Whole-underwriting counts include the complete evidence history; Signal counts only new processed record versions in the UTC calendar month. Counters and limit checks are atomic across concurrent work. as_of and the cursor freeze a read snapshot; a new first-page read gets current progress.
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.
Path Parameters
Authorized resource ID in this workspace.