LLM Registry
Operations of the LLM Registry API. Paths are relative to your deployment's API host.
POST /api/llm-registry-api/model-config/preview
Preview which model a lane resolves to in an organisation Space (org admin)
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json PreviewModelResolutionDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ModelResolutionPreviewResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/llm-registry-api/model-config/resolve
Resolve the model for one invocation, in a given Space (internal)
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json ResolveModelForInvocationDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ResolvedPhaseConfigDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/llm-registry-api/models
List the organisation's models across its providers, each with its provider and whether resolution would serve it
Authentication: bearer token (Authorization: Bearer <token>)
| Status | Description | Body |
|---|---|---|
| 200 | application/json ListedModelResponseDtoDataArrayEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/llm-registry-api/models/{id}
Get a model by id (org-scoped, across providers)
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ModelResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
DELETE /api/llm-registry-api/models/{id}
Delete a model by id (org-scoped, across providers)
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
confirm | query | string | no | When true, rules and org default models that still point at the deleted models are removed with them. Absent or false refuses a delete that has such dependants (409) and answers with the impact counts. |
| Status | Description | Body |
|---|---|---|
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/llm-registry-api/models/{modelId}
Update a model (toggle active, change display name, etc.)
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
modelId | path | string | yes |
Request body: application/json UpdateModelDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ModelResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PUT /api/llm-registry-api/models/{modelId}/retirement
Retire a model from an instant, optionally naming the successor resolutions use instead
For a model under the organisation's own provider; a platform-catalogue model is refused 403 MODEL_RETIREMENT_PLATFORM_MODEL, an unknown one 404. From retiresAt on, every resolution that would pick the model resolves to successorModelId and records the substitution (retirement, reason model-retired); with no successor it is refused with MODEL_RETIRED_NO_SUCCESSOR. Answers 422 MODEL_RETIREMENT_SUCCESSOR_IS_SELF, MODEL_RETIREMENT_SUCCESSOR_CYCLE, MODEL_RETIREMENT_SUCCESSOR_RETIRED, MODEL_RETIREMENT_SUCCESSOR_NOT_SERVED or MODEL_RETIREMENT_SUCCESSOR_CHAIN_TOO_LONG; nothing is written.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
modelId | path | string | yes |
Request body: application/json SetModelRetirementDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ModelResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
DELETE /api/llm-registry-api/models/{modelId}/retirement
Clear a model's retirement (instant and successor)
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
modelId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ModelResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/llm-registry-api/projects/{projectId}/model-config/resolved
Get resolved model config for project (with defaults)
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
projectId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json object | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/llm-registry-api/providers
List LLM providers
Authentication: bearer token (Authorization: Bearer <token>)
| Status | Description | Body |
|---|---|---|
| 200 | application/json ProviderResponseDtoDataArrayEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/llm-registry-api/providers
Create an LLM provider
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json CreateProviderDto
| Status | Description | Body |
|---|---|---|
| 201 | application/json ProviderResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | The provider baseUrl is not admitted (PROVIDER_BASE_URL_NOT_ADMITTED) or the body failed validation (REQUEST_VALIDATION_FAILED). | application/problem+json ProviderWriteRefusedProblemDto |
| 500 | application/problem+json ProblemDetailsDto | |
| 503 | A policy needed to admit the request could not be read; nothing was sent. | application/problem+json ProviderWriteUnavailableProblemDto |
POST /api/llm-registry-api/providers/probe
Probe an unsaved provider endpoint for its model list (pre-create autofill)
Authentication: bearer token (Authorization: Bearer <token>)
Request body: application/json ProbeProviderDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ProviderProbeResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | The provider baseUrl is not admitted (PROVIDER_BASE_URL_NOT_ADMITTED), redirected (PROVIDER_BASE_URL_REDIRECTED) or the body failed validation (REQUEST_VALIDATION_FAILED). | application/problem+json ProviderFetchBodyRefusedProblemDto |
| 500 | application/problem+json ProblemDetailsDto | |
| 503 | A policy needed to admit the request could not be read; nothing was sent. | application/problem+json ProviderEgressUnavailableProblemDto |
GET /api/llm-registry-api/providers/{id}
Get LLM provider details
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ProviderResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/llm-registry-api/providers/{id}
Update an LLM provider
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body: application/json UpdateProviderDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json ProviderResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | The provider baseUrl is not admitted (PROVIDER_BASE_URL_NOT_ADMITTED) or the body failed validation (REQUEST_VALIDATION_FAILED). | application/problem+json ProviderWriteRefusedProblemDto |
| 500 | application/problem+json ProblemDetailsDto | |
| 503 | A policy needed to admit the request could not be read; nothing was sent. | application/problem+json ProviderWriteUnavailableProblemDto |
DELETE /api/llm-registry-api/providers/{id}
Delete an LLM provider
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
confirm | query | string | no | When true, rules and org default models that still point at the deleted models are removed with them. Absent or false refuses a delete that has such dependants (409) and answers with the impact counts. |
| Status | Description | Body |
|---|---|---|
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/llm-registry-api/providers/{id}/deletion-impact
Get impact analysis before deleting a provider
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ProviderDeletionImpactResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/llm-registry-api/providers/{id}/test
Test LLM provider connectivity
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ProviderTestResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | The provider baseUrl is not admitted (PROVIDER_BASE_URL_NOT_ADMITTED) or redirected (PROVIDER_BASE_URL_REDIRECTED). | application/problem+json ProviderFetchRefusedProblemDto |
| 500 | application/problem+json ProblemDetailsDto | |
| 503 | A policy needed to admit the request could not be read; nothing was sent. | application/problem+json ProviderEgressUnavailableProblemDto |
GET /api/llm-registry-api/providers/{providerId}/models
List models on a provider
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
providerId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json ModelResponseDtoDataArrayEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/llm-registry-api/providers/{providerId}/models
Register a model on a provider
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
providerId | path | string | yes |
Request body: application/json CreateModelDto
| Status | Description | Body |
|---|---|---|
| 201 | application/json ModelResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/llm-registry-api/providers/{providerId}/models/sync
Sync models from provider endpoint
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
providerId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json SyncModelsResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | The provider baseUrl is not admitted (PROVIDER_BASE_URL_NOT_ADMITTED) or redirected (PROVIDER_BASE_URL_REDIRECTED). | application/problem+json ProviderFetchRefusedProblemDto |
| 500 | application/problem+json ProblemDetailsDto | |
| 503 | A policy needed to admit the request could not be read; nothing was sent. | application/problem+json ProviderEgressUnavailableProblemDto |