Klarna Partner Management API (v1/r6)

Download OpenAPI specification:Download

next

Credentials

Management of own Account credentials.

Create a credential for your own account

Create a new credential


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
Request Body schema: application/json
required
description
string^[a-zA-Z0-9\-:;., _]{0,100}$

Description provided by the partner when creating a set of credentials

validation-info: Validation against the length
type
required
string

Indicates the type of credentials to be created. API for an api-key and CLIENT for a clientId which can be used by the Web SDK.

Enum: "CLIENT" "API"
validation-info: Validation against the enum, CLIENT or API
environment
required
string

Indicates the environment (TEST or LIVE) for which the credentials should be created,

Enum: "LIVE" "TEST"
validation-info: Validation that is LIVE or TEST
Responses
200

Credential created

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

post/v1/account/credentials
Request samples
application/json
{
  • "description": "Test Client Credentials",
  • "type": "CLIENT",
  • "environment": "TEST"
}
Response samples
application/json
{
  • "credential_id": "376e67bb-8171-4dba-b330-9130dd0798e4",
  • "description": "Test Client Credentials",
  • "type": "CLIENT",
  • "environment": "TEST",
  • "client_id": "klarna_test_client_cADfmmYgMtpcgVi9toAaPXeCktHS2TKS7UrWxvxtWdCVq3uLpQXZVSPZNWEcLACDpvHZVmCWeFVD44fygezrVNU4ta9jdAR4H3evwjCKTTaRAs2sQDHSpN2TMzWVwrVpoZPacgTTVhXiWrNsXp23aEvdiLi"
}

List Credentials

List all credentials associated with the current account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Responses
200

Credentials found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/account/credentials
Request samples
Response samples
application/json
{
  • "credentials": [
    ]
}

Disable Credential

Disable a Credential.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
credential_id
required
string <uuid> (CredentialIdentifier) ([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Identifier of the Credential

Example: 206bbb83-9b6e-46fa-940d-337153c04a58
Responses
204

No Content

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

delete/v1/account/credentials/{credential_id}
Request samples
Response samples
application/json
{
  • "error_id": "1653c9db-454b-4222-8265-4c7ca209f630",
  • "error_type": "ACCESS_ERROR",
  • "error_code": "UNAUTHORIZED",
  • "error_message": "The presented credentials failed authentication"
}

Payment Distribution Profiles

A Payment Distribution has a set of pre-defined profiles that can be used when handling Payment Products. An account onboarded to a Payment Product needs to have one Distribution Profile associated with it.

List all Payment Distribution profiles.

Fetches all payments distribution product profile, which can be selected to be used on a new Payment Product onboarding.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Responses
200

Payment Distribution Profiles retrieved

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/distribution/products/payment/profiles
Request samples
Response samples
application/json
[
  • {
    }
]

Onboard

The onboard API allows the authenticated Account to create a fully functional account with associated business entity, product, websites etc.

Onboard a merchant

Onboard a new merchant. This request creates all necessary entries to have a fully functional account for the merchant.


SLO Category: The SLO Service Category. Operations that facilitate the onboarding of a new partner account with Klarna.Account Onboarding
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that does not directly impact the core purchasing process in real-time and enables supplemental or secondary featuresTransactions Non-critical Services

Securityklarna_api_key
Request
Request Body schema: application/json
required
account_reference
required
string

Reference for the Distribution Partner in relation to the merchant being onboarded.

validation-info: tbd
account_name
required
string

The name of the account, business name or similar.

validation-info: tbd
required
object

The account owner details

validation-info: Validation that is not null and is a valid object
account_group_reference
string

Partners can group several merchant accounts under given account_group_reference

validation-info: tbd
account_group_id
string (AccountGroupIdentifier)

Group id assigned by Klarna for a given account_group_reference. Partners can use this parameter as an alternative to account_group_reference to manage an account group.

validation-info: Validates that the resource exists. There is no validation about the KRN format.
required
Array of objects (PaymentProductData)

Information about which products are being configured for this merchant

validation-info: tbd
required
object (ChannelData)

Root channel object

validation-info: tbd
object (ExtraAccountData)

Root extra account data object

validation-info: tbd
Responses
200

Merchant account created

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

Callbacks
postWebhook callback
post/v1/distribution/onboard
Request samples
application/json
{
  • "account_reference": "M123786123412",
  • "account_name": "John Doe Stakehouse",
  • "account_owner": {
    },
  • "products": [
    ],
  • "channel": {}
}
Response samples
application/json
{
  • "account_id": "krn:partner:global:account:live:LWT2XJSE",
  • "account_reference": "M123786123412",
  • "account_name": "Merchant ABC US",
  • "state": "PARTIALLY_OPERATIONAL",
  • "state_reason": "INITIAL_SETUP"
}
Callback payload samples
POST: Webhook callback
application/json

The webhook is triggered once the distribution partner's account state changes.

{
  • "metadata": {
    },
  • "payload": {
    }
}

Accounts

The Accounts API allows the authenticated Partner to create, read, manage the different Accounts it has access to.

Read Account

Read all details from a Account which the acting Account has read access on. Optionally, include additional sub-resources in the response by using the expand query parameter. The expand parameter accepts a comma-separated list of supported sub-resource names. Each specified sub-resource will be included in the response if available. Maximum of 10 sub-resources can be expanded per request.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
query Parameters
expand
Array of strings <= 10 items

A comma-separated list of sub-resources to include in the response. Maximum of 10 sub-resources can be expanded per request.

Items Enum: "products" "channel.collections" "channel.websites" "extra-account-data.account-information" "extra-account-data.business-information" "extra-account-data.beneficiary-information" "extra-account-data.settlement-information"
Responses
200

Account details

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}
Request samples
Response samples
application/json
{
  • "account_id": "krn:partner:global:account:live:LWT2XJSE",
  • "account_reference": "M123786123412",
  • "account_name": "John Doe Stakehouse",
  • "account_group_reference": "all-john-doe-restaurants",
  • "account_group_id": "krn:partner:global:account:group:b0ac4fb5-2975-4417-ae76-f2ac86fb6c6d",
  • "account_owner": {
    },
  • "state": "OPERATIONAL",
  • "state_reason": "SETUP_COMPLETE"
}

Update Account

Update details from an Account which the acting Account has write access on.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
account_reference
string

Reference for the Distribution Partner in relation to the merchant being onboarded.

validation-info: tbd
account_name
string

The name of the account, business name or similar.

validation-info: tbd
object (AccountOwner)

The account owner details

validation-info: Validation that is not null and is a valid object
Array of objects (PaymentProductByIdUpdateData)

Information about which products are being updated.

validation-info: tbd
object (ChannelDataUpdate)

Channels

validation-info: tbd
object (ExtraAccountData)

Root extra account data object

validation-info: tbd
Responses
200

Account details

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}
Request samples
application/json
{
  • "account_reference": "M123786123412",
  • "account_name": "John Doe Stakehouse",
  • "account_owner": {
    }
}
Response samples
application/json
{
  • "account_id": "krn:partner:global:account:live:LWT2XJSE",
  • "account_reference": "M123786123412",
  • "account_name": "John Doe Stakehouse",
  • "account_group_reference": "all-john-doe-restaurants",
  • "account_group_id": "krn:partner:global:account:group:b0ac4fb5-2975-4417-ae76-f2ac86fb6c6d",
  • "account_owner": {
    },
  • "state": "PARTIALLY_OPERATIONAL",
  • "state_reason": "ACCOUNT_UPDATE"
}

Payment Products

The Accounts API allows the authenticated Partner to create, read, manage the Payment Products on an Account.

Get all account payment products

Obtains a list of all payment products associated with the account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

List of payment products

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/products/payment
Request samples
Response samples
application/json
[
  • {
    }
]

Patch a given Payment Product information

Update information from a given payment product associated with the account.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
required
PaymentProductDefault (string) or PaymentProductIdentifier (string)

Identifier of the Payment Product the action is done on behalf of. Use default to apply the action on the unique payment product.

Request Body schema: application/json
required
merchant_category_code
string (MerchantCategoryCode)

The four-digit number that is used to classify the type of goods or services offered by a business.

validation-info: Validation that the value is 4 digit numeric "\\d{4}"
Responses
200

Payment product information updated successfully.

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/products/payment/{product_id}
Request samples
application/json
{
  • "merchant_category_code": "5411"
}
Response samples
application/json
{
  • "distribution_profile_id": "krn:partner:global:account:distribution-profile:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "type": "PAYMENT",
  • "merchant_category_code": "5411"
}

Suspend a Payment Product

Suspends the Payment Product on an account for the given reason.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
required
PaymentProductDefault (string) or PaymentProductIdentifier (string)

Identifier of the Payment Product the action is done on behalf of. Use default to apply the action on the unique payment product.

Request Body schema: application/json
required
reason
required
string

The reason for suspending the Payment Product

Enum: "FRAUD" "VOLUNTARY"
validation-info: Strict validation against the enum (FRAUD | VOLUNTARY)
reason_details
required
string

Allows the partner to pass additional information regarding the suspension

validation-info: Validation that the field is maximum 500 characters.
Responses
200

Sub account suspended

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

Callbacks
postWebhook callback
postDeprecated - Webhook callbackDeprecated
post/v1/accounts/{account_id}/products/payment/{product_id}/disable
Request samples
application/json
{
  • "reason": "FRAUD",
  • "reason_details": "Fraudulent activity detected"
}
Response samples
application/json
{
  • "product_id": "krn:partner:global:account:product:payment:ad71bc48-8a07-4919-a2c1-103dba3fc918",
  • "type": "PAYMENT",
  • "distribution_profile_id": "krn:partner:global:account:distribution-profile:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "merchant_category_code": "5411",
  • "state": "DISABLED",
  • "state_reason": "FRAUD_BY_PARTNER",
  • "state_context": {
    }
}
Callback payload samples
application/json

The webhook is triggered once the distribution partner's account payment product is disabled.

{
  • "metadata": {
    },
  • "payload": {
    }
}

Revert suspension of a Payment Product

Revert suspension of the Payment Product on an account.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
required
PaymentProductDefault (string) or PaymentProductIdentifier (string)

Identifier of the Payment Product the action is done on behalf of. Use default to apply the action on the unique payment product.

Responses
200

Sub account suspension reverted

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

Callbacks
postWebhook callback
postDeprecated - Webhook callbackDeprecated
post/v1/accounts/{account_id}/products/payment/{product_id}/enable
Request samples
Response samples
application/json
{
  • "product_id": "krn:partner:global:account:product:payment:ad71bc48-8a07-4919-a2c1-103dba3fc918",
  • "type": "PAYMENT",
  • "distribution_profile_id": "krn:partner:global:account:distribution-profile:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "merchant_category_code": "5411",
  • "state": "ENABLED",
  • "state_reason": "APPROVED"
}
Callback payload samples
application/json

The webhook is triggered once the distribution partner's account payment product is enabled.

{
  • "metadata": {
    },
  • "payload": {
    }
}

Suspend a Payment ProductDeprecated

Suspends the Payment Product on an account for the given reason.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
reason
required
string

The reason for suspending the Payment Product

Enum: "FRAUD" "VOLUNTARY"
validation-info: Strict validation against the enum (FRAUD | VOLUNTARY)
reason_details
required
string

Allows the partner to pass additional information regarding the suspension

validation-info: Validation that the field is maximum 500 characters.
Responses
200

Sub account suspended

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

Callbacks
postWebhook callback
post/v1/accounts/{account_id}/products/payment/disable
Request samples
application/json
{
  • "reason": "FRAUD",
  • "reason_details": "Fraudulent activity detected"
}
Response samples
application/json
{
  • "product_id": "krn:partner:global:account:product:payment:ad71bc48-8a07-4919-a2c1-103dba3fc918",
  • "type": "PAYMENT",
  • "distribution_profile_id": "krn:partner:global:account:distribution-profile:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "merchant_category_code": "5411",
  • "state": "DISABLED",
  • "state_reason": "FRAUD_BY_PARTNER",
  • "state_context": {
    }
}
Callback payload samples
POST: Webhook callback
application/json

The webhook is triggered once the distribution partner's account payment product is disabled.

{
  • "metadata": {
    },
  • "payload": {
    }
}

Revert suspension of a Payment ProductDeprecated

Revert suspension of the Payment Product on an account.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Sub account suspension reverted

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

Callbacks
postWebhook callback
post/v1/accounts/{account_id}/products/payment/enable
Request samples
Response samples
application/json
{
  • "product_id": "krn:partner:global:account:product:payment:ad71bc48-8a07-4919-a2c1-103dba3fc918",
  • "type": "PAYMENT",
  • "distribution_profile_id": "krn:partner:global:account:distribution-profile:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "merchant_category_code": "5411",
  • "state": "ENABLED",
  • "state_reason": "APPROVED"
}
Callback payload samples
POST: Webhook callback
application/json

The webhook is triggered once the distribution partner's account payment product is enabled.

{
  • "metadata": {
    },
  • "payload": {
    }
}

Migration

Onboard a legacy merchant

Onboard an existing merchant to Management API. This request overwrites all existing data with the new data provided.


SLO Category: The SLO Service Category. Operations that facilitate the onboarding of a new partner account with Klarna.Account Onboarding
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that does not directly impact the core purchasing process in real-time and enables supplemental or secondary featuresTransactions Non-critical Services

Securityklarna_api_key
Request
Request Body schema: application/json
required
account_reference
required
string

Reference for the Distribution Partner in relation to the merchant being onboarded.

validation-info: tbd
account_name
required
string

The name of the account, business name or similar.

validation-info: tbd
required
object

The account owner details

validation-info: Validation that is not null and is a valid object
account_group_reference
string

Partners can group several merchant accounts under given account_group_reference

validation-info: tbd
account_group_id
string (AccountGroupIdentifier)

Group id assigned by Klarna for a given account_group_reference. Partners can use this parameter as an alternative to account_group_reference to manage an account group.

validation-info: Validates that the resource exists. There is no validation about the KRN format.
required
Array of objects (PaymentProductMigrationData)

Information about which products are being configured for this account

validation-info: tbd
required
object (ChannelData)

Root channel object

validation-info: tbd
object (ExtraAccountData)

Root extra account data object

validation-info: tbd
Responses
200

Merchant account created

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

Callbacks
postWebhook callback
post/v1/distribution/migrate
Request samples
application/json
{
  • "account_reference": "M123786123412",
  • "account_name": "John Doe Stakehouse",
  • "account_owner": {
    },
  • "products": [
    ],
  • "channel": {}
}
Response samples
application/json
{
  • "account_id": "krn:partner:global:account:live:LWT2XJSE",
  • "account_reference": "M123786123412",
  • "account_name": "Merchant ABC US",
  • "state": "PARTIALLY_OPERATIONAL",
  • "state_reason": "INITIAL_SETUP"
}
Callback payload samples
POST: Webhook callback
application/json

The webhook is triggered once the distribution partner's account state changes.

{
  • "metadata": {
    },
  • "payload": {
    }
}

Websites

The Accounts API allows the authenticated Partner to create, read, manage the Web Domains channel on an Account.

List all website channels

Fetch all website channels of an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Website channel found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/channel/websites
Request samples
Response samples
application/json
[
  • {
    }
]

Update a website channel

Update a website channel from an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
website_id
required
string (WebsiteIdentifier)

Unique identifier assigned by Klarna to this website

Example: krn:partner:global:account:channel:website:206bbb83-9b6e-46fa-940d-337153c04a58
validation-info: There is validation that the resource exists. No validation in the format.
Request Body schema: application/json
required
urls
Array of strings <= 2083 characters

The applicable base domain urls for the website

validation-info: Validation for the max length
website_name
string <= 80 characters

The website's name.

validation-info: Validation against the length
website_reference
string <= 80 characters

The reference assigned by the partner to this website

validation-info: Validation against the length
channel_collection_reference
string <= 80 characters

The reference to the channel collection associated to the website object

validation-info: Validation of the length
channel_collection_id
string (CollectionIdentifier)

Unique identifier assigned by Klarna to the channel collection defined

validation-info: There is validation that the resource exists. No validation in the format.
Responses
200

Website channel updated

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/channel/websites/{website_id}
Request samples
application/json
{
  • "urls": [],
  • "website_name": "John Doe Stakehouse",
  • "website_reference": "999888777",
  • "channel_collection_reference": "online-stores",
  • "channel_collection_id": "krn:partner:global:account:channel:collection:cad7a851-8f59-47ed-8b1f-e1d61a0e817c"
}
Response samples
application/json
{
  • "website_id": "krn:partner:global:account:channel:website:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "urls": [],
  • "website_name": "John Doe Stakehouse",
  • "website_reference": "999888777",
  • "channel_collection_reference": "online-stores",
  • "channel_collection_id": "krn:partner:global:account:channel:collection:cad7a851-8f59-47ed-8b1f-e1d61a0e817c"
}

Collections

The Accounts API allows the authenticated Partner to create, read, manage the Collections channel on an Account.

List all collection channels

Fetch all collection channels of an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Collection channel found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/channel/collections
Request samples
Response samples
application/json
[]

Update a collection channel

Update a collection channel from an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
collection_id
required
string (CollectionIdentifier)

Unique identifier assigned by Klarna to the channel collection defined

Example: krn:partner:global:account:channel:collection:cad7a851-8f59-47ed-8b1f-e1d61a0e817c
validation-info: There is validation that the resource exists. No validation in the format.
Request Body schema: application/json
required
collection_reference
string <= 80 characters

The collection reference which can be assigned to a given websites[]

validation-info: Validation of the length
object (Branding)

The branding assets defined for the collection

validation-info: Validation that the object has the right shape and the strings are valid urls
object (SupportContact)

The list of customer support contact point

validation-info: Validation that the object has the right shape and email, phone and contact_form are valid.
Array of objects (SocialMediaLinks)
validation-info: Validation for the shape of the object, the enum of the provider and that the url is valid
Responses
200

Collection channel updated

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/channel/collections/{collection_id}
Request samples
application/json
{}
Response samples
application/json
{}

Account information

Fetch the account information

Fetch the account information


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Business information found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/account-information
Request samples
Response samples
application/json
{
  • "account_created_from_ip": "192.168.1.1",
  • "account_created_at": "2024-01-01T12:00:00Z"
}

Update the account information

Update the account information of an existing account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
account_created_from_ip
string <ip_address> (IpAddress) ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25...

Valid IPV4 or IPV6 address

validation-info: Validation that is a valid IP address.
account_created_at
string <date-time> (Timestamp) ^[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[...

Timestamp in ISO 8601 with timezone e.g. 2024-01-01T12:00:00Z

validation-info: Validates that the timestamp is ISO 8601 - UTC time
Responses
200

Account information updated

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

409

Account information can only be set once

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/extra-account-data/account-information
Request samples
application/json
{
  • "account_created_from_ip": "192.168.1.1",
  • "account_created_at": "2024-01-01T12:00:00Z"
}
Response samples
application/json
{
  • "account_created_from_ip": "192.168.1.1",
  • "account_created_at": "2024-01-01T12:00:00Z"
}

Business information

The Accounts API allows the authenticated Partner to provide additional detailed business information for a given merchant, for example the business registration address and registration number.

Fetch the business information for the account

Fetch the business information for the account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Business information found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/business-information
Request samples
Response samples
application/json
{
  • "business_name": "John Doe LLC",
  • "business_entity_type": "LIMITED_LIABILITY_COMPANY",
  • "registration_authority": "Ohio",
  • "registration_number": "12345678",
  • "tax_registration_number": "999-999-999",
  • "financial_registration_number": "12345678",
  • "operating_address": {
    },
  • "registration_address": {
    }
}

Update the business information

Update the business information of an existing account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
business_name
string <= 80 characters

Registered Business name

validation-info: Validation that the business_name is maximum 80 characters
business_entity_type
string

Legal status of the business

Enum: "SOLE_TRADER" "STATE_OWNED_COMPANY" "ASSOCIATION" "PUBLIC_LIMITED_COMPANY" "PRIVATE_UNLIMITED_COMPANY" "COOPERATIVE" "FOUNDATION" "NON_PROFIT_ORGANISATION" "PARTNERSHIP" "LIMITED_LIABILITY_COMPANY" "TRUST" "UNKNOWN"
validation-info: Validation agains the defined enum
registration_authority
string

The authority / local court where the company is registered

validation-info: tbd
registration_number
string

Identification number assigned to a business entity when it is registered with a government authority

validation-info: tbd
tax_registration_number
string

The unique number that identifies a taxable business or non-taxable legal entity that is registered for VAT/Sales Tax

validation-info: tbd
financial_registration_number
string

The financial license number as registered with the authorities

validation-info: tbd
object

The root object for the operational business address

validation-info: Validation that is an object.
object

The root object for the registered business address

validation-info: Validation that is an object.
Responses
200

Business information updated

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/extra-account-data/business-information
Request samples
application/json
{
  • "business_name": "John Doe LLC",
  • "business_entity_type": "LIMITED_LIABILITY_COMPANY",
  • "registration_authority": "Ohio",
  • "registration_number": "12345678",
  • "tax_registration_number": "999-999-999",
  • "financial_registration_number": "12345678",
  • "operating_address": {
    },
  • "registration_address": {
    }
}
Response samples
application/json
{
  • "business_name": "John Doe LLC",
  • "business_entity_type": "LIMITED_LIABILITY_COMPANY",
  • "registration_authority": "Ohio",
  • "registration_number": "12345678",
  • "tax_registration_number": "999-999-999",
  • "financial_registration_number": "12345678",
  • "operating_address": {
    },
  • "registration_address": {
    }
}

Beneficiary information

The Accounts API allows the authenticated Partner to create, read, manage the Beneficiary Information on an Account.

Register a stakeholder

Register a stakeholder on an existing account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
given_name
string [ 1 .. 99 ] characters

The stakeholder given name

validation-info: Validation of length
family_name
string [ 1 .. 99 ] characters

The stakeholder family name

validation-info: Validation of length
object

The root object for the stakeholder address

validation-info: Validation that is an object.
date_of_birth
string (DateOfBirth) ^[0-9]{4}-[0-9]{2}-[0-9]{2}$

Date of birth of the person on the format YYYY-MM-DD

validation-info: Validation that the value is of the right format and the date is not in the future.
object

National Identification Number for a person. The number is formatted according to country standards.

validation-info: Check that is an object
roles
required
Array of strings

List of roles this stakeholder has in the business

Items Enum: "LEGAL_REPRESENTATIVE" "ALTERNATIVE_BENEFICIAL_OWNER" "ULTIMATE_BENEFICIAL_OWNER" "OWNER"
validation-info: Validation agains the enum of possible values
Responses
200

Stakeholder registered

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

post/v1/accounts/{account_id}/extra-account-data/beneficiary-information/stakeholders
Request samples
application/json
{
  • "given_name": "John",
  • "family_name": "Doe",
  • "address": {
    },
  • "date_of_birth": "1970-01-01",
  • "national_identification": {
    },
  • "roles": [
    ]
}
Response samples
application/json
{
  • "stakeholder_id": "krn:partner:global:account:stakeholder:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "given_name": "John",
  • "family_name": "Doe",
  • "address": {
    },
  • "date_of_birth": "1970-01-01",
  • "national_identification": {
    },
  • "roles": [
    ]
}

List all stakeholders

Fetch all stakeholders on an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Stakeholders found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/beneficiary-information/stakeholders
Request samples
Response samples
application/json
[
  • {
    }
]

Retrieve a stakeholder

Retrieve a stakeholder from an existing account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
stakeholder_id
required
string (StakeholderIdentifier)

Unique identifier for this stakeholder

Example: krn:partner:global:account:stakeholder:206bbb83-9b6e-46fa-940d-337153c04a58
validation-info: There is validation that the resource exist. The format for KRN is not validated
Responses
200

Stakeholder found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/beneficiary-information/stakeholders/{stakeholder_id}
Request samples
Response samples
application/json
{
  • "stakeholder_id": "krn:partner:global:account:stakeholder:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "given_name": "John",
  • "family_name": "Doe",
  • "address": {
    },
  • "date_of_birth": "1970-01-01",
  • "national_identification": {
    },
  • "roles": [
    ]
}

Update a stakeholder

Update a stakeholder on an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
stakeholder_id
required
string (StakeholderIdentifier)

Unique identifier for this stakeholder

Example: krn:partner:global:account:stakeholder:206bbb83-9b6e-46fa-940d-337153c04a58
validation-info: There is validation that the resource exist. The format for KRN is not validated
Request Body schema: application/json
required
given_name
string [ 1 .. 99 ] characters

The stakeholder given name

validation-info: Validation of length
family_name
string [ 1 .. 99 ] characters

The stakeholder family name

validation-info: Validation of length
object

The root object for the stakeholder address

validation-info: Validation that is an object.
date_of_birth
string (DateOfBirth) ^[0-9]{4}-[0-9]{2}-[0-9]{2}$

Date of birth of the person on the format YYYY-MM-DD

validation-info: Validation that the value is of the right format and the date is not in the future.
object

National Identification Number for a person. The number is formatted according to country standards.

validation-info: Check that is an object
roles
required
Array of strings

List of roles this stakeholder has in the business

Items Enum: "LEGAL_REPRESENTATIVE" "ALTERNATIVE_BENEFICIAL_OWNER" "ULTIMATE_BENEFICIAL_OWNER" "OWNER"
validation-info: Validation agains the enum of possible values
Responses
200

Stakeholder updated

400

Bad Request

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/extra-account-data/beneficiary-information/stakeholders/{stakeholder_id}
Request samples
application/json
{
  • "given_name": "John",
  • "family_name": "Doe",
  • "address": {
    },
  • "date_of_birth": "1970-01-01",
  • "national_identification": {
    },
  • "roles": [
    ]
}
Response samples
application/json
{
  • "stakeholder_id": "krn:partner:global:account:stakeholder:206bbb83-9b6e-46fa-940d-337153c04a58",
  • "given_name": "John",
  • "family_name": "Doe",
  • "address": {
    },
  • "date_of_birth": "1970-01-01",
  • "national_identification": {
    },
  • "roles": [
    ]
}

Delete a Stakeholder

Remove a given stakeholder from an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
stakeholder_id
required
string (StakeholderIdentifier)

Unique identifier for this stakeholder

Example: krn:partner:global:account:stakeholder:206bbb83-9b6e-46fa-940d-337153c04a58
validation-info: There is validation that the resource exist. The format for KRN is not validated
Responses
204

Stakeholder removed

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

delete/v1/accounts/{account_id}/extra-account-data/beneficiary-information/stakeholders/{stakeholder_id}
Request samples
Response samples
application/json
{
  • "error_id": "1653c9db-454b-4222-8265-4c7ca209f630",
  • "error_type": "ACCESS_ERROR",
  • "error_code": "UNAUTHORIZED",
  • "error_message": "The presented credentials failed authentication"
}

Settlement information

The Accounts API allows the authenticated Partner to share the settlement information for a given merchant which Klarna would solely use for KYB (Know Your Business) purposes.

Retrieve settlement information

Retrieve the settlement information


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Settlement information found

401

Unauthorized, the request was not authorized.

404

Not Found, the requested resource was not found.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/settlement-information
Request samples
Response samples
application/json
{
  • "settlement_enabled": true,
  • "settlement_enabled_at": "2024-01-01T12:00:00Z"
}

Update settlement information

Update settlement information


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
settlement_enabled
boolean

Are payouts enabled

validation-info: Validation that is true or false
settlement_enabled_at
string <date-time> (Timestamp) ^[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[...

Timestamp in ISO 8601 with timezone e.g. 2024-01-01T12:00:00Z

validation-info: Validates that the timestamp is ISO 8601 - UTC time
Responses
200

Settlement information updated

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

404

Not Found, the requested resource was not found.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/extra-account-data/settlement-information
Request samples
application/json
{
  • "settlement_enabled": true,
  • "settlement_enabled_at": "2024-01-01T12:00:00Z"
}
Response samples
application/json
{
  • "settlement_enabled": true,
  • "settlement_enabled_at": "2024-01-01T12:00:00Z"
}

Add bank account information

Add bank account information


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Request Body schema: application/json
required
bank_account_type
required
string (BankAccountType)

The settlement type available for a given currency

account_holder
string (AccountHolder)

The account holder name

bic
required
string (Bic) [ 8 .. 11 ] characters

The bank's 8- or 11-character BIC or SWIFT code.

iban
required
string

The international bank account number as defined in the ISO-13616 standard.

Responses
200

Bank account information added

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

post/v1/accounts/{account_id}/extra-account-data/settlement-information/bank-accounts
Request samples
application/json
{
  • "bank_account_type": "IBAN",
  • "account_holder": "John Doe Stakehouse",
  • "bic": "NDEASEGGXXX",
  • "iban": "SE4550000000058398257466"
}
Response samples
application/json
{
  • "bank_account_id": "krn:partner:global:settlement-information:bank-account:56f77163-bc1b-46c8-a245-e251ff65e3d2",
  • "bank_account_type": "IBAN",
  • "account_holder": "John Doe Stakehouse",
  • "bic": "NDEASEGGXXX",
  • "iban": "SE4550000000058398257466"
}

List all bank account information

List all bank account information


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
Responses
200

Bank account information found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/settlement-information/bank-accounts
Request samples
Response samples
application/json
[
  • {
    }
]

Retrieve bank account information

Retrieve a bank account information from an existing account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
bank_account_id
required
string (BankAccountIdentifier)

Unique identifier assigned to the bank information provided

Example: krn:partner:global:settlement-information:bank-account:56f77163-bc1b-46c8-a245-e251ff65e3d2
validation-info: tbd
Responses
200

Stakeholder found

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

get/v1/accounts/{account_id}/extra-account-data/settlement-information/bank-accounts/{bank_account_id}
Request samples
Response samples
application/json
{
  • "bank_account_id": "krn:partner:global:settlement-information:bank-account:56f77163-bc1b-46c8-a245-e251ff65e3d2",
  • "bank_account_type": "IBAN",
  • "account_holder": "John Doe Stakehouse",
  • "bic": "NDEASEGGXXX",
  • "iban": "SE4550000000058398257466"
}

Update bank account information

Update bank detail information for a given account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
bank_account_id
required
string (BankAccountIdentifier)

Unique identifier assigned to the bank information provided

Example: krn:partner:global:settlement-information:bank-account:56f77163-bc1b-46c8-a245-e251ff65e3d2
validation-info: tbd
Request Body schema: application/json
required
bank_account_type
required
string (BankAccountType)

The settlement type available for a given currency

account_holder
string (AccountHolder)

The account holder name

bic
required
string (Bic) [ 8 .. 11 ] characters

The bank's 8- or 11-character BIC or SWIFT code.

iban
required
string

The international bank account number as defined in the ISO-13616 standard.

Responses
200

Bank account information updated

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

patch/v1/accounts/{account_id}/extra-account-data/settlement-information/bank-accounts/{bank_account_id}
Request samples
application/json
{
  • "bank_account_type": "IBAN",
  • "account_holder": "John Doe Stakehouse",
  • "bic": "NDEASEGGXXX",
  • "iban": "SE4550000000058398257466"
}
Response samples
application/json
{
  • "bank_account_id": "krn:partner:global:settlement-information:bank-account:56f77163-bc1b-46c8-a245-e251ff65e3d2",
  • "bank_account_type": "IBAN",
  • "account_holder": "John Doe Stakehouse",
  • "bic": "NDEASEGGXXX",
  • "iban": "SE4550000000058398257466"
}

Delete bank account information

Remove bank account information from an account


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services

Securityklarna_api_key
Request
path Parameters
account_id
required
string (AccountIdentifier)

Identifier of the Account the action is done on behalf of

Example: krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
bank_account_id
required
string (BankAccountIdentifier)

Unique identifier assigned to the bank information provided

Example: krn:partner:global:settlement-information:bank-account:56f77163-bc1b-46c8-a245-e251ff65e3d2
validation-info: tbd
Responses
204

Bank account information removed

401

Unauthorized, the request was not authorized.

500

Internal Server Error, there was an unexpected error in the API.

delete/v1/accounts/{account_id}/extra-account-data/settlement-information/bank-accounts/{bank_account_id}
Request samples
Response samples
application/json
{
  • "error_id": "1653c9db-454b-4222-8265-4c7ca209f630",
  • "error_type": "ACCESS_ERROR",
  • "error_code": "UNAUTHORIZED",
  • "error_message": "The presented credentials failed authentication"
}

User Access

The User Access API allows the authenticated Account to create, update or delete user access to the Merchant Portal.

Create or update user access

Create or update access to the Portal for a user.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services
Lifecycle Stage: The Lifecycle Stage tag in operations and attributes defines completeness of the feature for usage Feature under development, may not be fully available and is subject to change as we continue building the service in partnership with early usersEarly Release
Availability in Test environment: Indicates if the feature is available in the Klarna Test environment Feature is available in the Klarna Test environmentAvailable
Availability in Production environment: Indicates if the feature is available in the Klarna Production environment Feature is available for testing purposes only in the Klarna Production environment and should not be use to process real transactionsTest-only

Securityklarna_api_key
Request
Request Body schema: application/json
required
jwt
required
string

The JWT token that contains the subject and roles. The token should be signed with the partner's private key and the signing certificate included in the x5c header. The token should contain the following claims:

  • iss: Account ID of requesting partner, e.g. krn:partner:global:account:live:LWT2XJSE
  • jti: A unique token ID, e.g. a4728c02-9885-41bf-b539-251ffa7f7eaa
  • sub: Email of the user to give access to, e.g. test@partner.com
  • iat: Time the token was issued in UTC, e.g. 1516239022
  • exp: Expiration time of the token in UTC, e.g. 1516239022
  • account_id: Account ID of the partner to give the user access to, e.g. krn:partner:global:account:live:LWT2XJ
  • roles: The roles to be assigned to the user, e.g. [merchant:admin, merchant:developer]
  • expires_at: Optional. The date when the access expires in YYYY-MM-DD format, e.g. 2024-12-31. Must be a future date.
  • inactivity_grace_period: Optional. ISO 8601 duration string specifying how long the access remains valid after user inactivity, e.g. P30D for 30 days. Must be between 1 day and 6 months.
validation-info: Must be a signed JWT
Responses
201

Access successfully created.

204

Access successfully updated.

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

post/v1/portal/user-access
Request samples
application/json
{
  • "jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
Response samples
application/json
{
  • "error_id": "5a3f6b9c-9b3b-4b7e-8f9d-9b9a4b9a4b9a",
  • "error_type": "INPUT_ERROR",
  • "error_code": "INVALID_CONTENT_TYPE",
  • "error_message": "The received input is not valid JSON.\nUnterminated string at 19 [character 20 line 1].\n"
}

Delete user access

Deletes all user access, scoped by account and/or principal.


SLO Category: The SLO Service Category. Operations that enable the management of an existing partner account, supporting retrieval, updates, and deletion.Account Operations
SLA Service Class: The SLA Service Class this operation is classified at when evaluating SLA compliance. Operations, webhooks and other services that are outside the scope of both Transaction Critical and Transaction Non-critical OperationsAdditional Services
Lifecycle Stage: The Lifecycle Stage tag in operations and attributes defines completeness of the feature for usage Feature under development, may not be fully available and is subject to change as we continue building the service in partnership with early usersEarly Release
Availability in Test environment: Indicates if the feature is available in the Klarna Test environment Feature is available in the Klarna Test environmentAvailable
Availability in Production environment: Indicates if the feature is available in the Klarna Production environment Feature is available for testing purposes only in the Klarna Production environment and should not be use to process real transactionsTest-only

Securityklarna_api_key
Request
query Parameters
account_id
string (AccountIdentifier)

The ID of the account to remove access for. This or principal are required.

Example: account_id=krn:partner:global:account:live:LWT2XJSE
validation-info: There is a validation about the presence of the account_id and if it has the right credentials to perform the action
principal
string

The ID or email of the user to remove access from. This or account_id are required.

Examples:
principal=krn:partner:global:portal:user:b0ac4fb5-2975-4417-ae76-f2ac86fb6c6d
principal=example@domain.com
Responses
204

Access successfully deleted

400

Bad Request, there was an error in the input of the request. The request can not be retried without modifications.

delete/v1/portal/user-access
Request samples
Response samples
application/json
{
  • "error_id": "5a3f6b9c-9b3b-4b7e-8f9d-9b9a4b9a4b9a",
  • "error_type": "INPUT_ERROR",
  • "error_code": "INVALID_CONTENT_TYPE",
  • "error_message": "The received input is not valid JSON.\nUnterminated string at 19 [character 20 line 1].\n"
}