---
title: "List Inference History"
method: GET
path: "/v1/inferences"
tags: ["inference-history"]
---

# List Inference History

`GET /v1/inferences`

## Request

- Base URL: `https://api.pioneer.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pioneer.ai/v1/inferences`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/pioneer/apis/brain-api/docs/v1/inferences/get.ts> (a function with typed inputs; its response is checked against the schema)

List inference history for the authenticated user.

Returns all inference records across all model types (NER, classification,
JSON extraction, decoder) sorted by most recent first.

Args:
    auth: Authentication result with user_id
    limit: Maximum number of records to return (default 100, max 500)
    offset: Number of records to skip for pagination
    model_id: Optional filter by model ID
    task: Optional filter by task type
    project_id: Optional filter by project ID
    training_job_id: Optional filter by training job ID
    latency_min/latency_max: Inclusive latency window in ms.
    llmaj_score_min/llmaj_score_max: Inclusive LLMAJ-score window
        in [0.0, 1.0].
    since: Optional inclusive lower bound on ``created_at`` (ISO 8601).
    until: Optional exclusive upper bound on ``created_at`` (ISO 8601).

Returns:
    InferenceListResponse with paginated inference records.

Raises:
    HTTPException: 422 when ``min`` is greater than its paired
        ``max`` — returning an empty page would silently mask the
        caller's misordered query.

## Query parameters

- `limit` integer: Maximum records to return
- `offset` integer: Number of records to skip
- `model_id` string, nullable: Filter by model ID
- `task` string, nullable: Filter by task type
- `project_id` string, nullable: Filter by project ID
- `training_job_id` string, nullable: Filter by training job ID
- `latency_min` number, nullable: Minimum latency in ms (must be >= 0).
- `latency_max` number, nullable: Maximum latency in ms (must be >= 0).
- `llmaj_score_min` number, nullable: Minimum LLM-as-Judge score in [0.0, 1.0].
- `llmaj_score_max` number, nullable: Maximum LLM-as-Judge score in [0.0, 1.0].
- `since` string, nullable: Inclusive lower bound on created_at (ISO 8601, UTC).
- `until` string, nullable: Exclusive upper bound on created_at (ISO 8601, UTC).

## Response `200`

Successful Response

- InferenceListResponse: Response for listing inference history.
  - `inferences` InferenceRecord[], required: List of inference records
    - `id` string, required: Unique inference ID
    - `user_id` string, required: User who made the inference
    - `model_id` string, required: Model ID used for inference
    - `model_name` string, nullable: Human-readable model name
    - `task` string, nullable: Task type (legacy; may be NULL for new inferences)
    - `input` string, required: Input text
    - `output` unknown
    - `latency_ms` integer, nullable: End-to-end latency in milliseconds
    - `ttft_ms` integer, nullable: Streaming time to first visible output chunk in milliseconds; null for non-streaming calls and streams with no visible payload.
    - `tokens` integer, nullable: Token count
    - `input_tokens` integer, nullable: Non-cached input/prompt tokens, sourced from the metered requests row. None when no billing row was recorded.
    - `output_tokens` integer, nullable: Output/completion tokens, sourced from the metered requests row.
    - `cache_read_tokens` integer, nullable: Input tokens served from the provider prompt cache (cache hit).
    - `cache_write_tokens` integer, nullable: Input tokens written into the provider prompt cache (cache creation). Zero for providers that bill writes as plain input.
    - `source` string: Source of the request (api or ui)
    - `status` string: Inference status: success or failed
    - `error_type` string, nullable: Failure category when status is failed (validation, timeout, model_not_ready, model_not_found, model_not_supported, capacity_exhausted, internal)
    - `error_message` string, nullable: Error detail when status is failed
    - `created_at` string, date-time, required: When the inference was made
    - `project_id` string, nullable: Project ID the model belongs to
    - `training_job_id` string, nullable: Training job UUID that produced the model
    - `provider` string, nullable: Inference provider (aws, modal, etc.). Rows predating a provider removal carry an 'archived_<provider>' label.
    - `base_model` string, nullable: HuggingFace base model ID
    - `metadata` object, nullable: Extensible metadata (e.g. LLM judge results)
    - `human_verdict` string, nullable: Human reviewer verdict (correct/incorrect)
    - `human_corrected_output` unknown
    - `human_feedback_notes` string, nullable: Optional reviewer notes
    - `human_feedback_at` string, date-time, nullable: When human feedback was submitted
    - `llmaj_verdict` 'pass' | 'fail' | 'uncertain', nullable: LLMAJ judge verdict ('pass', 'fail', or 'uncertain'); None until judged.
    - `llmaj_score` number, nullable: LLMAJ judge confidence score in [0.0, 1.0]; None until judged.
    - `llmaj_judged_at` string, date-time, nullable: Timestamp when LLMAJ judgment was recorded; None until judged.
    - `llmaj_reasoning` string, nullable: LLMAJ judge reasoning/explanation; None until judged.
  - `total` integer, required: Total count of inferences matching filters
  - `limit` integer, required: Page size limit
  - `offset` integer, required: Current offset

## Other responses

- `422`: Validation Error
- `503`: Inference history dependency is temporarily unavailable.

## Changes

- **2026-09-24** `0e5e86e2bae5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pioneer/apis/brain-api/changes/v1/inferences/get.md)

---

[API](https://skmtc.dev/pioneer/apis/brain-api.md) - [All operations](https://skmtc.dev/pioneer/apis/brain-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pioneer/apis/brain-api/revisions/0e5e86e2bae5?raw)
