Saltar al contenido

Return a confirmed suggestion to Proposed

Módulo Settings

POST/ai-suggestions/{id}/reopenaiSuggestions.reopen

Returns a Confirmed suggestion to Proposed when the public API refused the write, naming the refusal. Requires `Idempotency-Key`; a replay returns the original response. A rule that refuses the request returns 422 with `refusal` and `reason`.

  • Requiere la capacidad home.dashboard.read.
  • Alcances de OAuth: home.
  • Envía el encabezado Idempotency-Key. Una repetición con la misma clave devuelve la respuesta original.
  • Estados de error: 400, 401, 404, 409, 422, 429. Los errores son detalles de problema RFC 9457.

Parámetros de ruta y de consulta

aiSuggestions.reopen: Parámetros de ruta y de consulta
CampoTipoObligatorioDescripción
idstring (uuid)SíIdentifier of the ai suggestion.

Cuerpo de la solicitud: AiSuggestionReopenRequest

aiSuggestions.reopen: AiSuggestionReopenRequest
CampoTipoObligatorioDescripción
reasonstringSíWhy, recorded in the suggestion ledger.Restricciones: length 1 to 500
{
  "reason": "Checked against the certificate."
}

Respuesta 200: AiSuggestion

aiSuggestions.reopen: AiSuggestion
CampoTipoObligatorioDescripción
idstring (uuid)SíIdentifier of the ai suggestion.
org_idstring (uuid)SíIdentifier of the owning organization, derived from the parent row and never accepted from the caller.
created_atstring (date-time)SíWhen the row was created.
created_bystring (uuid) | nullSíIdentifier of the person who created the row.
updated_atstring (date-time)SíWhen the row was last updated.
updated_bystring (uuid) | nullSíIdentifier of the person who last updated the row.
request_idstring (uuid)SíIdentifier of the AI request that proposed the change.
operation_idstringSíPublic API operation that performs the change.Restricciones: length 1 to 100
target_idstring (uuid) | nullSíIdentifier of the record the change updates; null when it creates one.
summarystringSíWhat will change, shown on the confirmation step.Restricciones: length 1 to 1000
suggestion_stateAiSuggestionStateSíProposed and waiting for the person who asked, Confirmed by them, Applied once the public API accepted the write, Rejected, or Expired unanswered.Restricciones: one of "Proposed", "Confirmed", "Applied", "Rejected", "Expired"
expires_atstring (date-time)SíAfter this time the suggestion can no longer be confirmed.
applied_idstring (uuid) | nullSíIdentifier of the record the public API wrote, once Applied.
proposed_fieldsarray of AiSuggestionFieldSíProposed fields in confirmation order.
{
  "id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "org_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "created_at": "2026-10-08T14:30:00Z",
  "created_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "updated_at": "2026-10-08T14:30:00Z",
  "updated_by": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "request_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "operation_id": "insuranceCertificates.create",
  "target_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "summary": "Add the Atlantic Mutual general liability certificate.",
  "suggestion_state": "Proposed",
  "expires_at": "2026-10-08T14:30:00Z",
  "applied_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
  "proposed_fields": [
    {
      "field_path": "expires_on",
      "proposed_value": "2027-03-31",
      "confidence": 0.91,
      "refusal": null,
      "missing": null,
      "source_excerpt": "Policy expiration 03/31/2027",
      "provenance": "agent"
    }
  ]
}

Ejemplos de código

curl -X POST "$XOS_BASE_URL/ai-suggestions/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f/reopen" \
  -H "Authorization: Bearer $XOS_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"reason":"Checked against the certificate."}'
const { data } = await xos.aiSuggestions.reopen("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f", {
    "reason": "Checked against the certificate."
  });
response = xos.ai_suggestions.reopen("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f", {"reason": "Checked against the certificate."})
xos ai-suggestions reopen 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f --data '{"reason":"Checked against the certificate."}'