Main.credit-account.api.accounttransaction - accounttransaction 
Page of - last modified by thomas hedstrom on 2026/07/09 11:47 
accounttransaction 

thomas hedstrom

2026/07/09 11:47
Table of Contents
Changelog
Introduction
1. Pre-authorizations
2. Redirect
3. Authorization-capture-orders
4. Authorizations
5. Captures
6. Reversals
7. Cancellations
8. Split-authorizations
9. Captures
10. Cancellations
11. Reversals
12. Account-applications
13. Limit-upgrade-applications
Problems
Example

  
  Integrate to 
Changelog
  2022-03-18
  Added preAuthorizationStatus property on pre-authorization resource
  Added hypermedia reference to reversal from capture response
  Added hypermedia reference to split-authorization from pre-authorization response
2025-09-05
Added new value to PreAuthorizationStatus - Rejected (Estimated release 2025-09-23)

Swagger
Introduction
  The account-transaction API is handle payment flows for split-payments and credit accounts for retail finance scenarios. The api contains redirect scenarios for   account onboarding, upgrades and authentication.

1. Pre-authorizations
Gets already created pre authorization
1.1 Get specific Pre-authorization

GET /ledger/account-transaction/v1/{ownerNo}/pre-authorizations/{preAuthorizationId} HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json
Initiate new pre-authorization

HTTP/1.1 200 OK
Content-Type: application/json

{
  "preAuthorizationId": "8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "preAuthorizationStatus": "Initialized",
  "customer": {
      "nationalConsumerIdentifier": {
          "value": "19101010-1010",
          "countryCode": "SE"
        },
      "email": "abc@test.com",
      "msisdn": "4670123456",
      "customerNo": "456987"
    },
  "sellerNo": "123456",
  "sellerReferenceId": "abc-87465123",
  "profileName": "configured-profile-name",
  "authorizationAmount": 100.50,
  "currency": "SEK",
  "pointOfSale": "Test shop",
  "assessment": {
      "assessmentUrl": "/score/sca/v1/{claimantNo}/assessments/{assessmentNo}",
      "scaStatus": "Required"
    },
  "operations": [
        {
          "rel": "add-authorizations",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/591/authorizations"
        },
        {
          "rel": "add-split-authorizations",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/591/split-authorizations"
        },
        {
          "rel": "redirect",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/pre-authorizations/8c535338-d92c-49e7-90bf-304dbf38e0bd/redirect"
        }
    ]
}
1.2 Create Pre-authorization
Check if required conditions are met to begin a transaction. Creates an authentication resource that exposes operation link to redirect if user interaction is required. (Is there an existing account? Is the account's limit sufficient for the new transaction?)

POST /ledger/account-transaction/v1/{ownerNo}/pre-authorizations HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "customer": {
      "nationalConsumerIdentifier": {
          "value": "19101010-1010",
          "countryCode": "SE"
        },
      "email": "abc@test.com",
      "msisdn": "4670123456",
      "customerNo": "456987"
    },
  "sellerNo": "123456",
  "sellerReferenceId": "abc-87465123",
  "profileName": "configured-profile-name",
  "authorizationAmount": 100.50,
  "currency": "SEK",
  "pointOfSale": "Test shop",
  "assessment": {
      "assessmentUrl": "/score/sca/v1/{claimantNo}/assessments/{assessmentNo}",
      "scaStatus": "Required"
    }
}

Property  	Data type	Format	Required	Description	
customer  	object  	    	Yes  	  	
      nationalConsumerIdentifier  	object  	    	Yes  	  	
            value  	string  	  	No  	The identifier - SSN, Personnummer, CPR, d-nummer, temporary identification number etc. Uniquely identifies the consumer. Visit developer.payex.com for information about supported national identifier format	
            countryCode  	string  	Pattern: SE|NO|DK|FI  	No  	The country code for the identifier value property. Valid values are 'SE', 'NO', 'DK', 'FI'. [[ISO 3166-1 alpha-2>>https://sv.wikipedia.org/wiki/ISO_3166]]	
      email  	string  	Pattern: ^[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:[^;\xA0\xD0\─@<>\p{Cc}]+\.[^;\xA0\xD0\─@<>\p{Cc}]+|\[[A-Fa-f\d\:]+\])(?<!\.)$  	No  	The customers Email	
      msisdn  	string  	Pattern: ^[+]{1}\d{4,14}$  	No  	Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+'	
      customerNo  	string  	  	No  	The identifier of the customer. Normally required, exception is when the configuration on the ledger is set for the provider of this API to generate customer numbers, in that case CustomerNo must not be set in request	
sellerNo  	string  	  	Yes  	The seller identifier at the provider of the API	
sellerReferenceId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries	
profileName  	string  	  	Yes  	The profile name of the pre configured account setup	
authorizationAmount  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	The original authorized amount, can't have more than 2 decimal places	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
pointOfSale  	string  	Pattern: ^[\u0020-\u003A \u003C-\u007E \u00A0-\u00FF \u2019]*$  	No  	Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API	
assessment  	object  	    	No  	  	
      assessmentUrl  	string  	Pattern: ^/score/sca/v\d{1,10}/\w{0,15}[0-9aA-zZ]/assessments/\d+$  	Yes  	  	
      scaStatus  	string  	�	Required
�	NotRequired	Yes  	  	
callbackOptions  	object  	    	No  	  	
      url  	string  	  	No  	Absolute url, only supports GET	
specialIntent  	string  	  	No  	Additional instructions, possible values: [use-trusted-seller-group-consent] Only use if agreed with provider of the API	
Initiate new pre-authorization. Evaluates and decides what needs to be ready for the requested authorize flow

HTTP/1.1 201 Created
Content-Type: application/json

{
  "preAuthorizationId": "8c535338d92c49e790bf304dbf38e0bd",
  "preAuthorizationStatus": "Initialized",
  "customer": {
      "nationalConsumerIdentifier": {
          "value": "19101010-1010",
          "countryCode": "SE"
        },
      "email": "abc@test.com",
      "msisdn": "4670123456",
      "customerNo": "456987"
    },
  "sellerNo": "123456",
  "sellerReferenceId": "abc-87465123",
  "profileName": "configured-profile-name",
  "authorizationAmount": 100.50,
  "currency": "SEK",
  "pointOfSale": "Test shop",
  "assessment": {
      "assessmentUrl": "/score/sca/v1/{claimantNo}/assessments/{assessmentNo}",
      "scaStatus": "Required"
    },
  "@id": "/ledger/account-transaction/v1/xxx/pre-authorizations/8c535338d92c49e790bf304dbf38e0bd",
  "operations": [
        {
          "rel": "add-authorizations",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/591/authorizations"
        },
        {
          "rel": "add-split-authorizations",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/591/split-authorizations"
        },
        {
          "rel": "redirect",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/pre-authorizations/8c535338d92c49e790bf304dbf38e0bd/redirect"
        }
    ]
}

Http status  	Problem type  	Description	
400  	validation  	occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation  	
409  	account-limit-too-low  	Occurs if the credit limit on the account is too low, raise the limit before making the call  	
409  	account-missing  	No Account found for provided profile name and customer, need to create an account before calling  	
409  	conflict  	May find more information in details  	
409  	unsupported-claim-level  	Account unable to accept new transactions  	
409  	not-valid-for-special-intent  	Provided SpecialIntent was not valid for this request  	
409  	unable-to-use-trusted-consent  	Customer or Account is in a invalid state for the use of trusted seller group consent  	
422  	unprocessable  	May find more information in details  	
500  	fatal  	Unexpected error, logs may give details about the problem  	

Property  	Data type	Format	Description	
customer  	object  	    	  	
      nationalConsumerIdentifier  	object  	    	  	
            value  	string  	  	The identifier - SSN, Personnummer, CPR, d-nummer, temporary identification number etc. Uniquely identifies the consumer. Visit developer.payex.com for information about supported national identifier format	
            countryCode  	string  	Pattern: SE|NO|DK|FI  	The country code for the identifier value property. Valid values are 'SE', 'NO', 'DK', 'FI'. [[ISO 3166-1 alpha-2>>https://sv.wikipedia.org/wiki/ISO_3166]]	
      email  	string  	Pattern: ^[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:[^;\xA0\xD0\─@<>\p{Cc}]+\.[^;\xA0\xD0\─@<>\p{Cc}]+|\[[A-Fa-f\d\:]+\])(?<!\.)$  	The customers Email	
      msisdn  	string  	Pattern: ^[+]{1}\d{4,14}$  	Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+'	
      customerNo  	string  	  	The identifier of the customer. Normally required, exception is when the configuration on the ledger is set for the provider of this API to generate customer numbers, in that case CustomerNo must not be set in request	
sellerNo  	string  	  	The seller identifier at the provider of the API	
sellerReferenceId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries	
profileName  	string  	  	The profile name of the pre configured account setup	
authorizationAmount  	number  	Type: double
Max: 100000000
Min: 0  	The original authorized amount, can't have more than 2 decimal places	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	  	
pointOfSale  	string  	Pattern: ^[\u0020-\u003A \u003C-\u007E \u00A0-\u00FF \u2019]*$  	Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API	
assessment  	object  	    	  	
      assessmentUrl  	string  	Pattern: ^/score/sca/v\d{1,10}/\w{0,15}[0-9aA-zZ]/assessments/\d+$  	  	
      scaStatus  	string  	�	Required
�	NotRequired	  	
callbackOptions  	object  	    	  	
      url  	string  	  	Absolute url, only supports GET	
specialIntent  	string  	  	Additional instructions, possible values: [use-trusted-seller-group-consent] Only use if agreed with provider of the API	
preAuthorizationId  	string  	  	Unique identifier of the pre-authorization, generated by the API	
preAuthorizationStatus  	string  	�	Initialized
�	Failed
�	ReadyForAuthorization
�	Completed
�	Rejected	  	
failReasonCode  	string  	  	May contain a short descriptive code to expand on why PreAuthorization was unsuccessful	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
@id  	string  	  	Uri identifier of the current resource	
2. Redirect
2.1 Create Redirect
Initiates redirect authentication flow, generates redirect url and accepts return url after redirect process finishes. The operation is exposed by the parent authentication if required.

POST /ledger/account-transaction/v1/{ownerNo}/pre-authorizations/{preAuthorizationId}/redirect HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "returnUrl": "https://apiconsumerexample.se/transactioncallbackexample",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myapp://{ledgerNo}example",
      "autostartAction": "MhVrFOAClUaJUx6QqnLgCw",
      "languageCode": "Sv"
    }
}

Property  	Data type	Format	Required	Description	
returnUrl  	string  	  	Yes  	Url to return the end user to after process is completed. Query parameter 'branding' is conditional	
redirectOptions  	object  	    	Yes  	  	
      nativeAppSwitchingUrl  	string  	  	No  	Uri pointing to app, used to switch back to app from bankId	
      autostartAction  	string  	  	No  	Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)	
      languageCode  	string  	  	Yes  	Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN|NO|DA)	
Setup the redirect for both the sign/identification page and where to be redirect after

HTTP/1.1 201 Created
Content-Type: application/json

{
  "redirectUrl": "/ledger/public-account-transaction/v1/{ledgerNo}/8c535338-d92c-49e7-90bf-304dbf38e0bd?token=JWT12345"
}

Http status  	Problem type  	Description	
400  	validation  	occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation  	
404  	not-found  	Resource missing, may have been created on different ledger or have expired  	
409  	invalid-state  	PreAuthorizationStatus for targeted resource is invalid for this method  	
500  	fatal  	Unexpected error, logs may give details about the problem  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
redirectUrl  	string  	  	  	
3. Authorization-capture-orders
Get an existing authorization-capture-orders. The authorization-capture-orders, is used when adding transactions to users account when user is pre identified.
3.1 Get specific Authorization-capture-order

GET /ledger/account-transaction/v1/{ownerNo}/authorization-capture-orders/{captureId} HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json
Success Example
Response for a successful authorization and capture

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "processed",
  "callbackBody": {
      "success": {
          "authorization": "/ledger/account-transaction/v1/XXX/authorizations/{authorizationId}"
        }
    },
  "captureId": "123456",
  "authorizationId": 123456789,
  "accountNo": "1234",
  "callbackUrl": "https://my.com/callback?543245892u59",
  "sellerReferenceId": "abc-87465123",
  "sellerTransactionId": "654789312",
  "authenticationMethod": "2FA",
  "currency": "SEK",
  "amount": 50.00,
  "pointOfSale": "Test shop",
  "operations": []
}
Error Example
Response for a unsuccessful authorization or capture

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "processed",
  "callbackBody": {
      "fail": {
          "type": "ledger/account-transaction/v1/problems/validation",
          "title": "Not found",
          "status": 404,
          "detail": "A validation error occurred. Please fix the problems mentioned in the problems property below.",
          "instance": "215d4206-ca35-4f43-85ad-169c8f6d4ec1"
        }
    },
  "captureId": "123456",
  "authorizationId": 123456789,
  "accountNo": "1234",
  "callbackUrl": "https://my.com/callback?543245892u59",
  "sellerReferenceId": "abc-87465123",
  "sellerTransactionId": "654789312",
  "authenticationMethod": "2FA",
  "currency": "SEK",
  "amount": 50.000,
  "pointOfSale": "Test shop",
  "operations": []
}
3.2 Create Authorization-capture-order
Create authorization-capture-orders is used to add transaction when user is pre identified.

POST /ledger/account-transaction/v1/{ownerNo}/authorization-capture-orders HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "captureId": "123456",
  "authorizationId": 123456789,
  "accountNo": "1234",
  "callbackUrl": "https://my.com/callback?543245892u59",
  "sellerTransactionId": "654789312",
  "authenticationMethod": "2FA",
  "currency": "SEK",
  "amount": 50.00,
  "pointOfSale": "Test shop"
}

Property  	Data type	Format	Required	Description	
captureId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	Identifier of the capture, must be unique for all types of captures within the ledger	
authorizationId  	number  	Type: int64  	Yes  	Identifier of the authorization, must be unique for all types of authorizations within the ledger	
accountNo  	string  	  	Yes  	The identifier of the account	
callbackUrl  	string  	  	No  	If callback should be done on status change, it is done to the callback url. If empty no callback is done.	
sellerNo  	string  	  	Yes  	The seller identifier at payex	
sellerReferenceId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries.	
sellerTransactionId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	The sellers identifier of the capture/transaction, usually the receipt reference	
authenticationMethod  	string  	  	Yes  	Authentication method used to identify the user. Possible values 1FA (one factor),2FA (two factor) ,3FA (three factor)	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
amount  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	The amount of the authorization capture order, can't have more than 2 decimal places.	
pointOfSale  	string  	  	No  	Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API.	

HTTP/1.1 201 Created
Content-Type: application/json

{
  "status": "pending",
  "captureId": "123456",
  "authorizationId": 123456789,
  "accountNo": "1234",
  "callbackUrl": "https://my.com/callback?543245892u59",
  "sellerTransactionId": "654789312",
  "authenticationMethod": "2FA",
  "currency": "SEK",
  "amount": 50.00,
  "pointOfSale": "Test shop",
  "@id": "/ledger/account-transaction/v1/xxx/authorization-capture-orders/123456",
  "operations": []
}

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
captureId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Identifier of the capture, must be unique for all types of captures within the ledger	
authorizationId  	number  	Type: int64  	Identifier of the authorization, must be unique for all types of authorizations within the ledger	
accountNo  	string  	  	The identifier of the account	
callbackUrl  	string  	  	If callback should be done on status change, it is done to the callback url. If empty no callback is done.	
sellerNo  	string  	  	The seller identifier at payex	
sellerReferenceId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Sellers reference id, usually the order id of the purchase / consistent for all captures/deliveries.	
sellerTransactionId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	The sellers identifier of the capture/transaction, usually the receipt reference	
authenticationMethod  	string  	  	Authentication method used to identify the user. Possible values 1FA (one factor),2FA (two factor) ,3FA (three factor)	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	  	
amount  	number  	Type: double
Max: 100000000
Min: 0  	The amount of the authorization capture order, can't have more than 2 decimal places.	
pointOfSale  	string  	  	Trade name of the point of sale. Will be displayed to end customer. Only use if agreed with provider of the API.	
status  	string  	�	pending
�	processed	  	
callbackBody  	object  	    	  	
      success  	object  	    	  	
            authorization  	string  	  	Uri to the created authorizarion.	
      fail  	dynamic  	    	Problem definition of the authorization capture transaction. See problem section.	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
4. Authorizations
Get an existing authorization.
4.1 Get specific Authorization

GET /ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId} HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json
Get authorization

HTTP/1.1 200 OK
Content-Type: application/json

{
  "authorizationId": 456789,
  "sellerNo": "654321",
  "validToDate": "2026-07-09",
  "authorizationAmount": 3600.00,
  "remainingAmount": 3600.00,
  "currency": "SEK",
  "status": "Open",
  "operations": [
        {
          "rel": "add-reversal",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/authorizations/456789/reversals"
        },
        {
          "rel": "add-capture",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/authorizations/456789/captures"
        },
        {
          "rel": "add-cancellation",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/authorizations/456789/cancellations"
        }
    ]
}

Http status  	Problem type  	Description	
404  	not-found  	Found no authorization for provided id on this ledger  	
409  	invalid-account-usage  	Provided PreAuthorization is invalid for this kind of authorization  	
409  	unsupported-claim-level  	Account unable to accept new transactions  	
500  	fatal  	Unexpected error, logs may give details about the problem  	
4.2 Create Authorization
Create authorization to see if the account will accept the transaction.   When accepted reserves the amount to on the underlying account (may include credit check) and creates the authorization instance. The reservation is time limited, captures will only be excepted until the reservation times out.

POST /ledger/account-transaction/v1/{ownerNo}/authorizations HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "preAuthorizationId": "8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "authorizationId": 456789
}

Property  	Data type	Format	Required	Description	
preAuthorizationId  	string  	  	Yes  	Identifier of the existing pre-authorization	
authorizationId  	number  	Type: int64
Min: 1  	Yes  	Identifier of the authorization, must be unique for all types of authorizations within the ledger	
Create authorization

HTTP/1.1 201 Created
Content-Type: application/json

{
  "authorizationId": 456789,
  "sellerNo": "654321",
  "validToDate": "2026-07-09",
  "authorizationAmount": 3600.00,
  "remainingAmount": 3600.00,
  "currency": "SEK",
  "status": "Open",
  "@id": "/ledger/account-transaction/v1/xxx/authorizations/456789",
  "operations": [
        {
          "rel": "add-reversal",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/authorizations/456789/reversals"
        },
        {
          "rel": "add-capture",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/authorizations/456789/captures"
        },
        {
          "rel": "add-cancellation",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/authorizations/456789/cancellations"
        }
    ]
}

Http status  	Problem type  	Description	
400  	validation  	occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation  	
409  	credit-check-rejected  	Credit check or extend of credit check was rejected  	
409  	missing-pre-authorization  	Resource missing, may have been created on different ledger or have expired  	
409  	invalid-account-usage  	Provided PreAuthorization is invalid for this kind of authorization  	
409  	amount-exceeds-limit  	Amount in PreAuthorization is no longer valid for this authorization  	
409  	invalid-state  	Provided PreAuthorization resource is in a invalid state for this method  	
409  	identifier-already-in-use  	AuthorizationId given is already used, provide a new one and try again  	
409  	invalid-account-status-exception  	Unsupported account status  	
500  	fatal  	Unexpected error, logs may give details about the problem  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
authorizationId  	number  	Type: int64  	Identifier of the authorization, must be unique for all types of authorizations within the ledger	
sellerNo  	string  	  	The seller identifier at payex	
validToDate  	string  	  	The authorization is valid for captures until this date. Format 'YYYY-MM-DD'	
authorizationAmount  	number  	Type: double
Max: 100000000
Min: 0  	The original authorized amount	
remainingAmount  	number  	Type: double  	The remaining amount on the authorization available for capture	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	  	
status  	string  	�	Open
�	Closed
�	Cancelled	  	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
5. Captures
5.1 Create Capture
Captures part of (or complete) the authorization, includes options for part payment  

POST /ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}/captures HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "captureId": "123456",
  "sellerTransactionId": "654789312",
  "currency": "SEK",
  "amount": 3600.00,
  "receiptReference": "Meaningful_Reference"
}

Property  	Data type	Format	Required	Description	
captureId  	string  	Pattern: ^[a-zA-Z0-9\-]{1,}$  	Yes  	Identifier of the capture, must be unique for all types of captures within the ledger	
sellerTransactionId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	The sellers identifier of the capture/transaction, usually the receipt reference	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
amount  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	The total amount.	
receiptReference  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-]{1,}$  	No  	A receipt reference meaningful for the consumer.	
Capture created

HTTP/1.1 201 Created
Content-Type: application/json

{
  "captureId": "123456",
  "operations": []
}

Http status  	Problem type  	Description	
404  	not-found  	Resource missing, may have been created on different ledger or have expired  	
400  	validation  	Validation error, response should describe the problem/s  	
409  	currency-not-supported  	Provided Currency does not match the authorization currency  	
409  	invalid-amount  	Provided Capture Amount is invalid, likely larger than remaining authorized amount  	
409  	identifier-already-in-use  	Provided Identifier is already in use, probably CaptureTransactionId is not unique  	
409  	invalid-account-usage  	Provided Authorization is invalid for this kind of capture  	
409  	authorization-expired  	Provided Authorization is not open or has already expired  	
409  	unsupported-claim-level  	Account unable to accept new transactions  	
500  	fatal  	Unexpected error, logs may give details about the problem  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
captureId  	string  	  	Identifier of the capture, must be unique for all types of captures within the ledger	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
6. Reversals
6.1 Create Reversal
For reversing a specific capture

POST /ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}/reversals HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "reversalId": "654321",
  "currency": "SEK",
  "amount": 512.00,
  "sellerTransactionId": "753159"
}

Property  	Data type	Format	Required	Description	
reversalId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	Identifier of the reversal, must be unique for all types of captures within the ledger	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
amount  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	Amount to reverse	
receiptReference  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-]{1,}$  	No  	A receipt reference meaningful for the consumer.	
sellerTransactionId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	The sellers identifier of the reversal transaction, usually the receipt reference	

HTTP/1.1 201 CREATED
Content-Type: application/json

{
}

Http status  	Problem type  	Description	
404  	not-found  	Resource missing, may have been created on different ledger or have expired  	
400  	validation  	Validation error, response should describe the problem/s  	
409  	currency-not-supported  	Provided Currency does not match the authorization currency  	
409  	invalid-amount  	Provided Reversal Amount is invalid, likely larger than remaining captured amount  	
409  	identifier-already-in-use  	Provided Identifier is already in use, probably ReversalTransactionId is not unique  	
409  	invalid-account-usage  	Provided Authorization is invalid for this kind of reversal  	
409  	invalid-account-relation  	Provided information relates to different accounts  	
409  	invalid-account-status-exception  	Unsupported account status  	
500  	fatal  	Unexpected error, logs may give details about the problem  	
7. Cancellations
7.1 Create Cancellation
This operation will cancel the specified authorization

POST /ledger/account-transaction/v1/{ownerNo}/authorizations/{authorizationId}/cancellations HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
}

HTTP/1.1 204 NO CONTENT
Content-Type: application/json

{}

Http status  	Problem type  	Description	
404  	missing-pre-authorization  	Resource missing, may have been created on different ledger or have expired  	
409  	invalid-account-usage  	Provided Authorization is invalid for this kind of authorization  	
409  	authorization-expired  	Provided Authorization is not open or has already expired  	
500  	fatal  	Unexpected error, logs may give details about the problem  	
8. Split-authorizations
Get an existing split-authorization. The split - authorization, is used when each product has a separate part payment that should be portioned out according to instruction.
8.1 Get specific Split-authorization

GET /ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId} HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json
Get Split authorization resource. Operations can vary based of state of resource

HTTP/1.1 200 OK
Content-Type: application/json

{
  "authorizationId": 456789,
  "sellerNo": "654321",
  "validToDate": "2026-07-16",
  "authorizationAmount": 3600.00,
  "remainingAmount": 3600.00,
  "currency": "SEK",
  "status": "Open",
  "operations": [
        {
          "rel": "add-capture",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/split-authorizations/456789/captures"
        },
        {
          "rel": "add-cancellation",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/split-authorizations/456789/cancellations"
        }
    ]
}

Http status  	Problem type  	Description	
404  	not-found  	Found no authorization for provided id on this ledger  	
500  	fatal  	Unexpected error, logs may give details about the problem  	
8.2 Create Split-authorization
Create split-authorization to see if the account will accept the transaction.   When accepted reserves the amount to on the underlying account (may include credit check) and creates the authorization instance. The reservation is time limited, captures will only be excepted until the reservation times out. The 'split' authorization, is used when each product has a separate part payment that should be portioned out according to instruction.

POST /ledger/account-transaction/v1/{ownerNo}/split-authorizations HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "preAuthorizationId": "8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "authorizationId": 456789
}

Property  	Data type	Format	Required	Description	
preAuthorizationId  	string  	  	Yes  	Identifier of the existing pre-authorization	
authorizationId  	number  	Type: int64  	Yes  	Identifier of the authorization, must be unique for all types of authorizations within the ledger	
Create Split authorization

HTTP/1.1 201 Created
Content-Type: application/json

{
  "authorizationId": 456789,
  "sellerNo": "654321",
  "validToDate": "2026-07-16",
  "authorizationAmount": 3600.00,
  "remainingAmount": 3600.00,
  "currency": "SEK",
  "status": "Open",
  "@id": "/ledger/account-transaction/v1/xxx/split-authorizations/456789",
  "operations": [
        {
          "rel": "add-capture",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/split-authorizations/456789/captures"
        },
        {
          "rel": "add-cancellation",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/split-authorizations/456789/cancellations"
        }
    ]
}

Http status  	Problem type  	Description	
400  	validation  	occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation  	
409  	credit-check-rejected  	Credit check or extend of credit check was rejected  	
409  	missing-pre-authorization  	Resource missing, may have been created on different ledger or have expired  	
409  	invalid-account-usage  	Provided PreAuthorization is invalid for this kind of authorization  	
409  	invalid-state  	Provided PreAuthorization resource is in a invalid state for this method  	
409  	identifier-already-in-use  	AuthorizationId given is already used, provide a new one and try again  	
500  	fatal  	Unexpected error, logs may give details about the problem  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
authorizationId  	number  	Type: int64
Min: 1  	Identifier of the authorization, must be unique for all types of authorizations within the ledger	
sellerNo  	string  	  	The seller identifier at payex	
validToDate  	string  	  	The split-authorization is valid for captures until this date. Format 'YYYY-MM-DD'	
authorizationAmount  	number  	Type: double  	The original authorized amount	
remainingAmount  	number  	Type: double  	The remaining amount on the split-authorization available for capture	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	  	
status  	string  	�	Open
�	Closed
�	Cancelled	  	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
9. Captures
9.1 Create Capture
Captures part of (or complete) the split-authorization, includes options for part payment  

POST /ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}/captures HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "captureId": "123456",
  "sellerTransactionId": "654789312",
  "currency": "SEK",
  "monthlyBillingAmount": 300,
  "months": 12,
  "totalAmount": 3600.00,
  "productName": "Purchase ref: 233445"
}

Property  	Data type	Format	Required	Description	
captureId  	string  	Pattern: ^[a-zA-Z0-9\-]{1,}$  	Yes  	Identifier of the capture, must be unique for all types of captures within the ledger	
sellerTransactionId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	The sellers identifier of the capture/transaction, usually the receipt reference	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
monthlyBillingAmount  	number  	Type: double
Max: 100000000
Min: 10  	Yes  	The amount the customer should be billed each month for this product, [MonthlyBilledAmount] x [Months] must be equal to or greater than [TotalAmount]. [TotalAmount] divided by [MonthlyBilledAmount] must be in the range between [Months]-1 and [Months]	
months  	number  	Type: int32
Pattern: ^(1|6|12|24|36)$  	Yes  	Number of monthly payments the [TotalAmount] should be split into	
totalAmount  	number  	Type: double
Max: 100000000
Min: 10  	Yes  	The total amount/cost of the product, must be evenly dividable with part payment terms in the account offer	
productName  	string  	  	Yes  	Readable name of the purchase. Presented on the bill to the buyer	
Capture created

HTTP/1.1 201 Created
Content-Type: application/json

{
  "captureId": "123456",
  "operations": [
        {
          "rel": "add-reversal",
          "method": "POST",
          "href": "/ledger/account-transaction/v1/xxx/split-authorizations/123/captures/123456/reversals"
        }
    ]
}

Http status  	Problem type  	Description	
400  	validation  	occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation  	
404  	not-found  	Found no authorization for provided id on this ledger  	
409  	authorization-expired  	ValidToDate on this authorize has expired, see details for more information  	
409  	invalid-amount  	See details to get more information about the error  	
409  	currency-not-supported  	Currency not valid for this Capture, see details for more information  	
409  	identifier-already-in-use  	CaptureId given is already used, provide a new one and try again  	
500  	fatal  	Unexpected error, logs may give details about the problem  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
captureId  	string  	  	Identifier of the capture, must be unique for all types of captures within the ledger	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
10. Cancellations
10.1 Create Cancellation
This operation will cancel the specified split-authorization

POST /ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}/cancellations HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
}

HTTP/1.1 204 NO CONTENT
Content-Type: application/json

{}

Http status  	Problem type  	Description	
404  	not-found  	Found no authorization for provided id on this ledger  	
500  	fatal  	Unexpected error, logs may give details about the problem  	
11. Reversals
11.1 Create Reversal
For reversing a specific capture

POST /ledger/account-transaction/v1/{ownerNo}/split-authorizations/{authorizationId}/captures/{captureId}/reversals HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "reversalId": "abcdefg123",
  "currency": "SEK",
  "amount": 512.00,
  "sellerTransactionId": "123456"
}

Property  	Data type	Format	Required	Description	
reversalId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	Identifier of the reversal, must be unique for all types of captures within the ledger.	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
amount  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	Amount to reverse	
sellerTransactionId  	string  	Pattern: ^[a-zA-Z0-9#_:@.\-åäöÅÄÖ]{1,}$  	Yes  	The sellers identifier of the reversal transaction, usually the receipt reference	

HTTP/1.1 201 CREATED
Content-Type: application/json

{
}

Http status  	Problem type  	Description	
400  	validation  	occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation  	
404  	not-found  	Found no authorization for provided id on this ledger  	
409  	invalid-amount  	See details to get more information about the error  	
409  	currency-not-supported  	Currency not valid for this Reversal, see details for more information  	
409  	identifier-already-in-use  	ReversalId given is already used, provide a new one and try again  	
500  	fatal  	Unexpected error, logs may give details about the problem  	
12. Account-applications
Get an existing   account-application. The account - application, is used when applying for new account.
12.1 Get specific Account-application

GET /ledger/account-transaction/v1/{ownerNo}/account-applications/{accountApplicationId} HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json
Get Account Application

HTTP/1.1 200 OK
Content-Type: application/json

{
  "accountApplicationId": "YYY",
  "redirectUrl": "https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "customer": {
      "nationalConsumerIdentifier": {
          "value": "19101010-1010",
          "countryCode": "SE"
        },
      "email": "a@b.c",
      "msisdn": "46123456",
      "customerNo": "1234"
    },
  "profileName": "myProfileName",
  "creditLimit": 5000.00,
  "currency": "SEK",
  "returnUrl": "https://webconsumerexample.se/consumerweb",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myApp",
      "languageCode": "sv"
    },
  "@id": "/ledger/account-transaction/v1/xxx/account-applications/yyy",
  "operations": []
}
12.2 Create Account-application
Create account-application is used when applying for new account. the application process may include signing and credit check

POST /ledger/account-transaction/v1/{ownerNo}/account-applications HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "accountApplicationId": "YYY",
  "redirectUrl": "https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "customer": {
      "nationalConsumerIdentifier": {
          "value": "19101010-1010",
          "countryCode": "SE"
        },
      "email": "a@b.c",
      "msisdn": "46123456",
      "customerNo": "1234"
    },
  "profileName": "myProfileName",
  "creditLimit": 5000.00,
  "currency": "SEK",
  "returnUrl": "https://webconsumerexample.se/consumerweb",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myApp",
      "languageCode": "sv"
    },
  "@id": "/ledger/account-transaction/v1/xxx/account-applications/yyy",
  "operations": []
}

Property  	Data type	Format	Required	Description	
customer  	object  	    	Yes  	  	
      nationalConsumerIdentifier  	object  	    	Yes  	  	
            value  	string  	  	Yes  	The identifier - SSN, Personnummer, CPR, d-nummer, temporary identification number etc. Uniquely identifies the consumer. Visit developer.payex.com for information about supported national identifier format	
            countryCode  	string  	Pattern: SE|NO|DK|FI  	No  	The country code for the identifier value property, value 'None' is not allowed, [[ISO 3166-1 alpha-2>>https://sv.wikipedia.org/wiki/ISO_3166]]	
      email  	string  	Pattern: ^[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:[^;\xA0\xD0\─@<>\p{Cc}]+\.[^;\xA0\xD0\─@<>\p{Cc}]+|\[[A-Fa-f\d\:]+\])(?<!\.)$  	No  	The customers Email. Only used for creating new customer	
      msisdn  	string  	Pattern: ^[+]{1}\d{4,14}$  	No  	Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+'	
      customerNo  	string  	Pattern: ^[a-zA-Z0-9\-]{1,}$  	Yes  	Provide the customer identifier. If customer does not yet exist in our ledger and ledger is configured to generate new customers CustomerNo then don't set this property. Ledger generated CustomerNo will be set after customer is created	
profileName  	string  	  	Yes  	The profilename of the account to create	
creditLimit  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	The amount of the credit limit on the account applied for, can't have more than 2 decimal places	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
returnUrl  	string  	  	Yes  	Url to return the end user to after process is completed	
redirectOptions  	object  	    	Yes  	  	
      nativeAppSwitchingUrl  	string  	  	No  	Uri pointing to app, used to switch back to app from bankId	
      autostartAction  	string  	  	No  	Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)	
      languageCode  	string  	  	Yes  	Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN)	
Post Account Application

HTTP/1.1 201 Created
Content-Type: application/json

{
  "accountApplicationId": "YYY",
  "redirectUrl": "https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "customer": {
      "nationalConsumerIdentifier": {
          "value": "19101010-1010",
          "countryCode": "SE"
        },
      "email": "a@b.c",
      "msisdn": "46123456",
      "customerNo": "1234"
    },
  "profileName": "myProfileName",
  "creditLimit": 5000.00,
  "currency": "SEK",
  "returnUrl": "https://webconsumerexample.se/consumerweb",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myApp",
      "languageCode": "sv"
    },
  "@id": "/ledger/account-transaction/v1/xxx/account-applications/yyy",
  "operations": []
}

Http status  	Problem type  	Description	
409  	account-already-exist  	Occurs if a account already exists.  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
customer  	object  	    	  	
      nationalConsumerIdentifier  	object  	    	  	
            value  	string  	  	The identifier - SSN, Personnummer, CPR, d-nummer, temporary identification number etc. Uniquely identifies the consumer. Visit developer.payex.com for information about supported national identifier format	
            countryCode  	string  	Pattern: SE|NO|DK|FI  	The country code for the identifier value property, value 'None' is not allowed, [[ISO 3166-1 alpha-2>>https://sv.wikipedia.org/wiki/ISO_3166]]	
      email  	string  	Pattern: ^[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:[^;\xA0\xD0\─@<>\p{Cc}]+\.[^;\xA0\xD0\─@<>\p{Cc}]+|\[[A-Fa-f\d\:]+\])(?<!\.)$  	The customers Email. Only used for creating new customer	
      msisdn  	string  	Pattern: ^[+]{1}\d{4,14}$  	Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+'	
      customerNo  	string  	Pattern: ^[a-zA-Z0-9\-]{1,}$  	Provide the customer identifier. If customer does not yet exist in our ledger and ledger is configured to generate new customers CustomerNo then don't set this property. Ledger generated CustomerNo will be set after customer is created	
profileName  	string  	  	The profilename of the account to create	
creditLimit  	number  	Type: double
Max: 100000000
Min: 0  	The amount of the credit limit on the account applied for, can't have more than 2 decimal places	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	  	
returnUrl  	string  	  	Url to return the end user to after process is completed	
redirectOptions  	object  	    	  	
      nativeAppSwitchingUrl  	string  	  	Uri pointing to app, used to switch back to app from bankId	
      autostartAction  	string  	  	Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)	
      languageCode  	string  	  	Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN)	
accountApplicationId  	string  	  	Unique identifier of the account-application.	
redirectUrl  	string  	  	Web uri pointing to the application flow that the user should be redirected to.	
specialIntent  	string  	  	Special intent for the application, e.g. 'standalone-account-onboarding'.	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
13. Limit-upgrade-applications
Get an existing   limit-upgrade-application. The limit - upgrade - application, is used for upgrading limit on existing credit account.
13.1 Get specific Limit-upgrade-application

GET /ledger/account-transaction/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId} HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json
Get Limit Upgrade Application

HTTP/1.1 200 OK
Content-Type: application/json

{
  "limitUpgradeApplicationId": "YYY",
  "redirectUrl": "https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "accountNo": "12345",
  "customerNo": "54321",
  "creditLimit": 5000.00,
  "currency": "SEK",
  "returnUrl": "https://webconsumerexample.se/consumerweb",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myApp",
      "languageCode": "sv"
    },
  "@id": "/ledger/account-transaction/v1/xxx/limit-upgrade-applications/yyy",
  "operations": []
}
13.2 Create Limit-upgrade-application
Create limit-upgrade-application is used when applying for upgrading limit on existing credit account. The application process may include signing and credit check

POST /ledger/account-transaction/v1/{ownerNo}/limit-upgrade-applications HTTP/1.1
Host: -
Authorization: Bearer<Token>
Content-Type: application/json

{
  "limitUpgradeApplicationId": "YYY",
  "redirectUrl": "https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "accountNo": "12345",
  "customerNo": "54321",
  "creditLimit": 5000.00,
  "currency": "SEK",
  "returnUrl": "https://webconsumerexample.se/consumerweb",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myApp",
      "languageCode": "sv"
    },
  "@id": "/ledger/account-transaction/v1/xxx/limit-upgrade-applications/yyy",
  "operations": []
}

Property  	Data type	Format	Required	Description	
accountNo  	string  	  	Yes  	The identifier of the account	
customerNo  	string  	Pattern: ^[a-zA-Z0-9\-]{1,}$  	Yes  	The identifier of the customer.	
creditLimit  	number  	Type: double
Max: 100000000
Min: 0  	Yes  	The amount of the credit limit on the account applied for, can't have more than 2 decimal places	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	Yes  	  	
returnUrl  	string  	  	Yes  	Url to return the end user to after process is completed	
redirectOptions  	object  	    	Yes  	  	
      nativeAppSwitchingUrl  	string  	  	No  	Uri pointing to app, used to switch back to app from bankId	
      autostartAction  	string  	  	No  	Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)	
      languageCode  	string  	  	Yes  	Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN)	
Post Limit Upgrade Application

HTTP/1.1 201 Created
Content-Type: application/json

{
  "limitUpgradeApplicationId": "YYY",
  "redirectUrl": "https://ledger-apps.payex.com/ledger/public-account-transaction/v1/XXX/pre-authorization/8c535338-d92c-49e7-90bf-304dbf38e0bd",
  "accountNo": "12345",
  "customerNo": "54321",
  "creditLimit": 5000.00,
  "currency": "SEK",
  "returnUrl": "https://webconsumerexample.se/consumerweb",
  "redirectOptions": {
      "nativeAppSwitchingUrl": "myApp",
      "languageCode": "sv"
    },
  "@id": "/ledger/account-transaction/v1/xxx/limit-upgrade-applications/yyy",
  "operations": []
}

Http status  	Problem type  	Description	
404  	account-not-found  	Occurs if the account is not found.  	

Property  	Data type	Format	Description	
@id  	string  	  	Uri identifier of the current resource	
accountNo  	string  	  	The identifier of the account	
customerNo  	string  	Pattern: ^[a-zA-Z0-9\-]{1,}$  	The identifier of the customer.	
creditLimit  	number  	Type: double
Max: 100000000
Min: 0  	The amount of the credit limit on the account applied for, can't have more than 2 decimal places	
currency  	string  	�	SEK
�	NOK
�	DKK
�	EUR	  	
returnUrl  	string  	  	Url to return the end user to after process is completed	
redirectOptions  	object  	    	  	
      nativeAppSwitchingUrl  	string  	  	Uri pointing to app, used to switch back to app from bankId	
      autostartAction  	string  	  	Used to automatically start bankId application. Possible actions (null|se-bankid-this-device)	
      languageCode  	string  	  	Used to set desired language in the authenticate/onboarding web. Possible languageCodes (SV|EN)	
limitUpgradeApplicationId  	string  	  	Unique identifier of the limit-upgrade-application.	
redirectUrl  	string  	  	Web uri pointing to the application flow that the user should be redirected to.	
operations  	array  	  	List of operations that is possible to perform on the current resource, read more about the [[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]]	
Problems
All errors from the api are returned in the form of "problems" (response body), except for the http status code itself.
The problem object contain more detailed info on what the error is. The "type" property can be used to programmatically interpret the error as it contains a code definition of the problem.
Other properties can be useful for logging and subsequent troubleshooting. Some problems are extended with additional parameters so it may be a good idea to log response body as raw data to include these.
Problems of type validation does contain an additional list ("Problems") that describes exactly which parameter that failed the validation
Example

HTTP/1.1 400 Error
Content-Type: application/problem+json

{
    "Type" : "ledger/{domain}/v1/problems/validation",
    "Title" : "A validation error occurred",
    "Status" : 400,
    "Instance" : "215d4206-ca35-4f43-85ad-169c8f6d4ec1",
    "Detail" : "A validation error occurred. Please fix the problems mentioned in the 'problems' property below.",
    "Problems" : 
            {
                "amount" : [ 
                      "Expected value between [0,01]-[79228162514264337593543950335] actual [0]"
                  ]
            }
}