---
title: "Update Llm Profile"
method: PATCH
path: "/api/v1/runtime/llm-profiles/{profile_id}"
tags: ["runtime"]
---

# Update Llm Profile

`PATCH /api/v1/runtime/llm-profiles/{profile_id}`

## Path parameters

- `profile_id` string, uuid, required — Provider profile identifier.

## Request body

- LlmProviderProfileUpdateRequest
  - `name` string, nullable — Updated profile label.
  - `provider_type` 'openai_responses' | 'openai_chat_completion' | 'anthropic_messages', nullable — Updated provider type.
  - `api_base` string, nullable — Updated API base URL.
  - `api_key` string, nullable — Replacement API key when rotating credentials.
  - `clear_api_key` boolean — When true, remove the stored API key.
  - `metadata_json` object, nullable — Replacement metadata payload.

## Response `200`

Successful Response

- LlmProviderProfileResponse
  - `id` string, uuid, required — Stable provider profile identifier.
  - `name` string, required — Human-readable profile label shown in Settings.
  - `provider_type` 'openai_responses' | 'openai_chat_completion' | 'anthropic_messages', required — Provider integration type.
  - `api_base` string — Configured API base URL for the provider.
  - `api_key_masked` string — Masked API key preview for display.
  - `has_api_key` boolean — Whether a stored API key is configured.
  - `metadata_json` object — Optional provider-specific metadata.

## Other responses

- `401` — Authentication is required or the provided token is invalid.
- `403` — LLM profile writes require local mode or admitted Neon authentication.
- `404` — Requested profile was not found.
- `422` — Validation Error
- `503` — Runtime services are unavailable because server startup is incomplete.

---

[API](https://skmtc.net/qredence/apis/fleet-rlm.md) · [All operations](https://skmtc.net/qredence/apis/fleet-rlm/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qredence/fleet-rlm/versions/62e8c152aa18/schema)
