Get the API contract
curl --request GET \
--url https://model-demand-analytics.vercel.app/api/v1/aboutimport requests
url = "https://model-demand-analytics.vercel.app/api/v1/about"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://model-demand-analytics.vercel.app/api/v1/about', 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://model-demand-analytics.vercel.app/api/v1/about",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://model-demand-analytics.vercel.app/api/v1/about"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://model-demand-analytics.vercel.app/api/v1/about")
.asString();require 'uri'
require 'net/http'
url = URI("https://model-demand-analytics.vercel.app/api/v1/about")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"schema_version": "model-demand.agent-about.v1",
"api_schema_version": "model-demand.agent-api.v1",
"documentation_version": "<string>",
"routes": [
{
"method": "GET",
"path": "/api/v1/about",
"description": "<string>"
}
],
"query_parameters": [
{
"name": "model_id",
"type": "string",
"required": true,
"default": "<string>",
"allowed_values": [
"<string>"
],
"description": "<string>"
}
],
"field_definitions": [
{
"path": "<string>",
"type": "string",
"unit": "<string>",
"nullable": true,
"description": "<string>"
}
],
"availability_states": [
{
"state": "available",
"meaning": "<string>"
}
],
"sources": [
{
"name": "<string>",
"url": "<string>",
"terms_url": "<string>",
"license": "<string>",
"limit_note": "<string>"
}
],
"supply": {
"launch_state": "not_collected",
"states": [
"not_collected"
],
"description": "<string>"
},
"links": {
"documentation": "<string>",
"openapi": "<string>",
"full_export": "<string>"
},
"agent_instructions": [
"<string>"
]
}Endpoints
Get the API contract
Read field definitions, source limits, availability states, and agent instructions.
GET
/
api
/
v1
/
about
Get the API contract
curl --request GET \
--url https://model-demand-analytics.vercel.app/api/v1/aboutimport requests
url = "https://model-demand-analytics.vercel.app/api/v1/about"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://model-demand-analytics.vercel.app/api/v1/about', 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://model-demand-analytics.vercel.app/api/v1/about",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://model-demand-analytics.vercel.app/api/v1/about"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://model-demand-analytics.vercel.app/api/v1/about")
.asString();require 'uri'
require 'net/http'
url = URI("https://model-demand-analytics.vercel.app/api/v1/about")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"schema_version": "model-demand.agent-about.v1",
"api_schema_version": "model-demand.agent-api.v1",
"documentation_version": "<string>",
"routes": [
{
"method": "GET",
"path": "/api/v1/about",
"description": "<string>"
}
],
"query_parameters": [
{
"name": "model_id",
"type": "string",
"required": true,
"default": "<string>",
"allowed_values": [
"<string>"
],
"description": "<string>"
}
],
"field_definitions": [
{
"path": "<string>",
"type": "string",
"unit": "<string>",
"nullable": true,
"description": "<string>"
}
],
"availability_states": [
{
"state": "available",
"meaning": "<string>"
}
],
"sources": [
{
"name": "<string>",
"url": "<string>",
"terms_url": "<string>",
"license": "<string>",
"limit_note": "<string>"
}
],
"supply": {
"launch_state": "not_collected",
"states": [
"not_collected"
],
"description": "<string>"
},
"links": {
"documentation": "<string>",
"openapi": "<string>",
"full_export": "<string>"
},
"agent_instructions": [
"<string>"
]
}Read this endpoint before querying model records. It returns the static contract without loading model data.
The field glossary uses these same definitions. Check each model response for its own generation time, data window, and freshness.
Response
200 - application/json
The static API contract.
Allowed value:
"model-demand.agent-about.v1"Allowed value:
"model-demand.agent-api.v1"Minimum string length:
1Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Minimum array length:
1Minimum string length:
1