Skip to main content
PUT
Edit a proposal before approving it

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

kbId
string
required

Knowledge base to operate on. Get the ids from listMyKnowledgeBases.

id
string
required

Proposal to edit, as returned by listQualityProposals.

Body

application/json

New text for a proposal, before approving it.

proposedTitle
string

Replace the proposed question. Omit to leave it as proposed.

proposedResponse
string

Replace the proposed answer. Omit to leave it as proposed; it cannot be blanked out.

proposedChildren
object[]

Replace the split of a QUEBRAR proposal. Omit to leave it as proposed; it cannot be emptied.

Response

The proposal as stored.

A rewrite proposed for content that is answering badly.

entryId
string
required

The content this proposal rewrites. Read it with getEntry.

action
enum<string>
required

What the proposal does to the content: REESCREVER and MELHORAR replace the answer, CORRIGIR_CONFIG also fixes the question, CONSOLIDAR and QUEBRAR restructure it and cannot be applied by this API yet.

Available options:
REESCREVER,
MELHORAR,
CONSOLIDAR,
QUEBRAR,
CORRIGIR_CONFIG
analyzedTitle
string
required

The question as it read when the content was analysed.

analyzedResponse
string
required

The answer as it read when the content was analysed. Compare it with the proposal to see what changes.

diagnosis
object
required

Why the content is being flagged.

performance
object
required

How the content performed over the analysed window.

priority
string
required

How urgent the fix is.

Example:

"P1"

impactScore
number<double>
required

Conversations per period this content could stop losing if it answered well — the theoretical ceiling.

Example:

42

estimatedTickets
number<double>
required

The realistic share of that ceiling, after how often the content is actually reached.

Example:

17.5

duplicateCheck
object
required

Whether the rewrite risks overlapping existing content.

reviewState
enum<string>
required

Where the proposal stands in the review.

Available options:
PENDING,
APPROVED,
REJECTED
createdAt
string
required

When the proposal was raised (ISO-8601).

Example:

"2026-08-10T14:32:05"

id
string

Use this id to edit, approve or reject the proposal.

Example:

"6683f1c2a4b19e0012ab34cd"

proposedTitle
string

Proposed new question. Only CORRIGIR_CONFIG changes it.

proposedResponse
string

Proposed new answer — what approving will publish.

proposedChildren
object[]

For a QUEBRAR proposal, the entries the content would be split into.

recommendationSummary
string

The change in one line.

recommendationDetails
string

The reasoning behind the change, at length.

clientDecision
enum<string>

The decision recorded when it was approved or rejected.

Available options:
APROVAR_SEM_ALTERACAO,
APROVAR_COM_AJUSTES,
REESCREVER_DO_ZERO,
REJEITAR
finalText
string

The text actually published on approval — the proposal, or your edit of it.

clientNote
string

The note recorded with the decision.

decidedBy
string

Who decided, taken from their credentials.

decidedAt
string

When it was decided (ISO-8601).

Example:

"2026-08-11T09:14:22"

driftDetected
boolean

True when the content changed after it was analysed, so the proposal was written against an older answer. False when the current answer still matches. Absent when the current answer could not be read, so drift is unknown — the proposal may be written against stale content. Review it before approving; it never blocks.

Example:

false

analysisPeriod
string

The window the performance figures cover.

Example:

"2026-03-09 → 2026-04-07"