Embedding Commitment

Operations of the LLM Registry API. Paths are relative to your deployment's API host.

GET /api/llm-registry-api/embedding-commitment

Get the org's embedding commitment

Authentication: bearer token (Authorization: Bearer <token>)

StatusDescriptionBody
200application/json EmbeddingCommitmentDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

PUT /api/llm-registry-api/embedding-commitment

Create or update the org's embedding commitment (same dimension only). Different-dimension swaps return DIMENSION_MISMATCH_NEEDS_MIGRATION and must go through POST .../migrate.

Authentication: bearer token (Authorization: Bearer <token>)

Request body: application/json UpsertEmbeddingCommitmentDto

StatusDescriptionBody
200application/json EmbeddingCommitmentDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/activate

Idempotent activation: flips proposed → active on first index event. Called by consumers (search-api, memory-api) and is safe to invoke concurrently from multiple pods.

Authentication: bearer token (Authorization: Bearer <token>)

StatusDescriptionBody
200application/json EmbeddingCommitmentActivationDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/llm-registry-api/embedding-commitment/available-models

List models the org can use for the embedding commitment

Authentication: bearer token (Authorization: Bearer <token>)

StatusDescriptionBody
200application/json EmbeddingModelOptionDtoDataArrayEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/migrate

Start a dimension-changing migration. Requires explicit user confirmation: typedOrgSlug must match the org id and acknowledgeReprocessing must be true.

Authentication: bearer token (Authorization: Bearer <token>)

Request body: application/json StartEmbeddingMigrationDto

StatusDescriptionBody
201application/json EmbeddingMigrationDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/migrate/{migrationId}/consumer-done

Consumer reports that its backfill has reached the source cursor. Triggers the completion watcher; commitment flips when ALL consumers report done.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
migrationIdpathstringyes

Request body: application/json MigrationConsumerDoneDto

StatusDescriptionBody
200application/json MigrationAcknowledgementDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/migrate/{migrationId}/consumer-failed

Consumer worker reports a terminal failure. Fails the whole migration and returns the commitment to active on the OLD model.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
migrationIdpathstringyes

Request body: application/json MigrationConsumerFailedDto

StatusDescriptionBody
200application/json MigrationAcknowledgementDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/migrate/{migrationId}/heartbeat

Consumer worker advances the durable cursor after processing a batch. Used by the reconciliation cron to detect stalled walkers.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
migrationIdpathstringyes

Request body: application/json MigrationHeartbeatDto

StatusDescriptionBody
200application/json MigrationAcknowledgementDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/migrate/{migrationId}/provision

Consumer worker reports that it has provisioned target storage and is ready to dual-write. Records the high-water-mark cursor.

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
migrationIdpathstringyes

Request body: application/json MigrationProvisionDto

StatusDescriptionBody
200application/json MigrationAcknowledgementDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/migrate/{migrationId}/rollback

Roll back an in-flight migration

Authentication: bearer token (Authorization: Bearer <token>)

ParameterInTypeRequiredDescription
migrationIdpathstringyes
StatusDescriptionBody
200application/json EmbeddingMigrationRollbackDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

POST /api/llm-registry-api/embedding-commitment/storage-declaration

A consumer declares what its vector storage can hold. Called on the consumer's boot, which is the moment it has just read its own backend — so the declaration moves exactly when the fact does.

Authentication: bearer token (Authorization: Bearer <token>)

Request body: application/json EmbeddingStorageDeclarationDto

StatusDescriptionBody
200application/json EmbeddingStorageDeclarationAckDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto

GET /api/llm-registry-api/embedding-model/resolve

Resolve the org's embedding model for runtime use

Authentication: bearer token (Authorization: Bearer <token>)

StatusDescriptionBody
200application/json ResolvedEmbeddingCommitmentDtoDataEnvelope
400application/problem+json ProblemDetailsDto
401application/problem+json ProblemDetailsDto
403application/problem+json ProblemDetailsDto
404application/problem+json ProblemDetailsDto
409application/problem+json ProblemDetailsDto
422application/problem+json ProblemDetailsDto
500application/problem+json ProblemDetailsDto