In this video, we explore how you can identify and use a REST API inside Dundas BI to perform application functions without stepping foot in the application
NOTE:
Things have changed a little bit since this was posted and the script will require a slight modification. Specifically, it is now required to properly set the content type to application/json. Here is a full modified script.
$body = @{
"accountName"="YOURACCOUNT"
"password"="YOURPASSWORD"
"cultureName"="en-us"
"deleteOtherSessions"="false"
"isWindowsLogOn"="false"
} | ConvertTo-Json
#view body (for testing)
$body
$response = Invoke-WebRequest -UseBasicParsing -Uri 'https://YOURSERVERADDRESS/Api/LogOn' -ContentType application/json -Method 'POST' -Body $body
#check response
$response
#
#StatusCode : 200
#StatusDescription : OK
#Content : {"sessionId":"80247c55-4268-4366-ab70-#19abcdc1153a","logOnFailureReason":"None","message":"Successful"}
#RawContent : HTTP/1.1 200 OK
# Pragma: no-cache
# Content-Length: 103
# Cache-Control: no-cache
# Content-Type: application/json; charset=utf-8
# Date: Fri, 26 Mar 2021 17:39:10 GMT
# Expires: -1
#
# {"sessionId":"80247c...
#Forms :
#Headers : {[Pragma, no-cache], [Content-Length, 103], [Cache-Control, no-cache],
[Content-#Type, application/json; charset=utf-8]...}
#Images : {}
#InputFields : {}
#Links : {}
#ParsedHtml :
#RawContentLength : 103
#
$sessionId = $response |ConvertFrom-Json | Select sessionId
$sesh = $sessionId.sessionId
$uri = 'https://YOURSERVERADDRESS/API/DataCub... + $sesh
$body = @{a='a'} | ConvertTo-Json
$response2 = Invoke-WebRequest -UseBasicParsing -Uri $uri -ContentType application/json -Method Post -Body $body
#check response2, it should be something like this if I worked.
#StatusCode : 200
#StatusDescription : OK
#Content : {}
#RawContent : HTTP/1.1 200 OK
# Pragma: no-cache
# Content-Length: 0
# Cache-Control: no-cache
# Date: Fri, 26 Mar 2021 17:49:22 GMT
# Expires: -1
#
#
#Headers : {[Pragma, no-cache], [Content-Length, 0], [Cache-Control, no-cache],
[Date, Fri, 26 #Mar 2021 17:49:22 GMT]...}
#RawContentLength : 0
#
About the Author
![]()
Jeff Hainsworth is a Senior Solutions Architect at Dundas Data Visualization with over a decade and a half of experience in Business Intelligence. He has a passion for building, coding and everything visual – you know, shiny things! Check out "Off the Charts... with Jeff", his platform for great content on all things analytics, data visualizations, dashboards, and business intelligence. There’s something for everyone!