cURL
curl --request GET --fail-with-body --max-time 30 \
"${AMLOK_API_BASE_URL}/v1/providers?limit=100&cursor=cur_example&country=CA&resource_type=bank_transaction" \
--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/providers?limit=100&cursor=cur_example&country=CA&resource_type=bank_transaction",
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/providers?limit=100&cursor=cur_example&country=CA&resource_type=bank_transaction", {
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": [
{
"provider_id": "BANK-02",
"resources": [
"bank_account",
"bank_transaction"
],
"countries": [
"CA"
],
"status": "enabled",
"limitations": [],
"products": [
{
"id": "transactions",
"resources": [
"bank_account",
"bank_transaction"
],
"consent_scopes": [
"banking:read"
],
"purposes": [
"credit_assessment"
]
}
]
}
],
"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"
}
}Platform
List providers
List contracted provider capabilities available to the caller.
Required scope: connections:read. Runtime entitlements, not the candidate workbook inventory.
GET
/
v1
/
providers
cURL
curl --request GET --fail-with-body --max-time 30 \
"${AMLOK_API_BASE_URL}/v1/providers?limit=100&cursor=cur_example&country=CA&resource_type=bank_transaction" \
--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/providers?limit=100&cursor=cur_example&country=CA&resource_type=bank_transaction",
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/providers?limit=100&cursor=cur_example&country=CA&resource_type=bank_transaction", {
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": [
{
"provider_id": "BANK-02",
"resources": [
"bank_account",
"bank_transaction"
],
"countries": [
"CA"
],
"status": "enabled",
"limitations": [],
"products": [
{
"id": "transactions",
"resources": [
"bank_account",
"bank_transaction"
],
"consent_scopes": [
"banking:read"
],
"purposes": [
"credit_assessment"
]
}
]
}
],
"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"
}
}Required scope:
connections:read
List contracted provider capabilities available to the caller.
Required scope: connections:read. Runtime entitlements, not the candidate workbook inventory.
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.
Required range:
1 <= x <= 200Opaque AMLOK cursor. Preserve the original filters.
Target country for runtime capability lookup.
Return capabilities for one resource type.
Available options:
connection, consent, sync_job, business, person, relationship, verification, verification_check, screening_match, document, bank_account, account_balance, bank_transaction, recurring_stream, income_observation, merchant_account, payment, processor_transaction, payout, refund, dispute, counterparty, order, order_line, subscription, ledger_account, journal, journal_line, invoice, bill, credit_note, accounting_payment, financial_statement, statement_line, tax_obligation, product, location, inventory_balance, inventory_movement, purchase_order, shipment, production_order, project, application, credit_facility, loan, installment, repayment, collateral, guarantee, covenant, decision, lien_search, lien, filing_event, attribute, risk_snapshot, monitor, alert, workflow_run, requirement, audit_event, reconciliation_link