Ask whether your Bearer token may invoke this Model API
Confirm that the caller in Authorization: Bearer may invoke this Model API.
Use this from the Classic Model API sidecar (or any headless client) before
forwarding an inference request. A successful check is HTTP 200 with an empty
body. There is no JSON canInvoke field and no login or OAuth redirect.
This is a beta route behind an install-wide identity-invocation flag. When that flag is off, this endpoint rejects the request. Legacy Model Access Tokens stay on the sidecar local allowlist and do not use this route.
Public visibility allows every authenticated Domino user to invoke. Discoverable and Private require an assigned Owner, Editor, or Viewer. Discoverable alone does not grant invoke. Public still requires a valid Domino identity; callers are never anonymous.
Related:
- GET /api/modelServing/v1/modelApis/ (read Model API metadata)
- GET /api/modelServing/beta/modelApis//visibility (read visibility)
- GET /api/modelServing/beta/modelApis//collaborators (list assigned roles)
curl --request GET \
--url https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access \
--header 'X-Domino-Api-Key: <api-key>'import requests
url = "https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access"
headers = {"X-Domino-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Domino-Api-Key': '<api-key>'}};
fetch('https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access', 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://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access",
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-Domino-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://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Domino-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://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access")
.header("X-Domino-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyAuthorizations
Path Parameters
Model API id (24-character hex). Copy id from GET /api/modelServing/v1/modelApis
or from the Model API details URL. The sidecar uses the same id in
/api/modelServing/beta/modelApis/{modelApiId}/consumer/access.
Response
You may invoke this Model API. The body is empty; treat the status code as the answer. Cache-Control max-age is the sidecar cache TTL (default 300 seconds).
Was this page helpful?
curl --request GET \
--url https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access \
--header 'X-Domino-Api-Key: <api-key>'import requests
url = "https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access"
headers = {"X-Domino-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Domino-Api-Key': '<api-key>'}};
fetch('https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access', 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://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access",
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-Domino-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://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Domino-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://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access")
.header("X-Domino-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://mycluster.domino.tech/api/modelServing/beta/modelApis/{modelApiId}/consumer/access")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Domino-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body