curl --request GET \
--url https://api.orion.file.ai/prod/v1/workflows/result-groups \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orion.file.ai/prod/v1/workflows/result-groups"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orion.file.ai/prod/v1/workflows/result-groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.orion.file.ai/prod/v1/workflows/result-groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.orion.file.ai/prod/v1/workflows/result-groups"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.orion.file.ai/prod/v1/workflows/result-groups")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orion.file.ai/prod/v1/workflows/result-groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"resultGroups": [
{
"id": "68218006ebc72170fdb221f7",
"workflowId": "68218006ebc72170fdb221f8",
"workflowStepId": "68218006ebc72170fdb221f9",
"workflowStepName": "Assessment",
"executionGroupName": "Acme Corp",
"executionGroupKey": "$contactName",
"executionGroupUniqueIdentifier": "folder-abc-123",
"status": "active",
"createdAt": "2024-10-18T16:45:50.064Z",
"updatedAt": "2025-05-15T09:23:31.609Z",
"assessment": {
"overallPassed": true,
"assessmentStatus": "PASSED",
"checklistResults": [
{
"ruleSearchId": "rule-1",
"ruleName": "Invoice present",
"passed": true,
"clauses": [
{
"blueprintName": "Invoice",
"matched": true
},
{
"blueprintName": "Purchase Order",
"matched": true
}
]
}
],
"withinSchemaResults": [
{
"ruleSearchId": "rule-2",
"blueprintId": "671290be60a313d55c800016",
"blueprintName": "Invoice",
"overallStatus": "VERIFIED"
}
],
"crossSchemaResults": [
{
"ruleSearchId": "rule-3",
"overallStatus": "UNVERIFIED"
}
]
}
}
]
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "Invalid executionGroupUniqueIdentifiers.",
"instance": "/v1/{route}",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [],
"message": "Invalid executionGroupUniqueIdentifiers.",
"error": "Unprocessable Entity",
"statusCode": 422
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}Get workflow result groups by unique identifiers
Retrieve workflow execution result groups for one or more execution group unique identifiers (e.g. folder or subfolder ids).
Query parameters:
-
executionGroupUniqueIdentifiers (required): Comma-separated list of unique identifiers
-
workflowStepIds (optional): Comma-separated workflow step ObjectIds to filter results
Each result group includes structural fields and, when present, an assessment summary with overallPassed, assessmentStatus, rejectionReason, and per-rule pass/fail.
curl --request GET \
--url https://api.orion.file.ai/prod/v1/workflows/result-groups \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orion.file.ai/prod/v1/workflows/result-groups"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orion.file.ai/prod/v1/workflows/result-groups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.orion.file.ai/prod/v1/workflows/result-groups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.orion.file.ai/prod/v1/workflows/result-groups"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.orion.file.ai/prod/v1/workflows/result-groups")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orion.file.ai/prod/v1/workflows/result-groups")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"resultGroups": [
{
"id": "68218006ebc72170fdb221f7",
"workflowId": "68218006ebc72170fdb221f8",
"workflowStepId": "68218006ebc72170fdb221f9",
"workflowStepName": "Assessment",
"executionGroupName": "Acme Corp",
"executionGroupKey": "$contactName",
"executionGroupUniqueIdentifier": "folder-abc-123",
"status": "active",
"createdAt": "2024-10-18T16:45:50.064Z",
"updatedAt": "2025-05-15T09:23:31.609Z",
"assessment": {
"overallPassed": true,
"assessmentStatus": "PASSED",
"checklistResults": [
{
"ruleSearchId": "rule-1",
"ruleName": "Invoice present",
"passed": true,
"clauses": [
{
"blueprintName": "Invoice",
"matched": true
},
{
"blueprintName": "Purchase Order",
"matched": true
}
]
}
],
"withinSchemaResults": [
{
"ruleSearchId": "rule-2",
"blueprintId": "671290be60a313d55c800016",
"blueprintName": "Invoice",
"overallStatus": "VERIFIED"
}
],
"crossSchemaResults": [
{
"ruleSearchId": "rule-3",
"overallStatus": "UNVERIFIED"
}
]
}
}
]
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "Invalid executionGroupUniqueIdentifiers.",
"instance": "/v1/{route}",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [],
"message": "Invalid executionGroupUniqueIdentifiers.",
"error": "Unprocessable Entity",
"statusCode": 422
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}{
"type": "https://errors.file.ai/validation-failed",
"title": "Validation failed",
"status": 422,
"detail": "One or more fields are invalid.",
"instance": "/v1/files/upload",
"code": "VALIDATION_FAILED",
"requestId": "0f1c8e03-978e-40d5-bc93-6894a57f9324",
"errors": [
{
"code": "REQUIRED",
"detail": "must not be empty",
"pointer": "#/fileName",
"parameter": "limit"
}
],
"message": "Validation failed",
"error": "Unprocessable Entity",
"statusCode": 422,
"retryAfter": 42
}Request Parameters
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| executionGroupUniqueIdentifiers | string | Yes | Comma-separated execution group unique identifiers (folder/subfolder ids) |
| workflowStepIds | string | No | Comma-separated workflow step ObjectIds to filter the results by |
https://api.orion.file.ai/prod/v1. If
your workspace is on an instance-specific host, swap the hostname and change
nothing else — see Switching between
instances.curl -X GET "https://api.orion.file.ai/prod/v1/workflows/result-groups?executionGroupUniqueIdentifiers=folder-abc-123,folder-def-456" \
-H "x-api-key: YOUR_API_KEY"
Response Structure
Result Group Object
| Field | Type | Description |
|---|---|---|
| id | string | Unique result group identifier |
| workflowId | string | The workflow this result belongs to |
| workflowStepId | string | The workflow step that produced this result |
| workflowStepName | string | Step name (nullable) |
| executionGroupName | string | Human-readable group name, e.g. the folder name (nullable) |
| executionGroupKey | string | The key the group was formed on, e.g. $contactName (nullable) |
| executionGroupUniqueIdentifier | string | The identifier you queried on (nullable) |
| status | string | Result group status (e.g. active) |
| assessment | object | Assessment summary, when the step produced one (nullable) |
| createdAt | string | ISO 8601 timestamp of creation |
| updatedAt | string | ISO 8601 timestamp of last update |
Assessment Summary
| Field | Type | Description |
|---|---|---|
| overallPassed | boolean | Whether the group passed overall |
| assessmentStatus | string | Overall status, e.g. PASSED |
| rejectionReason | string | Why the group was rejected, when applicable (nullable) |
| checklistResults | array | Per-rule checklist outcomes, each with passed and clauses |
| withinSchemaResults | array | Per-rule results evaluated within a single schema |
| crossSchemaResults | array | Per-rule results evaluated across schemas |
Example Response
{
"resultGroups": [
{
"id": "68218006ebc72170fdb221f7",
"workflowId": "68218006ebc72170fdb221f8",
"workflowStepId": "68218006ebc72170fdb221f9",
"workflowStepName": "Assessment",
"executionGroupName": "Acme Corp",
"executionGroupKey": "$contactName",
"executionGroupUniqueIdentifier": "folder-abc-123",
"status": "active",
"createdAt": "2024-10-18T16:45:50.064Z",
"updatedAt": "2025-05-15T09:23:31.609Z",
"assessment": {
"overallPassed": true,
"assessmentStatus": "PASSED",
"checklistResults": [
{
"ruleSearchId": "rule-1",
"ruleName": "Invoice present",
"passed": true,
"clauses": [
{ "blueprintName": "Invoice", "matched": true },
{ "blueprintName": "Purchase Order", "matched": true }
]
}
],
"withinSchemaResults": [
{
"ruleSearchId": "rule-2",
"blueprintId": "671290be60a313d55c800016",
"blueprintName": "Invoice",
"overallStatus": "VERIFIED"
}
],
"crossSchemaResults": [
{ "ruleSearchId": "rule-3", "overallStatus": "UNVERIFIED" }
]
}
}
]
}
assessment is only present for steps that run an assessment. Steps of other
types return the structural fields with assessment set to null.Errors
A422 is returned when executionGroupUniqueIdentifiers or workflowStepIds
are malformed. See Error responses.Authorizations
API key for authentication
Query Parameters
Comma-separated execution group unique identifiers (folder/subfolder ids)
"folder-abc-123,folder-def-456"
Optional comma-separated workflow step ObjectIds to filter by
"649e2d2d2d2d2d2d2d2d2d2e,649e2d2d2d2d2d2d2d2d2d2f"
Response
The workflow result groups are retrieved
Show child attributes
Show child attributes