Transição pending | approvedpromoted. Cria linha em public.chunks (embedding síncrono), grava promoted_chunk_id / promoted_at / promoted_by e tira o learning do recall de cardápio — o RAG passa a servir o conteúdo.

Promover a partir de pending implica aprovação implícita (reviewed_by / reviewed_at). Re-promover retorna 409 (idempotente — não duplica chunk).

Endpoint

POST /api/externalAPIs/public/contentaware/learningpromote

Parâmetros

learningId
string (UUID)
required

Learning a promover.

datasetId
string (UUID)

Dataset do host. Omitido → dataset auto-provisionado (“Aprendizados do gestor”).

promotedBy
string (UUID)

Usuário gestor (no Create é server-derived da sessão).

Exemplo

curl -X POST {{BASE_URL}}/api/externalAPIs/public/contentaware/learningpromote \
  -H "Authorization: Bearer {{TOKEN}}" \
  -H "Content-Type: application/json" \
  -d '{
    "learningId": "uuid-do-learning",
    "datasetId": "uuid-do-dataset"
  }'

Resposta

{
  "data": {
    "learningId": "uuid-do-learning",
    "chunkId": "uuid-do-chunk",
    "datasetId": "uuid-do-dataset",
    "datasetName": "Aprendizados do gestor (contentAware)",
    "datasetProvisioned": false,
    "status": "promoted",
    "learning": {}
  }
}

Erros

CódigoDescrição
400Input inválido
403datasetId de outro host
404Learning ou dataset não encontrado
409Status não é pending nem approved
503Host sem Content Aware