XLConnect comes 'batteries included' with authentication to cloud systems built in, so you can get straight to the business logic.
When making HTTP calls, the final parameter is auth to indicate the cloud system you want to authenticate to.
Below is a simple example of a direct http call, please note that these cloud systems also have a javascript module with helper methods.
http = require('http.js')
// grab data from the xero api
uri = 'https://api.xero.com/connections'
auth = 'xero'
http.get(uri, null, auth)
// or shorthand
http.get('https://api.xero.com/connections', null, 'xero')
This is a second variant of Visma Client Credentials (Service) application Type, that allows the code to switch between tenants under an app registration (the one above is fixed to a single tenant at login).
Select your organisation in the top right corner and click 'Use Invitation Code'
Repeat steps 3 and 5 to add all required tenants are added under the Application.
To connect to a certain tenant:
When pulling data for the first time, XLConnect will ask for the Client Secret and Scopes that will be stored securely. After that the code can switch between tenants to connect to all the different tenants under that Application Registration.
// auth for vismacc has three arguments: protocol, clientId and tenantId
clientId = 'isv_***' // enter the Client ID for your application from the Developer Porttal
tenantId = 'a0b1100c-4a02-11ed-98d8-06a0b4eada6b' // can be found in Developer Portal > Integration > Customers
auth = `vismacc.multi:${clientId}:${tenantId}`
//for example
auth = 'vismacc.multi:isv_my_private_app:a0b1100c-4a02-11ed-98d8-06a0b4eada6b'
http = require('http.js')
base = 'https://eaccountingapi.vismaonline.com/'
uri = base + 'v2/accountbalances/2025-09-01'
auth = 'eaccounting'
http.get(uri, null, auth)