Skip to content

GET /policies

Query lending policies filtered by lender(s) and trigger(s).

Retrieves lending policy documents filtered by lenders and policy triggers. Policies contain markdown-formatted content describing how lenders assess income, expenses, properties, and borrower eligibility.

Required: RSA signature-based authentication

X-Auth-Client-ID: {clientId}
X-Auth-Access-Token: {accessToken}
X-Auth-Timestamp: {timestamp}
X-Auth-Nonce: {nonce}
X-Auth-Signature: {signature}

Method: GET

URL: https://api.quickli.com/api/v1/policies

Headers:

X-Auth-Client-ID: {clientId}
X-Auth-Access-Token: {accessToken}
X-Auth-Timestamp: {timestamp}
X-Auth-Nonce: {nonce}
X-Auth-Signature: {signature}
Content-Type: application/json

Query Parameters:

ParameterTypeRequiredDescription
lendersstring | string[]YesSingle lender or comma-separated list
triggersstring | string[]YesSingle trigger or comma-separated list
searchstringNoOptional keyword search in policy content
orderResultsstringNo'true' (default) or 'false' to disable sorting

Examples:

GET /api/v1/policies?lenders=cba&triggers=payg
GET /api/v1/policies?lenders=cba,westpac&triggers=payg,commission
GET /api/v1/policies?lenders=cba&triggers=self_employed&search=tax+returns

See Policy Schema for complete documentation.

{
"data": [
{
"lender": "cba",
"triggers": ["payg", "commission"],
"content": "# PAYG Income Assessment\n\n## Standard Assessment\n- Minimum 3 months employment...",
"lastVerifiedOn": "2025-10-15T00:00:00.000Z"
}
],
"meta": {
"timestamp": "2025-11-03T10:30:00.000Z",
"count": 1
}
}

When using search, matching text is highlighted:

{
"data": [
{
"lender": "cba",
"triggers": ["self_employed"],
"content": "...",
"lastVerifiedOn": "2025-10-15T00:00:00.000Z",
"highlights": [
"...ABN holders with <em>2 years</em> of trading history...",
"...average of last <em>2 years</em> tax returns..."
]
}
]
}

Missing lenders or triggers parameters.

Invalid credentials.

User doesn’t have access to specified lenders.

Terminal window
# Basic query
curl -X GET 'https://api.quickli.com/api/v1/policies?lenders=cba&triggers=payg' \
-H "X-Auth-Client-ID: {clientId}" \
-H "X-Auth-Access-Token: {accessToken}" \
-H "X-Auth-Timestamp: {timestamp}" \
-H "X-Auth-Nonce: {nonce}" \
-H "X-Auth-Signature: {signature}"
# Multiple triggers
curl -X GET 'https://api.quickli.com/api/v1/policies?lenders=cba,westpac&triggers=payg,commission,overtime' \
-H "X-Auth-Client-ID: {clientId}" \
-H "X-Auth-Access-Token: {accessToken}" \
-H "X-Auth-Timestamp: {timestamp}" \
-H "X-Auth-Nonce: {nonce}" \
-H "X-Auth-Signature: {signature}"
# With search
curl -X GET 'https://api.quickli.com/api/v1/policies?lenders=cba&triggers=self_employed&search=ABN' \
-H "X-Auth-Client-ID: {clientId}" \
-H "X-Auth-Access-Token: {accessToken}" \
-H "X-Auth-Timestamp: {timestamp}" \
-H "X-Auth-Nonce: {nonce}" \
-H "X-Auth-Signature: {signature}"
  • payg - PAYG salary assessment
  • casual - Casual employment
  • commission - Commission income
  • overtime - Overtime income
  • self_employed - Self-employed/ABN holders
  • rental_income - Rental property income
  • overseas_income - Foreign income
  • living_expenses - Living expense assessment
  • hem - Household Expenditure Measure
  • property_type - Property type restrictions
  • security_valuation - Valuation requirements
  • rural - Rural property lending
  • first_home_buyer - FHB concessions
  • visa_status - Residency requirements
  • credit_history - Credit requirements

See Policy Schema for complete list.

const policies = await getPolicies({
lenders: ['cba', 'westpac', 'anz'],
triggers: ['commission']
});
policies.forEach(p => {
console.log(`\n${p.lender}: Commission Income Policy`);
console.log(p.content);
});
const policies = await getPolicies({
lenders: ['cba', 'westpac', 'anz', 'nab'],
triggers: ['self_employed']
});
// Compare requirements
policies.forEach(p => {
console.log(`${p.lender}:`);
if (p.content.includes('2 years')) {
console.log(' - Requires 2 years trading history');
}
if (p.content.includes('tax returns')) {
console.log(' - Requires tax returns');
}
});
const policies = await getPolicies({
lenders: 'cba',
triggers: ['payg'],
search: 'probation'
});
// View highlighted excerpts
policies.forEach(p => {
if (p.highlights) {
console.log('Probation period mentions:');
p.highlights.forEach(h => console.log(`- ${h}`));
}
});

Policies use markdown format. Render with a markdown parser:

import ReactMarkdown from 'react-markdown';
function PolicyViewer({ policy }: { policy: Policy }) {
return (
<div>
<h2>{policy.lender.toUpperCase()} - {policy.triggers.join(', ')}</h2>
<p>Last verified: {new Date(policy.lastVerifiedOn).toLocaleDateString()}</p>
<ReactMarkdown>{policy.content}</ReactMarkdown>
</div>
);
}

Policies are automatically:

  • Filtered by your lender access permissions
  • Filtered to exclude white-label lenders
  • Sorted by trigger order, then lender name (unless search is used)
  • When search is used, sorted by relevance score

Disable sorting with orderResults=false.

  • Policy content is markdown-formatted
  • Policies are regularly verified (check lastVerifiedOn date)
  • Search highlights are HTML-formatted with <em> tags
  • White-label lenders are hidden from public API

Last updated: 2025-11-19