---
title: "API Plus testing"
description: "Test scenarios and data for the API Plus integration"
---

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

Use this guide to test your API Plus (decision relayed) integration in the sandbox environment.
API Plus requires additional testing beyond API Lite because your platform displays offers directly to the customer.

## What you need to test

Your integration must show all of the following:

- A new customer and application using the minimum data requirements.
- A customer with a **confirmed offer** displayed correctly.
- A customer **decline** handled correctly.
- A customer **deferral** (your iwoca Partnership Manager will assist).
- Each **offer type** (confirmed, indicative, and sample) handled correctly.
- Offer selection redirecting the customer via `GET /customers/{customer_id}/login_link/?offer_id={offer_id}`.

## Test data

Use the same base test data as the referral integration.
See [Referral integration testing](/guides/testing/referral-integration-testing#test-data) for the full customer and application payloads.

<Info>
Replace `{{currentDate}}` in `valid_from` with today's date in ISO 8601 format.
</Info>

## Simulating different outcomes

| Scenario | How to trigger |
|---|---|
| **Confirmed offer** — firm, ready-to-draw-down terms | Set `amount` to 15,000 or less (default test data) |
| **Indicative offer** — an estimate that needs more information before it's confirmed | Set `amount` to greater than 15,000, up to 75,000 |
| **Indicative offer (large)** — an indicative offer for amounts above £75,000 | Set `amount` to greater than 75,000 |
| **Sample offer** | Leave out a required field, or send an invalid one such as a wrong `trading_from_date`. With too little data to assess, iwoca returns a sample estimate. |
| **Decline** | Use decline test data (see below) |
| **Deferral** | Contact your iwoca Partnership Manager |

### Decline test data

Change the following fields in the customer payload:

```json
{
    "first_name": "James",
    "last_name": "Smythe",
    "date_of_birth": "1985-01-01",
    "company_number": "01111113",
    "house_number": "123",
    "street_line_1": "Decline St",
    "town": "Decline",
    "postcode": "DE61NA"
}
```

This returns an empty `offers` array with `offer_creation_status: "decline"`.

## Validation checklist

Before submitting for review, verify:

- [ ] Customer data formatted correctly with minimum required fields.
- [ ] Application created successfully with valid amount.
- [ ] `GET /offers/` returns and displays confirmed offers correctly.
- [ ] `GET /offers/` returns and displays indicative/sample offers correctly.
- [ ] Decline scenario handled gracefully in your UI.
- [ ] Offer selection redirects the customer via the login link, carrying `offer_id`.
- [ ] Application statuses displayed correctly at each stage.
- [ ] Webhook responses received as expected (if applicable).
- [ ] Multiple webhook responses handled correctly (if applicable).

## What else is required

During testing, iwoca will also ask to see:

- Screenshots of all UI screens including data collection forms.
- A video or live demo showing the full journey within your platform.
- Evidence of both happy and unhappy paths and compliant offer display.

---

## Next steps

<CardGroup cols={2}>
  <Card title="Go live" icon="rocket" href="/guides/testing/go-live">
    Submit your integration for review and launch to production
  </Card>
</CardGroup>
