Outcomes and Offers
Define the named results your decisions can return, connect them to pricing, emails and contracts, and manage the offers each application receives.
A decision tree doesn't just say "approve" or "decline". It lands on an outcome: a named result such as "Approved - Prime" or "Declined - Thin file". Outcomes are what the rest of LendAPI reacts to. A pricing engine can be set to run for certain outcomes, an email can be sent, and a contract can be generated. When a pricing engine runs, it creates offers: the loan terms an applicant can choose from. Agents can review, select, or adjust those offers, and create a manual offer when needed.
Key concepts
- Action: the type of decision: Approve, Decline, Review or Request Docs.
- Outcome: a named result that belongs to one action. You can have many outcomes per action, for example several approval tiers.
- Trigger: something that happens automatically when an application reaches an outcome, such as running a pricing engine or sending an email.
- Eligible offer: an offer produced by a pricing engine for this application.
- Selected offer: the offer chosen for the application, by the applicant or an agent.
- Manual offer: an offer an agent creates or edits by hand on the application.
From outcome to offer
flowchart LR
A[Decision tree<br/>action node] --> B[Outcome<br/>e.g. Approved - Prime]
B --> C[Pricing engines<br/>triggered by outcome]
B --> D[Email / SMS templates]
B --> E[Contracts]
C --> F[Eligible offers]
F --> G[Selected offer]
G -.agent edits.-> H[Manual offer]
- An action node in a decision tree sets the action and points to an outcome. Decline, Review and Request Docs nodes always need an outcome; an Approve node needs an outcome unless it chains to another tree.
- LendAPI runs every active pricing engine whose Outcome trigger includes that outcome and whose product matches the application. Each matching pricing row becomes an eligible offer.
- Email templates and contracts set to trigger on that outcome are sent or generated.
- The applicant, or an agent, selects an offer. Agents with permission can modify it.
Where triggers are configured
Triggers are set on the item being triggered. The outcome shows them read-only so you can see what depends on it.
| Trigger on the outcome | Where you set it |
|---|---|
| Trigger Pricing Engine | In the pricing engine's TRIGGER → Outcome field |
| Trigger Contract | In Contract Builder |
| Trigger Email | In the email or SMS template |
Manage outcomes and offers
Create an outcome
- Go to Workflows → Decision Outcomes and create a New Outcome.
- Choose the Outcome Type: Approve, Decline, Review or Req. Docs. The type cannot be changed after the outcome is created.
- Enter an Outcome Name and an optional Description.
- Save. The outcome is now available in the Outcome list of decision tree action nodes.
You can also create an outcome without leaving Rules Studio: in an action node, open the Outcome list and choose Add new outcome.
To retire an outcome, Disable it. LendAPI first lists anything that still depends on the outcome so you can update it. Disabled outcomes can be re-enabled.
Work with offers on an application
Open an application in the Agent Dashboard and go to the Offers tab.
- Eligible Offers: every offer the pricing engines produced, with their terms. Click Select to choose one.
- Selected Offer: the offer currently chosen. It shows Manual Offer if it was created or changed by hand. Use Remove Offer to clear it.
- Add Offer: opens Modify Offer, where you edit the terms of the selected offer or enter a new one.
- Amortization Data: the repayment schedule for the selected offer, when available.
Rules for editing offers.
Each pricing engine can have a Config that controls manual edits (see Control manual offer edits in Pricing Engines):
- Admins can change any value and can add or remove offer variables.
- Other agents can only change values the config marks Allow Edits, and each value must stay within its Minimum value and Maximum Value. A minimum or maximum can be a fixed number or another variable, such as the requested loan amount.
- If the engine has no config, agents can edit any value, but only admins can add or remove variables.
Look up outcomes via the API
Base URL: https://app.lendapi.com/api/v1/. Authenticate with Authorization: Bearer <your API key>. Keys that start with live_ read your Production environment; keys that start with test_ read your Sandbox.
| Action | Method & path | Notes |
|---|---|---|
| List outcomes for an action | GET /outcomes/{action_id}/ | action_id: 1 Approve, 2 Decline, 3 Review, 5 Request Docs. Any other value returns 400. Reference |
| Run a decision | POST /decision/{id}/run/ | Returns the action reached. Reference |
| Run a pricing engine | POST /pricing_engine/{id}/run/ | Returns matching offers without attaching them to an application. Reference |
Example: list approval outcomes
curl "https://app.lendapi.com/api/v1/outcomes/1/" \
-H "Authorization: Bearer test_xxxxxxxxxxxx"{
"object": "outcome",
"url": "/v1/outcome/:id/",
"has_more": false,
"results": [
{ "id": 311, "name": "Approved - Prime", "active": true },
{ "id": 312, "name": "Approved - Near Prime", "active": true }
]
}In decision run responses, the action appears as approve, decline, review or resubmit (Request Docs).
Access and best practices
Permissions
- Decision Outcomes module: view, create, edit and disable outcomes.
- Agent Dashboard module, Offer tab: Edit access is needed to add or modify offers on an application. Admin rights are needed to add or remove offer variables.
Best practices
- Name outcomes for people, not systems. Agents and reports see the names, so "Declined - Income below minimum" beats "DEC_07".
- Use separate outcomes for separate pricing. If prime and near-prime applicants get different rate tables, give each its own outcome and pricing engine trigger.
- Check dependencies before disabling. A disabled outcome that a live tree still points to can leave applications without offers or emails.
- Set a pricing Config before letting agents edit offers, so manual changes stay inside your credit policy.
- Prefer re-running the decision over hand-editing offers when application data changes. It keeps the offer tied to the policy that produced it.
Related guides
Updated 14 minutes ago

