Get an AI request
Settings module
GET/ai-requests/{id}aiRequests.get
One Aurora model call: who asked, for which feature, with which configured model, and the prompt and output with personal data redacted. Restricted fields and medical records are never in it. Returns one AI request with its `ETag`. A AI request the caller may not see returns 404.
- Requires the capability audit.log.read.
- OAuth scopes: audit.
- Error statuses: 400, 401, 404, 429. Errors are RFC 9457 problem details.
Path and query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the ai request. |
| fields | Fields | No | Sparse 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: AiRequest
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the ai request. |
| org_id | string (uuid) | Yes | Identifier of the owning organization, derived from the parent row and never accepted from the caller. |
| created_at | string (date-time) | Yes | When the row was created. |
| created_by | string (uuid) | null | Yes | Identifier of the person who created the row. |
| updated_at | string (date-time) | Yes | When the row was last updated. |
| updated_by | string (uuid) | null | Yes | Identifier of the person who last updated the row. |
| person_id | string (uuid) | Yes | Identifier of the person who asked. |
| feature | AiFeature | Yes | An Aurora AI feature (Section 4.7).Constraints: one of "assistant", "plain_language", "extraction", "drafting", "summaries", "mapping" |
| model | string | Yes | Model identifier from configuration.Constraints: length 1 to 100 |
| subject_table | string | null | Yes | Table of the record the request was about.Constraints: length 1 to 100 |
| subject_id | string (uuid) | null | Yes | Identifier of the record the request was about. |
| outcome | AiRequestOutcome | Yes | How a model call ended. No Answer is the silence rule (Section 3.7).Constraints: one of "Pending", "Answered", "No Answer", "Failed" |
| prompt_redacted | string | null | Yes | Prompt as sent, redacted.Constraints: length 1 to 20000 |
| output_redacted | string | null | Yes | Model output, redacted.Constraints: length 1 to 20000 |
| failure_code | string | null | Yes | Why a Failed request failed.Constraints: length 1 to 64 |
| completed_at | string (date-time) | null | Yes | When the request finished. |
{
"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",
"person_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"feature": "assistant",
"model": "claude-sonnet-5-5",
"subject_table": "app.documents",
"subject_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"outcome": "Answered",
"prompt_redacted": "Who is the vendor contact?",
"output_redacted": "Ivy Chen, [phone].",
"failure_code": "model_error",
"completed_at": "2026-10-08T14:30:00Z"
}Code samples
curl -X GET "$XOS_BASE_URL/ai-requests/0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f" \
-H "Authorization: Bearer $XOS_API_KEY"const { data, etag } = await xos.aiRequests.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f");response = xos.ai_requests.get("0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f")xos ai-requests get 0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f