Onboard your first partner to Klarna, submit all required data, store the response and configure account lifecycle webhooks to receive real-time notifications about your Partner Account.
Run the onboard API call to create a fully functional Partner Account in Klarna Network, then subscribe to the account lifecycle webhook to know exactly when setup completes. This guide focuses on the asynchronous nature of onboarding and clarifies what to store, what to expect from responses, and which webhooks to use.
Who should read this: Solution and software engineers implementing a server-side integration with Klarna Network.
Identify the correct Payment Profile and Payment Acquiring Account for the Partner you’re onboarding:
Build the onboard payload using your system’s references so the Partner Account maps cleanly to your internal records.
Example request payload:
{
"partner_account_reference": "M123786123412",
"partner_account_name": "John Doe Stakehouse",
"partner_account_contact": {
"given_name": "John",
"family_name": "Doe",
"email": "john.doe@example.com",
"phone": "+18445527621"
},
"products": [Call the onboard operation from your backend (never from a client app).
Klarna-Idempotency-Key header for safe retries.partner_account_idpayment_acquiring_account_id and payment_account_referenceThe Partner Account is provisioned immediately for transactions, but some updates may be restricted until setup finalizes across Klarna systems.
If the call fails with validation errors, correct the payload and retry with the same Klarna-Idempotency-Key when appropriate.
Subscribe to the following webhooks:
partner.account.state-change.operational — Signals that Partner Account setup across Klarna systems is complete. Continue management operations only after receiving this event.partner.account.brand.data-incomplete — Informs you when submitted brand data (for example, logo_url) is invalid or incomplete. The event is informational and doesn’t block onboarding; update the data promptly for accurate brand representation.logo_url (for example, a 404 URL) and verify your webhook endpoint receives partner.account.brand.data-incomplete.Common HTTP responses
Klarna-Idempotency-Key.payment_account_reference for the selected payment_acquiring_account_id.Klarna-Idempotency-Key.