Partner API Changelog
02-10-2026
- Published credit status notification keys are
lender_referenceandcredit_application_status. Do not match onlender_application_idorlender_status. - Zopa
loan_amountis a two-decimal string when the lender sends a loan field, or purchase price minus deposit when both are present and numeric. Otherwisenull. - Partners send a test themselves: Send a test notification (
POST /v1/notifications/test).
01-10-2026
- Removed
credit_application.created. It was never sent to partners. The first credit status notification iscredit_application.status_changedwhen the lender first responds.credit_application.testis unchanged.credit_application.snapshotis the pull API current-state envelope (not a webhook), built and off.
29-09-2026
lender_statusis the lender's raw code as a string, for example"CONDITIONALLY_APPROVED". It is not{ "code", "description" }.loan_amountis a two-decimal string when we have a session amount, otherwisenull. Zopa’s webhook does not include an amount; we still send the session amount when we have one.merchant_referenceallows letters, digits, space, dots, dashes and underscores, up to 64 characters. Ends are trimmed; an internal space is kept (for exampleTQ7 3PG).
28-09-2026
outcomeremoved before general availability; notifications carry the lender's status only.quote_idrenamedfinmatch_quote_idbefore general availability, including the finance link parameter (quote_idis still accepted on the link).- Per-lender Zopa statuses and Propensio statuses pages. The Partner API menu lists Credit status notifications as a category.
- Added credit status notifications: signed webhooks for
credit_application.status_changedandcredit_application.test. See Credit status notifications and Verifying notifications. - Quote responses now return
data.finmatch_quote_idand echodata.merchant_reference. - Added the optional
merchant_referencerequest field (max 64 characters,A–Z a–z 0–9 . _ -). - Amounts are documented as strings with two decimal places in requests (
"loan_amount": "9000.00"), matching the responses, which have always returned strings ("7500.00"). JSON numbers are still accepted, so no change is needed to existing integrations. - Corrected the API reference: amounts in quote responses are strings, not numbers.
- Rewrote the error reference to match the API exactly: the real error codes (
MISSING_FIELD,INVALID_AMOUNT_FORMAT,UNAUTHENTICATED,MERCHANT_NOT_FOUND), the422AMOUNT_TOO_LOW/AMOUNT_TOO_HIGHresponses,MERCHANT_CONFIGURATION_INCOMPLETE, theRateLimit-*headers andX-Request-Id, and a note that an emptyproductsarray is a200, not an error. - A
partner_idthat doesn't match your API key now returns400INVALID_REQUESTinstead of a500. - The decimal-places message now reads "at most 2 decimal places", which is what the API has always accepted.
09-03-2026
- Added support for 3 lenders (Zopa, Snap Finance, Propensio)
- Added new test merchants for different lenders
- Updated schema to avoid confusion with first payments.
"first_payment_due_value"and"first_payment_due_unit"have been changed to"initial_payment_due_value"and"initial_payment_due_unit".
Example
"first_payment_type": "Upfront Instalment",
"first_payment_amount": "208.33",
"initial_payment_due_value": 0,
"initial_payment_due_unit": "days",
01-12-2025
- Launched Partner API with one support lender (3 to follow Q1 2026)