Skip to Content
veriom

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.

POST
/v1/workspaces/{workspace_id}/model-endpoints/{endpoint_id}/rotate

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.

Authorization

workspaceToken
headerAuthorizationBearer <vat_<opaque-token>>

Expiring, hashed workspace token with explicit scopes.

Path Parameters

workspace_id*Workspace Id
Formatuuid
endpoint_id*Endpoint Id
Formatuuid

Request Body

application/json
  1. body
api_key*Api Key

A new key for the same provider.

Formatpassword

Response Body

Successful Response

application/json
  1. response
active*Active
base_url*Base Url
blocked_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 At
Formatdate-time
deny_data_collection*Deny Data Collection
has_credential*Has Credential
id*Id
Formatuuid
key_fingerprint_prefix*|

Start of the key's HMAC fingerprint; it opens nothing.

key_hint*|

The key's last four characters.

last_checked_at*|null
last_error_code*string|null
last_validated_at*|null
model_count*Model Count

Models the endpoint lists now.

model_ids*array<string>Deprecated

Deprecated: 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*|null
name*Name
provider_account*
provider_kind*ModelProviderKind
Value in"anthropic""openrouter""llmgateway""openai""openai_compatible"
region*Region

Derived from the provider and host, never from policy.

revoked_at*|null
selectable_model_ids*array<string>

Provider model ids the worker may call through this endpoint.

status*EndpointStatus
Value in"healthy""degraded""invalid""revoked""unvalidated"
status_changed_at*|null
updated_at*Updated At
Formatdate-time
workspace_id*Workspace Id
Formatuuid
Example Request
curl -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"}'
Example Response
{  "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"}