curl --request POST \
--url https://api.aireserve.com/v1/admin/set_model_governance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"clientId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modelSelectionLocked": true,
"blockedModelIds": [
"<string>"
],
"blockedModelMakers": [
"<string>"
]
}
'import requests
url = "https://api.aireserve.com/v1/admin/set_model_governance"
payload = {
"clientId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modelSelectionLocked": True,
"blockedModelIds": ["<string>"],
"blockedModelMakers": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
clientId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
modelSelectionLocked: true,
blockedModelIds: ['<string>'],
blockedModelMakers: ['<string>']
})
};
fetch('https://api.aireserve.com/v1/admin/set_model_governance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "executed",
"ok": true,
"summary": "<string>",
"message": "<string>",
"data": "<unknown>",
"secret": "<string>",
"sensitive": true
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"error": "<string>",
"error_description": "<string>"
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"status": "executed",
"ok": true,
"summary": "<string>",
"message": "<string>",
"data": "<unknown>",
"secret": "<string>",
"sensitive": true
}{
"error": "<string>",
"error_description": "<string>"
}Lock model selection and/or replace the org's blocked-model list or blocked-maker list (admins)
Lock model selection and/or replace the org’s blocked-model list or blocked-maker list (admins). Runs as the token’s owner within their role; the portal’s own authorization and audit log apply.
curl --request POST \
--url https://api.aireserve.com/v1/admin/set_model_governance \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"clientId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modelSelectionLocked": true,
"blockedModelIds": [
"<string>"
],
"blockedModelMakers": [
"<string>"
]
}
'import requests
url = "https://api.aireserve.com/v1/admin/set_model_governance"
payload = {
"clientId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modelSelectionLocked": True,
"blockedModelIds": ["<string>"],
"blockedModelMakers": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
clientId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
modelSelectionLocked: true,
blockedModelIds: ['<string>'],
blockedModelMakers: ['<string>']
})
};
fetch('https://api.aireserve.com/v1/admin/set_model_governance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "executed",
"ok": true,
"summary": "<string>",
"message": "<string>",
"data": "<unknown>",
"secret": "<string>",
"sensitive": true
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"error": "<string>",
"error_description": "<string>"
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"status": "refused",
"code": "unknown_op",
"error": "<string>"
}{
"status": "executed",
"ok": true,
"summary": "<string>",
"message": "<string>",
"data": "<unknown>",
"secret": "<string>",
"sensitive": true
}{
"error": "<string>",
"error_description": "<string>"
}Authorizations
A management token: minted by the OAuth flow (aireserve login, or an MCP client's Authenticate step) or on the portal Keys page under Management Keys. Inference API keys are refused.
Body
Target organization id — platform admins only; omit otherwise
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Force every member onto the organization default model
FULL replacement blocklist of chat model ids; [] clears it
100FULL replacement list of blocked model makers (every current and future model of theirs); one of: Anthropic, OpenAI, Google, xAI, ElevenLabs, Perplexity, Amazon, Meta, NVIDIA, Mistral, DeepSeek, Alibaba, Moonshot, Z.ai, MiniMax, ByteDance, Xiaomi, Fireworks AI (Kimi K3 derivative); [] clears it
18Response
Executed successfully (ok: true).
executed Whether the operation succeeded.
The consent line describing what was done, built from resolved labels.
Human-readable result line.
Operation payload (reads) or detail worth relaying (writes).
A one-time secret the operation minted (API key, credential). Shown once; store it now.
Present exactly when secret is: redact this response from logs.
true