Application decisioning
preapproval v2 preapproval v2 provides an api set used to validate , submit , and supplement credit application data these apis are tailored, schema driven, and real time, designed to support the full lifecycle of credit applications under versioned credit policies partners are required to send the entire population of credit applications through the preapproval apis, including those that are funded approved but not accepted denied incomplete withdrawn prequalifications providing all application outcomes ensures that cross river bank (crb) can perform the statistical analyses required under regulatory guidance this complete dataset enables monitoring for potential disparities, supports model governance, and ensures compliance with fair banking and fair lending obligations each endpoint includes a schemaid in the url, representing the data model and validation rules agreed upon between crb and the partner for that schema version schema updates are requested through the change management process (via jira) and updated on our schema builder ui important to access the links below you must have the following ip addresses allowlisted sandbox 66 206 202 39 , 66 206 202 12 production 66 206 202 62 , 66 206 202 15 schema builder and data dictionary ui the schema builder ui is an interface where partners can view and build together with cross river, the data schema that will be used for their api, according to the partner specific model each schema defines the required and optional fields for the application submission and dry run apis, including data types, validation rules, and field descriptions partners can use this interface to confirm their integration aligns with the agreed upon schema before submitting applications under the finalized and approved schema swagger https //lendingsandbox crbcos com/preapproval/swagger https //lendingsandbox crbcos com/preapproval/swagger access to schema ui schema ui url https //lendingappsandbox crbcos com/preapproval/schemas https //lendingappsandbox crbcos com/preapproval/schemas application ui https //lendingappsandbox crbcos com/preapproval/applications https //lendingappsandbox crbcos com/preapproval/applications gaining access to the preapproval v2 schema ui is done via self service on org management portal docid\ c90jfvuq2mwirvdsawxgr your it manager should have admin access, and must add the following to your user role lending preapproval v2 readonly partner associate the partner created for preapproval with your user api suite an application in pav2, is identified by the partner's application id, which should be unique for each application in the partner's system base url for sandbox https //lendingsandbox crbcos com/preapproval https //lendingsandbox crbcos com/preapproval base url for production https //lending crbcos com/preapproval https //lending crbcos com/preapproval api scope for sandbox is coslending\ preapproval\ stg api scope for production is coslending\ preapproval\ prd api description post /api/v2/applications/{partner schema id} docid\ ptx0f232efvcvlbsyzt6i post or update an application, including the final decision you can call this multiple times, and we will only use the latest, according to application id post /api/v2/applications/{partner schema id}/dryrun this is identical to the above api, but is used only to test the validations and not actually submit the application attachments by appid docid\ igxxxxmwhg0xi ekgsvrd post file attachments to an application attachments are sent in a zip file notes during implementation, cross river and the partner will agree on additional fields to be passed to cross river based on the partner's unique operating model data types and schemas are available directly in the schema ui, as well as descriptions and other goodies that will help you build your api integration partners should ultimately send their final decision when using the api the integrations and rules that run when sending in the preapproval api are informational they do not change the status of the application automatically integrations in pav2 in pav2, an integration is a configurable connection from a partner schema/application flow to another system or service when a partner submits an application, pav2 validates the application against the partner specific json schema, loads the integrations configured for that schema, evaluates any “execute when” conditions, maps fields from the application into the integration’s expected parameters, and then executes the integration integrations are intended to make pav2 an orchestration point for lending workflows, rather than only a schema validation and application storage system examples can include compliance screening, loan origination, account/customer creation, decisioning, and reporting handoffs how integrations are configured integration definition there is a hard set of integrations available in pav2 over time, we will add more integrations and integration types for our partners integration configuration crb users can configure the integration for a specific partner schema, map schema fields to the required integration parameters, and define when the integration should run validation pav2 validates mappings against the partner schema invalid configurations should show field level validation errors; some type conversions may be allowed with warnings depending on the integration parameter rules enablement integrations are enabled for schemas only after the configuration is valid and follows the schema lifecycle / approval rules testing integrations should not run when running a dry run, as this can incur unwanted costs and processes to be kicked off to test connectivity and the integration, you may ask crb to enable the integration temporarily in dry run calls as well runtime behavior partner submits an application to pav2 pav2 authenticates the request and validates the payload against the relevant partner schema if schema validation fails, pav2 returns validation errors and does not run downstream integrations if validation succeeds, pav2 loads the enabled integrations for that partner schema and evaluates the "execute when" condition for each enabled integration if the condition is true, pav2 calls the integration and returns the result in the submit application api response the responses are in the integration results array current and planned examples internal list screening runs internal screening logic and returns compliance related results arix loan origination maps pav2 application fields into the arix loan dictionary and calls arix to create a loan, so that the partner does not need to maintain two separate data dictionaries this replaces the need for create and update a loan docid\ v8cartcqmmqryciyhuf7f cos customer/account opening potential integration path for creating customers and accounts as part of credit card or embedded finance flows decisioning / data enrichment future integrations may include vendors such as 2nd look decision vendors, credit bureau pulls, kyc/cip, fraud, or other waterfall style services cross river rules on preapproval when posting an application using the preapproval api, cross river can check the data against a set of regulatory rules and return the rule results in the api response the response body includes rule results in the rule results object, which includes information about the rule and the data used when running the rule if one of the rules fails on preapproval, you can assume it will also fail in arix speak to your {{}}, if you would like rules to run in preapproval currently, there are no webhooks in preapproval the results of the rules are returned synchronously in the response cross river ops cannot manually override the result of a rule in pre approval, as these results are purely informational for our partners to use pre approval rules do not alter the status of an application in pre approval sent in by an mpl the following is an example of a rule results object that contains the cross river internal list rule "rule results" \[ { "status" "success", "rule process date" "2023 09 06", "rule results" \[ { "ruleid" "92bc95b5 fa3c 468a b28b b06800bdb9d7", "version" "v1", "rulename" "internal list check", "ruledescription" "borrower information should not be on bank's internal list", "passed" true, "data" "anita loan 693952xxx,scrooge mcduck 014512994,unonx7enmokldcoxseauxw28serfp3xnelolpl2kopnzcq9n8y )}k;b,)sv8jco 78(yh^eu4|b ", "resultinfo" null } ] } ]