Cached GPU availability with single-flight refresh
curl --request GET \
--url https://api.veri.studio/v1/gpu/availability/cached \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veri.studio/v1/gpu/availability/cached"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veri.studio/v1/gpu/availability/cached', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "<string>",
"refreshed": true,
"refreshing": true,
"availability": [
{
"provider": "<string>",
"gpu_type": "<string>",
"region": "<string>",
"gpu_count": 1,
"status": "<string>",
"available": 1,
"spot_score": 123,
"price_per_hr": 123,
"detail": "<string>"
}
],
"checked_at": "2023-11-07T05:31:56Z",
"age_seconds": 123
}Authorizations
API key with the vk_ prefix. Create one from the dashboard.
Query Parameters
"aws" | "vast" | "digitalocean". Absent = every probeable provider we can reach.
GPU-type filter (e.g. "H100", "A100-80GB", "MI300X-192GB"). Absent = all.
Region filter. AWS: a real region. Vast: "vast-market". DigitalOcean: a DO region slug (e.g. "tor1").
Response
Availability snapshot with probe timestamp; at most one live probe runs at a time
True when THIS request ran the probe (cache was stale and the lock was free). False = served from cache.
True when another request's probe is in flight; the rows below are the previous snapshot. Poll again in a few seconds for the fresh one.
Show child attributes
Show child attributes
When the returned rows were probed. Null only when no snapshot exists yet AND a refresh is already in flight (retry shortly).
Seconds since checked_at (server clock), for staleness at a glance.
curl --request GET \
--url https://api.veri.studio/v1/gpu/availability/cached \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veri.studio/v1/gpu/availability/cached"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veri.studio/v1/gpu/availability/cached', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "<string>",
"refreshed": true,
"refreshing": true,
"availability": [
{
"provider": "<string>",
"gpu_type": "<string>",
"region": "<string>",
"gpu_count": 1,
"status": "<string>",
"available": 1,
"spot_score": 123,
"price_per_hr": 123,
"detail": "<string>"
}
],
"checked_at": "2023-11-07T05:31:56Z",
"age_seconds": 123
}
