Standing Orders
Given a user’s online banking credentials, the Standing Orders Service allows to gather the standing orders of a user’s account.
| The Standing Orders Service is in beta and not yet generally available. |
Issue a service ticket 
Use StandingOrders as a service identifier when issuing tickets.
The service expects the following ticket data:
Issue a service ticket:
-
Python
-
Java
-
Node.js
-
Rust
-
PHP
ticket_id = str(uuid.uuid4())
ticket = issue_ticket(
ticket_id,
"StandingOrders",
{
"account": {
"iban": "NL58YAXI1234567890",
"currency": "EUR",
},
},
)
import tech.yaxi.routex.models.AccountReference;
import tech.yaxi.routex.models.Ticket;
Ticket.StandingOrders ticket = issuer.standingOrders(
new AccountReference("NL58YAXI1234567890", "EUR")
);
let ticketId = uuidv4()
let ticket = issueTicket(
ticketId,
'StandingOrders',
{
account: { iban: 'NL58YAXI1234567890', currency: 'EUR' }
}
)
let ticket_id = Uuid::new_v4().to_string();
let ticket = issue_ticket(
&ticket_id,
"StandingOrders",
json!({
"account": {
"iban": "NL58YAXI1234567890",
"currency": "EUR",
},
}),
)?;
$ticketId = uniqid();
$ticket = issueTicket(
$ticketId,
'StandingOrders',
json_encode([
'account' => [
'iban' => 'NL58YAXI1234567890',
'currency' => 'EUR',
],
])
);
Call the service 
The service does not support any specific client arguments.
Call the service:
-
JavaScript
-
Kotlin
-
Java
-
Rust
-
C++
-
Lua
await client.standingOrders({
credentials,
ticket,
})
client.standingOrders(ticket, credentials)
client.standingOrders(ticket, credentials);
client.standing_orders(
credentials,
ticket,
).send().await?;
client.standingOrders(
credentials,
ticket
);
client:standingOrders({
credentials = credentials,
ticket = standingOrdersTicket,
})
Result

Process the resulting standing orders in the frontend or forward them to your backend system that can verify their authenticity.
The resulting JWT contains the following data:
ISO 20022 external code sets are available at https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets.
Example result:
-
Result JWT
-
Decoded JWT header
-
Decoded JWT payload
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6ImFwaS1rZXktMjE0YWQ 2MDEtZmFlNS00NWY4LTllNDItYTFiNTdkNTA0MTRjIn0.eyJkYXRhIjp7ImRhdG EiOlt7InN0YXJ0RGF0ZSI6IjIwMjQtMDEtMDEiLCJleGVjdXRpb25SdWxlIjoiR m9sbG93aW5nIiwiZnJlcXVlbmN5Ijp7Im1vbnRocyI6MX0sImRheSI6MSwiYW1v dW50Ijp7ImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoiNzUwLjAwIn0sImNyZWR pdG9yIjp7Im5hbWUiOiJMYW5kbG9yZCBMdGQuIiwiaWJhbiI6Ik5MMzFZQVhJMT IzNDU2Nzg5MSJ9LCJyZW1pdHRhbmNlSW5mb3JtYXRpb24iOlsiUmVudCJdfSx7I nN0YXJ0RGF0ZSI6IjIwMjQtMDEtMTUiLCJleGVjdXRpb25SdWxlIjoiUHJlY2Vk aW5nIiwiZnJlcXVlbmN5Ijp7InZhcmlhYmxlTW9udGhzIjpbMSw0LDcsMTBdfSw iZGF5IjoxNSwiYW1vdW50Ijp7ImN1cnJlbmN5IjoiRVVSIiwiYW1vdW50IjoiNT UuMDgifSwiY3JlZGl0b3IiOnsibmFtZSI6IkJyb2FkY2FzdGluZyBGZWVzIiwia WJhbiI6Ik5MODdZQVhJMTIzNDU2Nzg5MiJ9LCJyZW1pdHRhbmNlSW5mb3JtYXRp b24iOlsiQ29udHJpYnV0aW9uIDEyMzQ1Njc4OSJdfV0sInRpY2tldElkIjoiODE 0MmRhMzgtM2MzYS00ZTNiLWFkOWEtMjk5ZDU2MWY2MzI5IiwidGltZXN0YW1wIj oiMjAyNS0wNi0wMVQxMTowMToyNi43NzI1OTYyMzFaIn0sImV4cCI6MjU0MDgwO DAwMH0.NxMOPR22iO9humABxk1RLyP3Q_W1BSoyIvAo4R2DPl4
{
"typ": "JWT",
"alg": "HS256",
"kid": "api-key-214ad601-fae5-45f8-9e42-a1b57d50414c"
}
{
"data": {
"data": [
{
"startDate": "2024-01-01",
"executionRule": "Following",
"frequency": {
"months": 1
},
"day": 1,
"amount": {
"currency": "EUR",
"amount": "750.00"
},
"creditor": {
"name": "Landlord Ltd.",
"iban": "NL31YAXI1234567891"
},
"remittanceInformation": [
"Rent"
]
},
{
"startDate": "2024-01-15",
"executionRule": "Preceding",
"frequency": {
"variableMonths": [
1,
4,
7,
10
]
},
"day": 15,
"amount": {
"currency": "EUR",
"amount": "55.08"
},
"creditor": {
"name": "Broadcasting Fees",
"iban": "NL87YAXI1234567892"
},
"remittanceInformation": [
"Contribution 123456789"
]
}
],
"ticketId": "8142da38-3c3a-4e3b-ad9a-299d561f6329",
"timestamp": "2025-06-01T11:01:26.772596231Z"
},
"exp": 2540808000
}