List extraction results
Paginated extraction results for the project, with optional
filtering, sorting, and search. Supplying exactly one agent_ids
value also returns the document sources for each result.
On this page
HTTP request
GET https://api.parsewise.ai/api/v1/projects/{project_id}/results/
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
agent_ids |
query | No | string | Comma-separated UUIDs. Restricts the response to rows produced by the listed agents (defaults to all of the project’s agents). Pass exactly one to also receive sources in the response. |
dimension_order |
query | No | string | Comma-separated dimension names controlling how rows are grouped and how columns are laid out across multiple agents. Order matters: earlier names group at the outermost level of the result table. |
filter_inconsistent |
query | No | boolean | When true, only return rows whose values are not fully consistent across the source documents. Defaults to false. |
filter_missing |
query | No | boolean | When true, only return rows whose resolved value is missing or empty. Defaults to false. |
filter_review_status |
query | No | string | Comma-separated review statuses to include. Accepted values: positive, negative, unreviewed. When omitted, no review-status filtering is applied. |
filters |
query | No | string | JSON-encoded dimension filter, applied to the rows. The value is a JSON object whose keys are dimension names (matching the name of a dimension on one of the project’s agents, e.g. "Document" or "Region") and whose values are arrays of dimension values to keep. Within a single key the values are OR-ed (a row matches the key if it has any of the listed values for that dimension); across keys they are AND-ed (a row must match every key to be returned). Empty value arrays and unknown dimension names are ignored. Example: {"Region": ["EMEA", "APAC"], "Year": ["2024"]}. |
include_dimension_values |
query | No | boolean | When false, omits the all_dimension_values field from the response to reduce payload size. Defaults to true. |
page |
query | No | integer | 1-indexed page number to return. Defaults to 1. |
page_size |
query | No | integer | Number of rows per page. Defaults to 100. |
project_id |
path | Yes | string (uuid) | |
search |
query | No | string | Case-insensitive substring match against resolved values. |
search_column |
query | No | string | Agent name to restrict search to a single column. Ignored when search is not supplied. |
sort_by |
query | No | string | Column to sort by. Only applied when a single agent is selected and no dimension_order is supplied; otherwise the default ordering is used. |
sort_order |
query | No | string | Sort direction for sort_by. Defaults to asc. |
Request Header
| Name | Required | Type | Description |
|---|---|---|---|
X-API-Key |
Yes | string | API key with the pw_live_ prefix. See Authentication. |
Responses
| Status | Type | Description |
|---|---|---|
200 |
V1ResultsListResponse | — |
Security
- ApiKeyAuth — apiKey — in
X-API-Keyheader. API key with pw_live_ prefix.
Python example
import os
import requests
API_KEY = os.environ["PARSEWISE_API_KEY"]
BASE_URL = "https://api.parsewise.ai/api/v1"
project_id = "<uuid>"
params = {
# "agent_ids": "...", # Comma-separated UUIDs
# "dimension_order": "...", # Comma-separated dimension names controlling how rows are grouped and how columns are laid out across multiple agents
# "filter_inconsistent": False, # When `true`, only return rows whose values are not fully consistent across the source documents
# "filter_missing": False, # When `true`, only return rows whose resolved value is missing or empty
# "filter_review_status": "...", # Comma-separated review statuses to include
# "filters": "...", # JSON-encoded dimension filter, applied to the rows
# "include_dimension_values": False, # When `false`, omits the `all_dimension_values` field from the response to reduce payload size
# "page": 0, # 1-indexed page number to return
# "page_size": 0, # Number of rows per page
# "search": "...", # Case-insensitive substring match against resolved values
# "search_column": "...", # Agent name to restrict `search` to a single column
# "sort_by": "...", # Column to sort by
# "sort_order": "asc", # Sort direction for `sort_by`
}
resp = requests.get(
f"{BASE_URL}/projects/{project_id}/results/",
headers={"X-API-Key": API_KEY},
params=params,
)
resp.raise_for_status()
print(resp.json() if resp.content else None)
Definitions
ExtractionStatusEnum
Type: string. One of:
PendingProcessedNo Result
LatestReviewStatusEnum
Type: string. One of:
nonepositivenegative
NullEnum
Type: any. One of:
None
ResolutionStatusEnum
Type: string. One of:
Not resolvedRequires attentionResolvedIgnoredNo result
SourceType629Enum
Type: string. One of:
documentwebdocument_and_web
V1ResultDimensionInstance
One dimension instance (dimension + value) attached to an extraction result.
| Name | Required | Type | Description |
|---|---|---|---|
id |
Yes | string (uuid) | Identifier of this dimension instance. |
dimension_id |
Yes | string (uuid) | Identifier of the dimension this instance belongs to. |
dimension_value |
Yes | string | Value of the dimension (e.g. “EMEA”, “2024”). |
name |
Yes | string | Name of the dimension (e.g. “Region”). |
V1ResultSource
| Name | Required | Type | Description |
|---|---|---|---|
document_name |
Yes | string | Stored filename of the source document. |
page_number |
Yes | integer | 1-indexed page number within the source document. |
document_id |
Yes | string (uuid) | Stable identifier of the source document. |
atomic_value_ids |
Yes | array<string (uuid)> | Identifiers of the atomic values whose resolutions cite this source. |
V1ResultWebSupplement
| Name | Required | Type | Description |
|---|---|---|---|
text |
Yes | string | Web-sourced supplementary text. |
sources |
Yes | array<V1ResultWebSupplementSource> | Web pages cited for the supplement. |
V1ResultWebSupplementSource
| Name | Required | Type | Description |
|---|---|---|---|
url |
Yes | string (uri) | URL of the web source. |
title |
Yes | string | Title of the web source. |
V1ResultsListResponse
| Name | Required | Type | Description |
|---|---|---|---|
results |
Yes | array<V1ResultsListRow> | Rows of the extraction result table on this page. |
count |
Yes | integer | Number of rows returned on this page (i.e. the length of results). For the cross-page total, use total_rows. |
page |
Yes | integer | 1-indexed page number of the returned page. |
page_size |
Yes | integer | Requested page size (rows per page). |
total_pages |
Yes | integer | Total number of pages available for the current filters. |
total_rows |
Yes | integer | Total matching rows across all pages for the current filters. |
displayed_dimensions |
Yes | array<string> | Ordered dimension names used to group/lay out rows in the response, reflecting the effective dimension_order. |
agent_ids |
Yes | array<string (uuid)> | Agents included in the response. |
recommended_dimension_order |
No | array<string> | Suggested dimension ordering for multi-agent views, or null when no specific ordering is recommended. |
all_dimension_values |
No | object<string, array<string>> | Map of dimension name to the full set of values seen for that dimension across the matching rows, useful for building filter pickers. Omitted when include_dimension_values=false. |
sources |
No | array<V1ResultSource> | Document pages cited by the results on this page. Only returned when exactly one agent_ids value is supplied. |
V1ResultsListRow
| Name | Required | Type | Description |
|---|---|---|---|
id |
Yes | string (uuid) | Identifier of the atomic value this row represents. To fetch the full detail for the resolved value, use the id from resolution_result with GET /results/{id}/. |
agent_name |
Yes | string | Name of the agent that produced this row. |
value_type |
Yes | V1ResultsListRowValueTypeEnum | Value type declared on the agent. |
extraction_status |
Yes | ExtractionStatusEnum | Per-row extraction status. |
resolution_result |
Yes | V1RowResolutionResult | Resolved value and metadata for this row (same shape as the GET /results/{id}/ response minus atomic_value_id, dimension_instances, and sources), or null if no resolution exists yet. |
dimension_instances |
Yes | array<V1ResultDimensionInstance> | Dimension instances this row is keyed by (one entry per dimension configured on the agent). |
V1ResultsListRowValueTypeEnum
Type: string. One of:
stringnumberbooldatedatetime
V1RowResolutionResult
Resolved value and metadata for a row in the results list.
Same shape as the GET /results/{id}/ response minus
atomic_value_id, dimension_instances, and sources.
| Name | Required | Type | Description |
|---|---|---|---|
id |
Yes | string (uuid) | Stable identifier of the resolution result. |
result_name |
Yes | string | Human-readable label for this result, typically a concatenation of its dimension values. |
agent_name |
Yes | string | Name of the agent that produced this result. |
value |
Yes | any | Resolved value. Shape depends on the agent’s value_type: string -> string; number -> number; bool -> boolean; date -> ISO 8601 date string YYYY-MM-DD; datetime -> ISO 8601 date-time string. May be null for missing values. |
resolution_status |
Yes | ResolutionStatusEnum | Resolution outcome for this entity. |
justification_for_resolution_status |
Yes | string (nullable) | AI-generated explanation of why this resolution status was chosen. Null when not applicable. |
references |
Yes | object<string, array<string | integer (nullable)>> | Citation map keyed by reference_id (the same IDs referenced from justification_for_resolution_status and from extraction passages). Each value is a 2-element array [document_name, document_page]: document_page is the 1-based page number, or null for sources without pages (e.g. websites). Empty object {} when there are no citations. |
source_type |
Yes | SourceType629Enum | Where the resolved value came from. document when the value was derived from uploaded documents only; web when it was derived from web-search results only; document_and_web when both contributed. The non-document values only appear when enable_web_search is set on the agent. |
is_web_supplement |
Yes | boolean | True when this result was supplemented with web search data rather than derived purely from uploaded documents. |
web_supplement |
No | V1ResultWebSupplement | Populated only when web search is enabled on the agent and web data contributed to the resolution; otherwise null. |
updated_by_email |
Yes | string (email) (nullable) | Email of the last user to manually override this resolution, or null if never manually updated. |
created_at |
Yes | string (date-time) | When the resolution was first produced. |
updated_at |
Yes | string (date-time) | When the resolution was last updated. |
latest_review_status |
No | LatestReviewStatusEnum | NullEnum | Review verdict from the latest review. Null when no review has ever been recorded. |
latest_review_comment |
No | string | Free-text reviewer comment from the latest review. Empty string when no comment was given. |
latest_review_at |
No | string (date-time) (nullable) | When the latest review was recorded. Null when no review has ever been recorded. |
latest_review_by |
No | string (email) (nullable) | Email of the user who recorded the latest review. Null when unknown or no review exists. |