Settings
Where decided checks' documents are kept.
The LoupeSettings object
Attributes
folio_keeprequired Type:"never""altered""decided"folio_folderoptional Type:stringThe folder in Folio, needed unless
folio_keepisnever.folio_classoptional Type:stringnullThe retention class's id; the folder's own when
null.loupe_versionoptional Type:stringnullThe Loupe version your checks run, such as
1.5.6, ornullfor always the latest. Leave it out of a change to keep it as it is.latest_loupe_versionoptional Type:stringThe newest Loupe version.
loupe_versionsoptional Type:string[]Every Loupe version you can choose
{
"folio_keep": "altered",
"folio_folder": "Fraud cases",
"folio_class": null,
"loupe_version": "1.5.6",
"latest_loupe_version": "1.6.0",
"loupe_versions": [
"1.5.6",
"1.6.0"
]
} Read Loupe's settings
GET /loupe/settings
Needs loupe:checks:read: See document checks and their findings
Whether a check's documents go to Folio by themselves once someone decides, and where.
Returns
200Type:LoupeSettingsThe settings400Type:Probleminvalid_request,invalid_version,idempotency_key_requiredorinvalid_signature401Type:Problemunauthorized403Type:Problempermission_denied,org_suspended, oraddress_not_allowed(your organisation only accepts requests from the addresses it has listed)404Type:Problemnot_found421Type:Problemwrong_region429Type:Problemrate_limitedorquota_exceededdefaultType:Probleminternal
curl "https://api.unforged.sh/loupe/settings" \
-H "Authorization: Bearer $UNFORGED_KEY" \
-H "Unforged-Version: 2026-10-14" import requests
r = requests.get(
"https://api.unforged.sh/loupe/settings",
headers={"Authorization": f"Bearer {UNFORGED_KEY}", "Unforged-Version": "2026-10-14"},
)
print(r.json()) const res = await fetch('https://api.unforged.sh/loupe/settings', {
method: 'GET',
headers: { Authorization: `Bearer ${process.env.UNFORGED_KEY}`, 'Unforged-Version': '2026-10-14' },
});
console.log(await res.json()); {
"folio_keep": "altered",
"folio_folder": "Fraud cases",
"folio_class": null,
"loupe_version": "1.5.6",
"latest_loupe_version": "1.6.0",
"loupe_versions": [
"1.5.6",
"1.6.0"
]
} Save Loupe's settings
PUT /loupe/settings
Needs loupe:settings:manage: Loupe settings: webhooks
With folio_keep set to altered, a check's documents and its evidence pack go to folio_folder in Folio when someone marks them as altered; with decided, whatever they decide. never leaves it to whoever is looking at the check.
Request body
folio_keeprequired Type:"never""altered""decided"folio_folderoptional Type:stringThe folder in Folio, needed unless
folio_keepisnever.folio_classoptional Type:stringnullThe retention class's id; the folder's own when
null.loupe_versionoptional Type:stringnullThe Loupe version your checks run, such as
1.5.6, ornullfor always the latest. Leave it out of a change to keep it as it is.latest_loupe_versionoptional Type:stringThe newest Loupe version.
loupe_versionsoptional Type:string[]Every Loupe version you can choose
Returns
200Type:LoupeSettingsSaved400Type:Probleminvalid_request,invalid_version,idempotency_key_requiredorinvalid_signature401Type:Problemunauthorized403Type:Problempermission_denied,org_suspended, oraddress_not_allowed(your organisation only accepts requests from the addresses it has listed)404Type:Problemnot_found421Type:Problemwrong_region429Type:Problemrate_limitedorquota_exceededdefaultType:Probleminternal
curl -X PUT "https://api.unforged.sh/loupe/settings" \
-H "Authorization: Bearer $UNFORGED_KEY" \
-H "Unforged-Version: 2026-10-14" \
-H "Content-Type: application/json" \
-d '{
"folio_keep": "altered",
"folio_folder": "Fraud cases",
"folio_class": null,
"loupe_version": "1.5.6",
"latest_loupe_version": "1.6.0",
"loupe_versions": [
"1.5.6",
"1.6.0"
]
}' import requests
r = requests.put(
"https://api.unforged.sh/loupe/settings",
headers={"Authorization": f"Bearer {UNFORGED_KEY}", "Unforged-Version": "2026-10-14"},
json={
"folio_keep": "altered",
"folio_folder": "Fraud cases",
"folio_class": None,
"loupe_version": "1.5.6",
"latest_loupe_version": "1.6.0",
"loupe_versions": [
"1.5.6",
"1.6.0"
]
},
)
print(r.json()) const res = await fetch('https://api.unforged.sh/loupe/settings', {
method: 'PUT',
headers: { Authorization: `Bearer ${process.env.UNFORGED_KEY}`, 'Unforged-Version': '2026-10-14', 'Content-Type': 'application/json' },
body: JSON.stringify({
"folio_keep": "altered",
"folio_folder": "Fraud cases",
"folio_class": null,
"loupe_version": "1.5.6",
"latest_loupe_version": "1.6.0",
"loupe_versions": [
"1.5.6",
"1.6.0"
]
}),
});
console.log(await res.json()); {
"folio_keep": "altered",
"folio_folder": "Fraud cases",
"folio_class": null,
"loupe_version": "1.5.6",
"latest_loupe_version": "1.6.0",
"loupe_versions": [
"1.5.6",
"1.6.0"
]
}