---
title: "Offers overview"
icon: "file-lines"
description: "Offer types, data requirements, and retrieval strategies"
---

> For the complete documentation index, see [llms.txt](/llms.txt).

Generate and retrieve loan offers for a customer's application.
Offers range from sample estimates to fully confirmed terms the customer can draw down on.

<CardGroup cols={1}>
  <Card title="Generate offers" icon="code" href="/api-reference/offers/get-applications-offers">
    `GET` /applications/\{application_id\}/offers/
  </Card>
</CardGroup>

## Essentials

<Steps>
  <Step title="Call and wait">
    This endpoint can take up to 30 seconds on the first call.
    Show a loading indicator.
    Subsequent calls are faster.
  </Step>
  <Step title="Check offer type">
    Offers progress from `sample` to `indicative` to `confirmed`.
    Only `confirmed` offers can be drawn down.
    Check `data_requirements` on non-confirmed offers to see what's needed to upgrade.
  </Step>
  <Step title="Use webhooks for updates">
    Rather than polling, listen for `application_status_changed` and `application_offered` webhooks.
    If polling, check `GET /applications/latest/` for `offered` status before calling this endpoint.
  </Step>
</Steps>

<Info>
New fields may be added at any time.
Code defensively and ignore unrecognised fields.
</Info>

## Displaying offers

How you present an offer to the customer depends on its type.

### Confirmed offers

Confirmed offers have fixed terms – the amount, monthly interest rate, and repayment schedule are set and will not change.
The customer can draw down instantly.

- Display the amount, monthly interest rate, duration, and total repayable as firm figures.
- The CTA should allow the customer to draw down straight away (for example, 'Accept offer' or 'Draw down').

### Indicative and sample offers

Indicative and sample offers are estimates based on the information available so far.
The monthly interest rate, amount, and other terms are approximate and may change once iwoca completes a full assessment.

- Clearly communicate that the figures shown are indicative and subject to change.
- Do not present these as guaranteed terms.
- The CTA should read **'Continue to iwoca'** – directing the customer to complete any outstanding requirements and receive a confirmed offer.

<Warning>
Displaying indicative or sample offers as confirmed terms is misleading to customers.
Always make it clear that these figures may change.
</Warning>

## Reference

<AccordionGroup>
  <Accordion title="Offer types">
    | Type | Description | Extra fields |
    |---|---|---|
    | `confirmed` | Fully credit assessed, can draw down | `total_repayable`, `normal_repayment_amount`, `average_interest_only_repayment_amount` |
    | `indicative` | Partially assessed, more info needed | `probability_of_offer` |
    | `sample` | Not yet assessed, customer likely eligible | None |
  </Accordion>
  <Accordion title="Probability of offer (indicative only)">
    - `high` – Approximately 80% or greater probability of confirmed offer
    - `medium` – Approximately 55% or greater probability
    - `low` – Approximately 12% probability
  </Accordion>
  <Accordion title="How offers evolve">
    - An offer can be superseded as the application progresses (sample -> indicative -> confirmed).
    - When the `offer_type` upgrades, the `offer_id` changes.
    - `max_amount` and `interest_rate` for indicative/sample offers are approximate.
    - Maximum 3–4 offers typically returned.
    - `is_suggested` marks the recommended offer.
  </Accordion>
  <Accordion title="Data requirements">
    `sample` and `indicative` offers include a `data_requirements` array:

    | Requirement | Category | Action |
    |---|---|---|
    | `upload_bank_statement` | Documents | Upload to `/document_upload/` |
    | `upload_vat_returns` | Documents | Upload to `/document_upload/` |
    | `upload_company_accounts` | Documents | Upload to `/document_upload/` |
    | `complete_business_credit_check` | Company data | Contact iwoca if unresolved |
    | `complete_personal_credit_check` | Personal data | Contact iwoca if unresolved |
    | `check_customer_is_not_linked_to_existing_user_by_features` | Know your customer | Contact iwoca if unresolved |
    | `check_director_as_guarantor` | Personal data | Contact iwoca if unresolved |
    | `check_director_as_applicant` | Personal data | Contact iwoca if unresolved |
    | `check_directors_match_companies_house` | Personal data | Contact iwoca if unresolved |
  </Accordion>
  <Accordion title="Decline response">
    If `offer_creation_status` returns `decline`, the offers array will be empty and the customer has been declined.

    If `offer_creation_status` returns `other` with a `decline_reasons` entry of `{"reason": "Other", "reason_detail": "No available funds"}`, the customer has an existing loan and isn't currently eligible for additional funding.
  </Accordion>
</AccordionGroup>
