The Partner Account is the primary resource for interacting with Klarna’s APIs. It serves as the root entry point for all API operations and contains all metadata and configuration details that represent a company within the Klarna ecosystem.
A Partner Account represents a company that interacts with Klarna. It serves as the entry point to all Klarna APIs and holds essential company-level data. Regardless of how many legal entities, websites, or brands a company has, only one Partner Account is required to collaborate with Klarna.
A Partner Account does not have a specific type. Its relationship with Klarna is defined through the products it connects to:
Partner Accounts also connect to multiple foundational resources, including API Credentials, Portal Users and Webhook configurations.
A Partner Account forms the foundation of a Partner’s relationship with Klarna. It contains the following dependent resources:
These relationships determine how a Partner Account functions within Klarna’s ecosystem.
The Partner Account lifecycle is defined as:
| Status | Definition |
|---|---|
PARTIALLY_OPERATIONAL | Represents an account that was just onboarded and is currently being set up in our systems. If this account has a payment product, it can already process transactions, but can not yet be managed. This state is transitional, and typically moves to OPERATIONAL within seconds |
OPERATIONAL | Represents an account that is fully operational and can both be managed and process transactions |
DISABLED | Represents an account that is no longer operational in any respect. It cannot be managed or have new products added. All products within the account are disabled as part of this status. |
Status transitions are handled internally by Klarna systems. Manual transitions to DISABLED are performed by Klarna Support and cannot be triggered via API.
| Event name | When | Use cases |
|---|---|---|
partner.account.state-change.operational | An account is fully set up on Klarna’s side | Should be used to know when it's possible to update Partner Accounts. |
Only status transitions to OPERATIONAL will trigger webhooks to be dispatched. Status transitions to DISABLED are done manually and do not currently trigger any webhook.
The following example reflects the payload structure for partner.account.state-change.operational:
{
"metadata": {
"event_id": "99bf6248-b3ed-42d9-b2b5-bf560668d42a",
"event_type": "partner.account.state-change.operational",
"event_version": "v1",
"occurred_at": "2025-03-04T13:31:14.603057514Z",
"account_id": "krn:partner:global:account:test:M48JTZF8",
"recipient_account_id": "krn:partner:global:account:test:M48JTZF8",
"subject_account_id": "krn:partner:global:account:test:M7UJ6WZ2",
"webhook_id": "krn:partner:global:notification:webhook:8e3e2120-04fd-4975-88fa-fd26299c4280",
"live": false
},This payload differs slightly from general webhook events because it does not include a product_id, as the event applies to the entire account.
Use the onboard operation to create a Partner Account. Learn more about how to execute the onboard here.
Use the getAccount operation to list all properties of an account. The
expand query parameter can be used to add sub-resources to the response.
To update Partner Accounts, use the updateAccount operation. It follows as a RESTful
PATCH approach, meaning that only the properties sent on the payload of the request will be affected. Learn more about when to update here.
There is no support to delete a partner account. To disable new transactions on a Partner Account, disable the Payment Product instead.