Rotate model endpoint
Swap in a new key for the same provider once it passes the same check. The new key must still list every model the current policy routes through this endpoint, and answer in the same region while routes use it, so no tier stops working or moves when the swap commits.
Swap in a new key for the same provider once it passes the same check.
The new key must still list every model the current policy routes through this endpoint, and answer in the same region while routes use it, so no tier stops working or moves when the swap commits.
workspaceTokenAuthorizationBearer <vat_<opaque-token>>Expiring, hashed workspace token with explicit scopes.
workspace_id*Workspace Iduuidendpoint_id*Endpoint Iduuidapplication/json- body
api_key*Api KeyA new key for the same provider.
passwordSuccessful Response
application/json- response
active*Activebase_url*Base Urlblocked_route_models?array<string>Models the current policy routes through this endpoint that cannot run now: the key stopped working, the provider stopped listing them, or their qualification lapsed.
created_at*Created Atdate-timedeny_data_collection*Deny Data Collectionhas_credential*Has Credentialid*Iduuidkey_fingerprint_prefix*|Start of the key's HMAC fingerprint; it opens nothing.
key_hint*|The key's last four characters.
last_checked_at*|nulllast_error_code*string|nulllast_validated_at*|nullmodel_count*Model CountModels the endpoint lists now.
model_ids*array<string>DeprecatedDeprecated: the same list as selectable_model_ids, kept for clients written before it. Read selectable_model_ids.
models?array<>|Every discovered model; included on a single endpoint.
models_refreshed_at*|nullname*Nameprovider_account*provider_kind*ModelProviderKind"anthropic""openrouter""llmgateway""openai""openai_compatible"region*RegionDerived from the provider and host, never from policy.
revoked_at*|nullselectable_model_ids*array<string>Provider model ids the worker may call through this endpoint.
status*EndpointStatus"healthy""degraded""invalid""revoked""unvalidated"status_changed_at*|nullupdated_at*Updated Atdate-timeworkspace_id*Workspace Iduuidcurl -X POST 'https://api.veriom.ai/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/model-endpoints/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate' \ -H 'Content-Type: application/json' \ -d '{ "api_key": "pa$$word"}'{ "active": true, "base_url": "string", "blocked_route_models": [ "string" ], "created_at": "2019-08-24T14:15:22Z", "deny_data_collection": true, "has_credential": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "key_fingerprint_prefix": "string", "key_hint": "string", "last_checked_at": "2019-08-24T14:15:22Z", "last_error_code": "string", "last_validated_at": "2019-08-24T14:15:22Z", "model_count": 0, "model_ids": [ "string" ], "models": [ { "cached_input_usd_per_million": "string", "canonical_id": "string", "capabilities": [ "string" ], "context_tokens": 0, "display_name": "string", "first_seen_at": "2019-08-24T14:15:22Z", "input_usd_per_million": "string", "last_seen_at": "2019-08-24T14:15:22Z", "max_output_tokens": 0, "output_usd_per_million": "string", "provider_model_id": "string", "qualification": "baseline", "selectable": true, "state": "listed" } ], "models_refreshed_at": "2019-08-24T14:15:22Z", "name": "string", "provider_account": { "property1": "string", "property2": "string" }, "provider_kind": "anthropic", "region": "string", "revoked_at": "2019-08-24T14:15:22Z", "selectable_model_ids": [ "string" ], "status": "healthy", "status_changed_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9"}