curl --request POST \
--url https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/models/catalog/sync \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dry_run": true,
"model_ids": [
"<string>"
],
"fields": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({dry_run: true, model_ids: ['<string>'], fields: ['<string>']})
};
fetch('https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/models/catalog/sync', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/models/catalog/sync"
payload = {
"dry_run": True,
"model_ids": ["<string>"],
"fields": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"dry_run": true,
"fields": [
"<string>"
],
"summary": {},
"backfilled": [
{}
],
"patched": [
{}
],
"unmatched": [
{}
],
"divergent": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}Align the environment's models with the catalogue
Back-fills catalog_id by name once, then applies the catalogue to the
linked models: recommended metrics, end_of_life, the forced
tool_choice refusal, exclude_params / rename_params (filled only when
empty, else reported as divergent), limits.max_response_tokens. On
every model (field region), clears a stored carbon region that changes
nothing to the footprint — equal to what the provider entry gives (or the
default when it gives none), or unknown — so it follows the provider
again; a region that differs is an override and is kept.
limits.response_tokens is never synced.
Dry-run by default. Requires write access to models.
curl --request POST \
--url https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/models/catalog/sync \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dry_run": true,
"model_ids": [
"<string>"
],
"fields": [
"<string>"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({dry_run: true, model_ids: ['<string>'], fields: ['<string>']})
};
fetch('https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/models/catalog/sync', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{host}/v2/workspaces/slug:llm-gateway/webhooks/v1/models/catalog/sync"
payload = {
"dry_run": True,
"model_ids": ["<string>"],
"fields": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"dry_run": true,
"fields": [
"<string>"
],
"summary": {},
"backfilled": [
{}
],
"patched": [
{}
],
"unmatched": [
{}
],
"divergent": [
{}
]
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}{
"error": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"status": 123,
"retryAfter": 123,
"provider": "<string>",
"model": "<string>",
"provider_error_type": "<string>"
}Authorizations
User-bound credential carrying an identity: either a session JWT
or a user access token (at:*) generated from the user settings UI.
Send as Authorization: Bearer <token>.
Org API keys (iak_*) are not accepted here - they carry
no user identity. Use the x-prismeai-api-key header instead
(see OrgApiKeyAuth).
Was this page helpful?