Create a LAR profile version
const url = 'http://localhost:8080/v1/lar-profiles';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"name":"example","sourceFormat":"example","mapping":"example","activate":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8080/v1/lar-profiles \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "sourceFormat": "example", "mapping": "example", "activate": true }'Adds a new immutable version of a named profile and deactivates the previous one; every loan records the version that parsed its LAR. mapping is { format, fields: [{ canonical, path, required? }] } and its format must match sourceFormat. Locators per format; json: $.a.b, $.list[*].x; csv: $.Column, $.Column[*] (column across data rows); xml: $.loan.guarantors.guarantor[*].name, trailing @attr for attributes; docx: $.Label (table cell or ‘Label:’ paragraph). PDF approval records go through the extraction pipeline as package documents, not through a profile. With activate (default true); or when the previous version was the configured one; intake switches to the new version. Administrators only. 400 for an invalid name, a non-object mapping, an empty field list or a format mismatch.
Request Bodyrequired
Section titled “Request Bodyrequired”Body of POST /v1/lar-profiles: a new version of a named profile (profiles are versioned, never edited in place).
object
Json | csv | xml | docx are parsed; pdf approval records go through the extraction pipeline instead.
{ format, fields: [{ canonical, path, required? }] }.
Make this version the one intake uses (also true when the previous version was the configured one).
Examplegenerated
{ "name": "example", "sourceFormat": "example", "mapping": "example", "activate": true}Responses
Section titled “Responses”Created
object
A validated JSON document destined for a jsonb / nvarchar(max) ISJSON column. Distinct from
string so the persistence layer can bind it with the right provider type on each dialect.
Examplegenerated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "version": 1, "sourceFormat": "example", "isActive": true, "isConfigured": true, "mapping": "example", "createdAt": "2026-04-15T12:00:00Z"}