System Information
Get system information and supported configuration values
curl --request GET \
--url https://sdp.suki.ai/api/v1/info \
--header 'sdp_suki_token: <sdp_suki_token>' \
--header 'sdp_provider_id: <sdp_provider_id>'import requests
url = "https://sdp.suki.ai/api/v1/info"
headers = {"sdp_suki_token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {sdp_suki_token: '<api-key>'}};
fetch('https://sdp.suki.ai/api/v1/info', 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://sdp.suki.ai/api/v1/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"sdp_suki_token: <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://sdp.suki.ai/api/v1/info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("sdp_suki_token", "<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://sdp.suki.ai/api/v1/info")
.header("sdp_suki_token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sdp.suki.ai/api/v1/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["sdp_suki_token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"diagnosis_code_types": [
{
"code_type": "ICD10"
}
],
"encounter_types": [
{
"code": "AMBULATORY"
}
],
"loincs": [
{
"code": "10164-2",
"common_name": "History of Present Illness"
}
],
"medication_coding_systems": [
{
"code": "RXCUI"
}
],
"medication_dosage_units": [
{
"code": "TAB"
}
],
"medication_frequency_types": [
{
"code": "ONE_A_DAY"
}
],
"medication_order_statuses": [
{
"code": "ACTIVE"
}
],
"medication_timings": [
{
"code": "WITH_MEALS"
}
],
"order_encounter_relations": [
{
"code": "CURRENT_ENCOUNTER"
}
],
"order_origins": [
{
"code": "SUKI_AMBIENT"
}
],
"provider_roles": [
{
"code": "ATTENDING"
}
],
"specialties": [
{
"code": "CARDIOLOGY"
}
],
"visit_types": [
{
"code": "ESTABLISHED_PATIENT"
}
],
"structured_data_field_types": [
{
"type": "text",
"description": "Free-text field; value is a string"
}
]
}{
"code": 400,
"message": "invalid request"
}{
"code": 401,
"message": "invalid token"
}{
"code": 403,
"message": "forbidden"
}structured_data_field_types).
You can also fetch each category with dedicated GET /api/v1/info/... routes listed under Info in the API reference.
Code examples
- Python
- TypeScript
import requests
url = "https://sdp.suki-stage.com/api/v1/info"
headers = {
"sdp_suki_token": "<sdp_suki_token>",
"sdp_provider_id": "<sdp_provider_id>"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
info = response.json()
print("System Information:")
print(f"LOINCs: {len(info.get('loincs', []))} codes")
print(f"Specialties: {len(info.get('specialties', []))} specialties")
print(f"Encounter Types: {len(info.get('encounter_types', []))} types")
print(f"Visit Types: {len(info.get('visit_types', []))} types")
print(f"Provider Roles: {len(info.get('provider_roles', []))} roles")
print(f"Diagnosis Code Types: {len(info.get('diagnosis_code_types', []))} types")
print(f"Medication coding systems: {len(info.get('medication_coding_systems', []))}")
print(f"Medication dosage units: {len(info.get('medication_dosage_units', []))}")
print(f"Medication frequency types: {len(info.get('medication_frequency_types', []))}")
print(f"Medication timings: {len(info.get('medication_timings', []))}")
print(f"Medication order statuses: {len(info.get('medication_order_statuses', []))}")
print(f"Order encounter relations: {len(info.get('order_encounter_relations', []))}")
print(f"Order origins: {len(info.get('order_origins', []))}")
else:
print(f"Failed to get system information: {response.status_code}")
print(response.json())
const response = await fetch('https://sdp.suki-stage.com/api/v1/info', {
headers: {
'sdp_suki_token': '<sdp_suki_token>',
'sdp_provider_id': '<sdp_provider_id>'
}
});
if (response.ok) {
const info = await response.json();
console.log('System Information:');
console.log(`LOINCs: ${info.loincs?.length || 0} codes`);
console.log(`Specialties: ${info.specialties?.length || 0} specialties`);
console.log(`Encounter Types: ${info.encounter_types?.length || 0} types`);
console.log(`Visit Types: ${info.visit_types?.length || 0} types`);
console.log(`Provider Roles: ${info.provider_roles?.length || 0} roles`);
console.log(`Diagnosis Code Types: ${info.diagnosis_code_types?.length || 0} types`);
console.log(`Medication coding systems: ${info.medication_coding_systems?.length ?? 0}`);
console.log(`Medication dosage units: ${info.medication_dosage_units?.length ?? 0}`);
console.log(`Medication frequency types: ${info.medication_frequency_types?.length ?? 0}`);
console.log(`Medication timings: ${info.medication_timings?.length ?? 0}`);
console.log(`Medication order statuses: ${info.medication_order_statuses?.length ?? 0}`);
console.log(`Order encounter relations: ${info.order_encounter_relations?.length ?? 0}`);
console.log(`Order origins: ${info.order_origins?.length ?? 0}`);
} else {
const error = await response.json();
console.error(`Failed to get system information: ${response.status}`, error);
}
Authorizations
Suki access token (suki_token) from Login or Register. Expires after one hour.
Headers
Optional for standard partners.
Required for:
- Bearer authentication. Use the same
provider_idreturned by the Login or Register API. - Single Auth Token authentication. Include the same
provider_idon every request assdp_provider_id.
"provider-123"
Response
Request succeeded.
Response body for the /info endpoints with flexible data based on category
Information about supported diagnosis code types
Show child attributes
Show child attributes
Information about supported encounter types
Show child attributes
Show child attributes
Information about supported section codes
Show child attributes
Show child attributes
Information about supported medication coding systems
Show child attributes
Show child attributes
Information about supported medication dosage units
Show child attributes
Show child attributes
Information about supported medication frequency types
Show child attributes
Show child attributes
Information about supported medication order statuses
Show child attributes
Show child attributes
Information about supported medication timings
Show child attributes
Show child attributes
Information about supported order encounter relations
Show child attributes
Show child attributes
Information about supported order origins
Show child attributes
Show child attributes
Information about supported provider roles
Show child attributes
Show child attributes
Information about supported specialties
Show child attributes
Show child attributes
Information about supported visit types
Show child attributes
Show child attributes
Supported field types for Embedded Form templates
Show child attributes
Show child attributes
Was this page helpful?
curl --request GET \
--url https://sdp.suki.ai/api/v1/info \
--header 'sdp_suki_token: <sdp_suki_token>' \
--header 'sdp_provider_id: <sdp_provider_id>'import requests
url = "https://sdp.suki.ai/api/v1/info"
headers = {"sdp_suki_token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {sdp_suki_token: '<api-key>'}};
fetch('https://sdp.suki.ai/api/v1/info', 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://sdp.suki.ai/api/v1/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"sdp_suki_token: <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://sdp.suki.ai/api/v1/info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("sdp_suki_token", "<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://sdp.suki.ai/api/v1/info")
.header("sdp_suki_token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sdp.suki.ai/api/v1/info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["sdp_suki_token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"diagnosis_code_types": [
{
"code_type": "ICD10"
}
],
"encounter_types": [
{
"code": "AMBULATORY"
}
],
"loincs": [
{
"code": "10164-2",
"common_name": "History of Present Illness"
}
],
"medication_coding_systems": [
{
"code": "RXCUI"
}
],
"medication_dosage_units": [
{
"code": "TAB"
}
],
"medication_frequency_types": [
{
"code": "ONE_A_DAY"
}
],
"medication_order_statuses": [
{
"code": "ACTIVE"
}
],
"medication_timings": [
{
"code": "WITH_MEALS"
}
],
"order_encounter_relations": [
{
"code": "CURRENT_ENCOUNTER"
}
],
"order_origins": [
{
"code": "SUKI_AMBIENT"
}
],
"provider_roles": [
{
"code": "ATTENDING"
}
],
"specialties": [
{
"code": "CARDIOLOGY"
}
],
"visit_types": [
{
"code": "ESTABLISHED_PATIENT"
}
],
"structured_data_field_types": [
{
"type": "text",
"description": "Free-text field; value is a string"
}
]
}{
"code": 400,
"message": "invalid request"
}{
"code": 401,
"message": "invalid token"
}{
"code": 403,
"message": "forbidden"
}