Skip to content

Get an AI suggestion

Settings module

GET/ai-suggestions/{id}aiSuggestions.get

A change an Aurora feature proposes, waiting for the confirmation of the person who asked. The summary says exactly what will change; nothing is written until they confirm. Returns one AI suggestion with its `ETag`. A AI suggestion the caller may not see returns 404.

  • Requires the capability home.dashboard.read.
  • OAuth scopes: home.
  • Error statuses: 400, 401, 404, 429. Errors are RFC 9457 problem details.

Path and query parameters

aiSuggestions.get: Path and query parameters
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the ai suggestion.
fieldsFieldsNoSparse fieldset: a comma-separated list of top-level fields to return. `id` is always returned.Constraints: pattern ^[a-z_][a-z0-9_]*(,[a-z_][a-z0-9_]*)*$

Response 200: AiSuggestion

aiSuggestions.get: AiSuggestion
FieldTypeRequiredDescription
idstring (uuid)YesIdentifier of the ai suggestion.
org_idstring (uuid)YesIdentifier of the owning organization, derived from the parent row and never accepted from the caller.
created_atstring (date-time)YesWhen the row was created.
created_bystring (uuid) | nullYesIdentifier of the person who created the row.
updated_atstring (date-time)YesWhen the row was last updated.
updated_bystring (uuid) | nullYesIdentifier of the person who last updated the row.
request_idstring (uuid)YesIdentifier of the AI request that proposed the change.
operation_idstringYesPublic API operation that performs the change.Constraints: length 1 to 100
target_idstring (uuid) | nullYesIdentifier of the record the change updates; null when it creates one.
summarystringYesWhat will change, shown on the confirmation step.Constraints: length 1 to 1000
suggestion_stateAiSuggestionStateYesProposed and waiting for the person who asked, Confirmed by them, Applied once the public API accepted the write, Rejected, or Expired unanswered.Constraints: one of "Proposed", "Confirmed", "Applied", "Rejected", "Expired"
expires_atstring (date-time)YesAfter this time the suggestion can no longer be confirmed.
applied_idstring (uuid) | nullYesIdentifier of the record the public API wrote, once Applied.
proposed_fieldsarray of AiSuggestionFieldYesProposed 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"
    }
  ]
}

Code samples

curl -X GET "$XOS_BASE_URL/ai-suggestions/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f" \
  -H "Authorization: Bearer $XOS_API_KEY"
const { data, etag } = await xos.aiSuggestions.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f");
response = xos.ai_suggestions.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f")
xos ai-suggestions get 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f