Replay VisionSet a model key

Set a model key

Set the agency default (omit location_id) or one client's override. The key is checked with the provider first (422 key_rejected if it is refused), encrypted, and never returned again. Replacing a key clears its last_error. Agency key (ak_) only: mcp_ keys get 403 not_available_to_scoped_keys, so a provider key never passes through an AI tool.

curl -X PUT "https://mythic-analytics.gulp.workers.dev/client/v1/replay-vision/keys" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "provider": "openrouter",
  "api_key": "example_string",
  "location_id": "example_string",
  "default_model": "example_string",
  "confirm_paid_tier": true
}'
{
  "success": true,
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "scope": "agency",
    "location_id": "example_string",
    "provider": "openrouter",
    "key_hint": "…a1b2",
    "default_model": "example_string",
    "verified_at": "2024-12-25T10:00:00Z",
    "last_error": "example_string",
    "last_error_at": "2024-12-25T10:00:00Z",
    "updated_at": "2024-12-25T10:00:00Z"
  }
}
PUT
/client/v1/replay-vision/keys
PUT
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Agency key (ak_) only; a location secret key (sk_) gets 403 agency_required. Agency-wide scoped keys (mcp_) need replay_vision:read or replay_vision:write.

Agency key (ak_) only; a location secret key (sk_) gets 403 agency_required. Agency-wide scoped keys (mcp_) need replay_vision:read or replay_vision:write.
Content-Typestring
Required

The media type of the request body

Options: application/json
providerstring
Required
Options: openrouter, gemini
api_keystring
Required

The provider API key.

location_idstring

A client id for an override. Omit or null for the agency default.

default_modelstring

Model used when a scanner sets none. Must be a model id of provider (400 otherwise). Default google/gemini-3.5-flash-lite (OpenRouter) or gemini-3.5-flash-lite (Gemini).

confirm_paid_tierboolean

Required true for gemini: free-tier keys let Google use request content.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Agency key (ak_) only; a location secret key (sk_) gets 403 agency_required. Agency-wide scoped keys (mcp_) need replay_vision:read or replay_vision:write.

Body

application/json
providerstring
Required
Allowed values:openroutergemini
api_keystring
Required

The provider API key.

location_idstring

A client id for an override. Omit or null for the agency default.

default_modelstring

Model used when a scanner sets none. Must be a model id of provider (400 otherwise). Default google/gemini-3.5-flash-lite (OpenRouter) or gemini-3.5-flash-lite (Gemini).

confirm_paid_tierboolean

Required true for gemini: free-tier keys let Google use request content.

Responses

successboolean
dataobject