Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.
Okay, im an API novice, its an area i have actively avoided in powerbi, however my new phone system doesnt have a native connector so api it is, I have tried following ms learn and various tutorials but i cant get this to work
so the information they gave me is an API Key and the below, i'm hoping this makes sense to one of you
The API lives at:
https://extprov.myphones.net/callhistory.aspx
The parameters to the API are formed by clients using querystring parameters. The current (all mandatory) parameters are:
// https://extprov.myphones.net/callhistory.aspx?ctok=v&c=w&ty=t&sd=x&ed=y&fc=c&fd=d
// where:
//
//
// v = client auth token (only caller knows) – maps to internal account id - we provide a guid (string) v must match our list - Your client id:
// w = search (string) w must match "search"
// t = type (Missed, Received, Made, All) (string)
// x = start date for search in format YYYYMMDDHHMMSS - HHMMSS is optional (string) x must be a valid date in the past
// y = end date for search in format YYYYMMDDHHMMSS - HHMMSS is optional (string) y must be a valid date. y - x must be less than 7 days
// c = filter-by calling CLI - partial numbers allowed (option) (string) c must be a CLI or portion of CLI (1st nn digits, n > 6)
// d = filter-by called CLI - partial numbers allowed (option) (string) d must be a CLI or portion of CLI (1st nn digits, n > 6)
//
// • Client must be able to handle TLS negotiation
// • Client issues HTTP GET with the querystring parms
// • Query string needs to be URL encoded by client
//
// • Service will return up to 5000 records per call, so client should be prepared to drive API multiple times
Basic validation rules implemented include:
Outcome | HTTP code |
Invalid ctok | 403 Forbidden |
Parameter fails validation · c must be search · sd / ed must be in the form YYYYMMDD or YYYYMMDDHHMMSS · sd must be past-dated · sd must be older than ed · ed – sd must be < 7 days · ty must be one of missed, received, made, all · fc, if supplied, must be numeric full / partial CLI > 6 digits & < 21 · fd, if supplied, must be numeric full or partial CLI > 6 digits & < 21 | 400 Bad Request |
API usage occurring within core hours | 400 Bad Request |
Service operational issue | 500 Server Error |
and this
function searchCallHistory() {
var targetUrl = "https://extprov.myphones.net/callhistory.aspx?ctok=AA0F9F77-9418-4631-952E-6F59B5FF368B&c=search&ty=...";
$.getJSON(targetUrl, function (data) {
$('#results').html('Last update returned ' + data.myphones.callhistory.length + ' record(s)');
// Print result
updateUI(data);
}).fail(function (jqxhr, textStatus, error) {
alert('Error');
});
}
function updateUI(data) {
// Dump a bunch of stuff to console
console.log(data);
console.log(data.myphones.callhistory.length);
for (var i = 0, len = data.myphones.callhistory.length; i < len; i++) {
console.log(data.myphones.callhistory[i].cg + ' started ringing at ' + data.myphones.callhistory[i].rs);
}
}
Solved! Go to Solution.
That's pretty straightforward - use Web.Contents with a [Query] section
That's pretty straightforward - use Web.Contents with a [Query] section
I assumed it was - 1 week of trial and error later i find out the API was set in test mode by the vendor 10pm-6am only, thanks for your help Ibendlin.
Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!
Check out the October 2025 Power BI update to learn about new features.