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.
![]()
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:
| Endpoint | Supported HTTP Methods |
|---|---|
/payments/own-credit-transfers | POST |
![]()
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-transfersThis 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"
}
]
}
}