Overview
When a customer completes an Imprint application, you learn the outcome in two complementary ways:- The SDK result — returned client-side, in the browser or mobile app, the moment the customer exits the Imprint application experience (see Step 3 of Apply for a loan or credit card).
- The application event notification — a signed, server-to-server webhook
Imprint
POSTs to your configured endpoint when a credit decision is reached.
New to event notifications? Start with
Subscribe to event notifications
for setup, signature verification, and retry/idempotency handling.
SDK result vs. event notification
Why the status sets differ
The two channels answer different questions:- The SDK result answers “What happened in this browser/app session?” — including the customer walking away or launching with a bad token.
- The webhook answers “What did Imprint decide about this application?” — and a decision only exists once the application reaches a terminal state.
IN_PROGRESS) and a bad launch (ERROR) are session outcomes, not
credit decisions — so they exist only on the SDK side and never produce a webhook.
OFFER_ACCEPTED and REJECTED are the two terminal decisions, so they appear in both
channels.
Use this mapping to decide what to expect:
When the webhook fires
Imprint sends anAPPLICATION event notification when an application reaches a
terminal state:
There are no
IN_PROGRESS or intermediate-state webhooks. An application emits at
most one terminal notification.
A
REJECTED notification is only delivered when Imprint can give you enough
context to act on it — i.e. the application carries a partner_customer_id
and/or maps to a known customer. If neither is available, the rejection is not
sent, because it would not be actionable on your side.Payload
See also the Application Event reference.Recommended handling
1
Update the UI from the SDK result
On SDK exit, react to the client-side result immediately — for
OFFER_ACCEPTED, show a success banner or route the customer to a page to
learn more about the credit card rewards. Treat this as provisional.2
Confirm and persist from the webhook
When the
APPLICATION webhook arrives, verify the signature, then record the
decision against the customer_id / partner_customer_id as the source of
truth for fulfillment, accounting, and downstream systems.3
Deduplicate
Use
object, customer_id, and updated_at to ignore duplicate deliveries
(Imprint retries until you acknowledge with a 2XX).4
Don't block on a webhook for non-decisions
IN_PROGRESS and ERROR SDK results never produce a webhook. Handle them
entirely client-side.