Introspect Resources
curl --request GET \
--url https://api.us.junction.com/v2/introspect/resources \
--header 'x-vital-api-key: <api-key>'import requests
url = "https://api.us.junction.com/v2/introspect/resources"
headers = {"x-vital-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-vital-api-key': '<api-key>'}};
fetch('https://api.us.junction.com/v2/introspect/resources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.us.junction.com/v2/introspect/resources",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-vital-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.us.junction.com/v2/introspect/resources"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-vital-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.us.junction.com/v2/introspect/resources")
.header("x-vital-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.junction.com/v2/introspect/resources")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-vital-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"provider": {
"fitbit": {
"activity": {
"last_attempt": {
"status": "success",
"timestamp": "2023-10-24T13:13:27+00:00"
},
"newest_data": "2023-10-24T00:00:00+00:00",
"oldest_data": "2023-06-21T00:00:00+00:00",
"sent_count": 231
}
}
},
"user_id": ""
}
]
}{
"detail": "<unknown>"
}Debugging
Get user resources
List available data resources for the authenticated user, showing which providers and data types are accessible.
GET
/
v2
/
introspect
/
resources
Introspect Resources
curl --request GET \
--url https://api.us.junction.com/v2/introspect/resources \
--header 'x-vital-api-key: <api-key>'import requests
url = "https://api.us.junction.com/v2/introspect/resources"
headers = {"x-vital-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-vital-api-key': '<api-key>'}};
fetch('https://api.us.junction.com/v2/introspect/resources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.us.junction.com/v2/introspect/resources",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-vital-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.us.junction.com/v2/introspect/resources"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-vital-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.us.junction.com/v2/introspect/resources")
.header("x-vital-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.us.junction.com/v2/introspect/resources")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-vital-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"provider": {
"fitbit": {
"activity": {
"last_attempt": {
"status": "success",
"timestamp": "2023-10-24T13:13:27+00:00"
},
"newest_data": "2023-10-24T00:00:00+00:00",
"oldest_data": "2023-06-21T00:00:00+00:00",
"sent_count": 231
}
}
},
"user_id": ""
}
]
}{
"detail": "<unknown>"
}Overview
Diagnose user data unavailability through the User Resources Introspection API. This API offers detailed insights into all provider connections and collected resources of all users in your team, empowering you to perform an initial diagnosis of any user connection issue with ease.Please note that
user_limit is an upper bound and the endpoint can return data for fewer users.
This would be the case if any of the top selected users had no available resource information.Authorizations
Vital Team API Key
Query Parameters
Filter by user ID.
ℹ️ This enum is non-exhaustive.
Available options:
oura, fitbit, garmin, whoop, strava, renpho, peloton, wahoo, zwift, freestyle_libre, abbott_libreview, tandem_source, freestyle_libre_ble, eight_sleep, withings, apple_health_kit, manual, ihealth, google_fit, beurer_api, beurer_ble, omron, omron_ble, onetouch_ble, accuchek_ble, contour_ble, dexcom, dexcom_v3, hammerhead, my_fitness_pal, health_connect, samsung_health, polar, cronometer, kardia, whoop_v2, ultrahuman, my_fitness_pal_v2, map_my_fitness, runkeeper, google_health The cursor for fetching the next page, or null to fetch the first page.
Was this page helpful?