---
title: "Create Llm Profile"
method: POST
path: "/api/v1/runtime/llm-profiles"
tags: ["runtime"]
---

# Create Llm Profile

`POST /api/v1/runtime/llm-profiles`

## Request body

- LlmProviderProfileCreateRequest
  - `name` string, required — Human-readable profile label.
  - `provider_type` 'openai_responses' | 'openai_chat_completion' | 'anthropic_messages', required — Provider integration type.
  - `api_base` string, nullable — Optional API base URL override.
  - `api_key` string — Provider API key to encrypt and store.
  - `metadata_json` object — Optional provider-specific metadata.

## 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/revisions/62e8c152aa18/schema)
