PIS API specific documentation Own account transfers

Changes from the previous version

This is the change log of the PIS API (own transfers), allowing PSD2-regulated TPPs to initiate own transfers on behalf of the PSU. The top most item is the latest change and the API changes described in it are relative to the version directly below.

Note: The request model for own transfers is the same as for domestic payments and therefore has to follow the same (service) version number

Version 6.1

New version

Overview

The PIS API for own transfers can be used to initiate account transfers for the same legal entity, i.e. the (co-)owner of both accounts has to be the same.

This API reuses the same request model as domestic payments, which is also why the version number follow domestic payments, but does come with a set of deviations as these payments are for internal, account to account transfers only:

  • no GIRO payments
  • no reference information

Note: If the debtor and creditor account are not related to the same legal entity, the payment will not be accepted.

sandbox only

In Sandbox: Note that sandbox accepts all creditor account numbers, i.e. we do not check the legal entity.

API endpoints

The PIS API contains the following endpoints:

EndpointSupported HTTP Methods
/payments/own-credit-transfersPOST

sandbox only

In Sandbox: Note that the `payment_status` of a payment will be automatically updated after some time from Pending to Confirmed to Paid. 

PIS API scenarios

The same scenarios as for domestic payments apply.

PIS API own transfer examples

This example shows how to initiate a new own transfer.

This endpoint URL has the following form

https://api.nordeaopenbanking.com/personal/v6/payments/own-credit-transfers

This endpoint supports POST HTTP Method only.

Here is an example request:

$ curl 'https://api.nordeaopenbanking.com/personal/v6/payments/own-credit-transfers' -i -X POST \
    -H 'X-Nordea-Originating-Host: <host>' \
    -H 'X-Nordea-Originating-Date: <now>' \
    -H 'Authorization: Bearer <access_token>' \
    -H 'digest: <generated_digest>' \     
    -H 'signature: keyId=\"<your_clientapp_keyid>\",algorithm=\"rsa-sha256\",headers=\"(request-target) x-nordea-originating-host x-nordea-originating-date\",signature="<generated_signature>"' \
    -H 'X-IBM-Client-Id: <your_client_id>' \
    -H 'X-IBM-Client-Secret: <your_client_secret>'
    -H 'Content-Type: application/json' \
    -d '{
    "instructed_amount": {
        "amount": "0.05",
        "currency": "DKK"
    },
    "creditor": {
        "account": {
            "_type": "BBAN_DK",
            "currency": "DKK",
            "value": "20301544117544"
        },
        "message": "creditor message",
        "name": "Beneficiary name"
    },
    "currency": "DKK",
    "debtor": {
        "account": {
            "_type": "BBAN_DK",
            "currency": "DKK",
            "value": "20301544118028"
        },
        "message": "Message for debtor"
    },
    "external_id": "some id",
    "urgency": "standard"
}'

And the response looks like this:

{
    "group_header": {
        "message_identification": "63fffa981364b56dce671b8cd667d048",
        "creation_date_time": "2026-08-02T05:37:50.812009023Z",
        "http_code": 201
    },
    "response": {
        "_id": "8a371687-a31c-48b6-81f4-b014d27debba",
        "external_id": "some id",
        "entry_date_time": "2026-08-02T05:37:50.811638869Z",
        "debtor": {
            "account": {
                "currency": "DKK",
                "value": "20301544118028",
                "_type": "BBAN_DK"
            },
            "message": "Message for debtor"
        },
        "creditor": {
            "account": {
                "currency": "DKK",
                "value": "20301544117544",
                "_type": "BBAN_DK"
            },
            "message": "creditor message"
        },
        "instructed_amount": {
            "amount": "0.05",
            "currency": "DKK"
        },
        "payment_status": "Paid",
        "urgency": "standard",
        "requested_execution_date": "2026-08-02",
        "planned_execution_date": "2026-08-02",
        "tpp_messages": [],
        "_links": [
            {
                "rel": "self",
                "href": "/v6/payments/8a371687-a31c-48b6-81f4-b014d27debba"
            }
        ]
    }
}