Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.0.4
servers:
- url: https://vantage-us.abbyy.com
description: Production United States
- url: https://vantage-eu.abbyy.com
description: Production Europe
- url: https://vantage-au.abbyy.com
description: Production Australia
info:
title: Abbyy.Vantage.Reporting.Service
description: The Vantage Reporting API provides data for retrospective analysis of document processing. Use it to download
CSV reports from the Business Processing Reporting Warehouse (transaction-level step data) and the Analytics Reporting
Warehouse (document and field changes made during Manual Review). Only users with the Tenant Administrator or Processing
Supervisor role can download data reports. For an overview of both warehouses, see the [Reporting service](/vantage/developer/reporting/reporting-service)
guide.
version: '2.0'
x-application-version: 1.5.2
paths:
/api/reporting/v2/qa/process-skills/documents:
get:
tags:
- Report
operationId: GetDocumentsAsCsv
parameters:
- name: startDate
in: query
description: Minimum transaction completion date
schema:
type: string
required: true
- name: endDate
in: query
description: Maximum transaction completion date
schema:
type: string
format: date-time
- name: processSkillId
in: query
description: ID of the process skill used in the transactions
schema:
type: string
- name: imageType
in: query
description: Image type of the document, e.g. receipt, business card, etc.
schema:
type: string
- name: imageColority
in: query
description: Colority of the document, e.g. color, black and white, etc.
schema:
type: string
- name: imageSource
in: query
description: Source of the document, e.g. scan, photo, etc.
schema:
type: string
- name: wasCorrectedInManualReview
in: query
description: Only show documents that were corrected during manual review
schema:
type: string
- name: wasDocumentTypeChangedInManualReview
in: query
description: Only show documents, where the document type was changed during manual review
schema:
type: string
responses:
'200':
description: Returns the document changes report as a CSV file with a header row. Each row describes one processed
document. The example below shows a subset of columns; for the full column reference, see [Analytics Reporting
Warehouse](/vantage/developer/reporting/analytics-reporting).
content:
text/plain:
schema:
type: string
format: binary
example: 'ProcessSkillId,ProcessSkillName,TransactionId,HasManualReview,DocumentId,DocumentName,ImageSource,DocumentSkillChanged,NumberOfExportedFields,NumberOfChangedFields
9f0b2a1c-...,Invoice Processing,6d7e9eeb-...,1,c4a01f7d-...,Invoice CA_2.pdf,PDF file,false,12,2'
application/json:
schema:
type: string
format: binary
text/json:
schema:
type: string
format: binary
summary: Download document changes report
description: Downloads a CSV report from the Analytics Reporting Warehouse about documents processed by a Process skill.
Each row describes one document, including whether its fields were corrected or its document type was changed during
Manual Review. For the full column reference, see [Analytics Reporting Warehouse](/vantage/developer/reporting/analytics-reporting).
/api/reporting/v2/qa/process-skills/fields:
get:
tags:
- Report
operationId: GetFieldsAsCsv
parameters:
- name: startDate
in: query
description: Minimum transaction completion date
schema:
type: string
required: true
- name: endDate
in: query
description: Maximum transaction completion date
schema:
type: string
format: date-time
- name: processSkillId
in: query
description: ID of the process skill used in the transactions
schema:
type: string
required: true
- name: documentSkillId
in: query
description: ID of the document skill used in the transactions
schema:
type: string
- name: imageType
in: query
description: Image type of the document, e.g. receipt, business card, etc.
schema:
type: string
- name: imageColority
in: query
description: Colority of the document, e.g. color, black and white, etc.
schema:
type: string
- name: imageSource
in: query
description: Source of the document, e.g. scan, photo, etc.
schema:
type: string
- name: wasCorrectedInManualReview
in: query
description: Only show documents that were corrected during manual review
schema:
type: string
- name: wasDocumentTypeChangedInManualReview
in: query
description: Only show documents, where the document type was changed during manual review
schema:
type: string
responses:
'200':
description: Returns the field changes report as a CSV file with a header row. Each row describes one extracted
field and how it fared in Manual Review. The example below shows a subset of columns; for the full column reference,
see [Analytics Reporting Warehouse](/vantage/developer/reporting/analytics-reporting).
content:
text/plain:
schema:
type: string
format: binary
example: 'ProcessSkillId,ProcessSkillName,TransactionId,DocumentId,DocumentName,FieldID,FieldName,Correct,RecognitionIssue,DetectedIncorrectly,NotDetected,IsInDocument
9f0b2a1c-...,Invoice Processing,6d7e9eeb-...,c4a01f7d-...,Invoice CA_2.pdf,f81d4fae-...,TotalAmount,1,0,0,0,1'
application/json:
schema:
type: string
format: binary
text/json:
schema:
type: string
format: binary
summary: Download field changes report
description: Downloads a CSV report from the Analytics Reporting Warehouse about document fields processed by Process
and Document skills. Each row describes one field, including whether its value was correct, had recognition issues,
was located incorrectly, or was not detected before Manual Review. For the full column reference, see [Analytics Reporting
Warehouse](/vantage/developer/reporting/analytics-reporting).
/api/reporting/v2/exports/transaction-steps:
post:
tags:
- Report
operationId: CreateTransactionStepsExportRequest
requestBody:
content:
application/json-patch+json:
schema:
allOf:
- $ref: '#/components/schemas/CreateTransactionStepsCsvRequest'
application/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateTransactionStepsCsvRequest'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/CreateTransactionStepsCsvRequest'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/CreateTransactionStepsCsvRequest'
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/CreateReportRequestResponse'
application/json:
schema:
$ref: '#/components/schemas/CreateReportRequestResponse'
text/json:
schema:
$ref: '#/components/schemas/CreateReportRequestResponse'
summary: Create transaction steps export
description: Starts an asynchronous CSV export of transaction step data from the Business Processing Reporting Warehouse.
The response returns a `requestId` that you use to poll the export status and download the result files once the export
succeeds. For the full workflow and CSV column reference, see [Business Processing Reporting](/vantage/developer/reporting/business-reporting).
get:
tags:
- Report
operationId: ListExportRequests
parameters:
- name: statusFilter
in: query
schema:
type: array
items:
type: string
description: 'Return only export requests with the given statuses. Allowed values: `New`, `Queued`, `Processing`,
`Succeeded`, `Failed`, `Cancelled`.'
- name: createdFrom
in: query
schema:
type: string
description: Earliest request creation date to include, for example `2025-11-05`.
- name: createdTo
in: query
schema:
type: string
description: Latest request creation date to include, for example `2025-11-17`.
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ListReportRequestsResponse'
application/json:
schema:
$ref: '#/components/schemas/ListReportRequestsResponse'
text/json:
schema:
$ref: '#/components/schemas/ListReportRequestsResponse'
summary: List export requests
description: Returns the transaction steps export requests created by the current user, optionally filtered by status
and creation date. Use this endpoint to recover a `requestId` if you no longer have it.
/api/reporting/v2/exports/transaction-steps/{requestId}/status:
get:
tags:
- Report
operationId: GetExportStatus
parameters:
- name: requestId
in: path
required: true
schema:
type: string
description: ID of the export request, as returned in the response when the export was created.
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/ReportRequestStatusResponse'
application/json:
schema:
$ref: '#/components/schemas/ReportRequestStatusResponse'
text/json:
schema:
$ref: '#/components/schemas/ReportRequestStatusResponse'
summary: Get export request status
description: Returns the current status of a transaction steps export request. Poll this endpoint until the status is
`Succeeded`, then use `totalFileCount` from the response to download each result file by its zero-based index.
/api/reporting/v2/exports/transaction-steps/{requestId}/result/{fileIndex}:
get:
tags:
- Report
operationId: GetExportResult
parameters:
- name: requestId
in: path
required: true
schema:
type: string
description: ID of the export request, as returned in the response when the export was created.
- name: fileIndex
in: path
required: true
schema:
type: integer
format: int32
description: Zero-based index of the result file to download. The `totalFileCount` value from the status response
gives the number of available files, so valid indexes run from `0` to `totalFileCount - 1`.
responses:
'200':
description: Returns one result file of a succeeded export request as a CSV file with a header row. Each row describes
one processing step of a transaction. Download one file per `fileIndex`, from 0 up to `totalFileCount - 1` reported
by the status endpoint. For the full column reference, see [Business Processing Reporting](/vantage/developer/reporting/business-reporting).
content:
text/plain:
schema:
type: string
format: binary
example: 'SkillId,SkillVersion,SkillName,TransactionId,StepName,StepType,ManualReviewOperatorName,ManualReviewOperatorEmail,StartedUtc,CompletedUtc,Status,Duration,DocumentsCount,PagesCount,document_SourceFileName,document_SourceType,transaction_App
d0e27b2d-...,1,Redaction Test,6d7e9eeb-...,Input,Input,,,11/17/2025 19:37:52,11/17/2025 19:38:01,FinishedSuccessfully,9,,,Invoice
CA_2.pdf,PublicAPI,PublicAPI
d0e27b2d-...,1,Redaction Test,6d7e9eeb-...,OCR,Ocr,,,11/17/2025 19:38:02,11/17/2025 19:38:17,FinishedSuccessfully,15,,,Invoice
CA_2.pdf,PublicAPI,PublicAPI'
application/json:
schema:
type: string
format: binary
text/json:
schema:
type: string
format: binary
summary: Download export result file
description: Downloads one CSV result file of a completed transaction steps export. Each row is one processing step
of a transaction, such as OCR, classification, or Manual Review. Result files are stored for 2 weeks after the export
request completes.
components:
schemas:
ActiveTransaction:
type: object
properties:
stage:
allOf:
- $ref: '#/components/schemas/StageType'
description: Current stage of the transaction
stageName:
type: string
description: Current stage's name of the transaction in manual reviewer stage
nullable: true
reviewerEmail:
type: string
description: Email of the reviewer in manual review stage
nullable: true
reviewerName:
type: string
description: Name of the reviewer in manual review stage
nullable: true
transactionId:
type: string
description: ID of the transaction
format: uuid
createTimeUtc:
type: string
description: Time of creation
format: date-time
transactionParameters:
type: array
items:
$ref: '#/components/schemas/Parameter'
description: Registration parameters of the transaction
nullable: true
fileParameters:
type: array
items:
$ref: '#/components/schemas/Parameter'
description: Registration parameters of the file in for transaction
nullable: true
skillId:
type: string
description: Skill Id of the transaction
nullable: true
skillVersion:
type: integer
description: Version of the transaction's skill
format: int32
documentCount:
type: integer
description: Initial document count of the transaction
format: int32
additionalProperties: false
description: Active transactions
AggregationContext:
enum:
- Documents
- Fields
type: string
AsyncStepReportFilters:
required:
- startDate
type: object
properties:
skillId:
type: string
description: Filter by transaction skill ID. {NULL} if skill ID filter should not be applied
nullable: true
transactionId:
type: string
description: Filter by transaction ID. {NULL} if ID filter should not be applied
nullable: true
startDate:
type: string
description: Minimum transaction step completion date
format: date-time
endDate:
type: string
description: Maximum step completion date (current UTC time if empty)
format: date-time
additionalProperties: false
AvailableDimensionFieldFilterStatistics:
allOf:
- $ref: '#/components/schemas/AvailableFilterStatistics'
- type: object
properties:
id:
type: string
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/DimensionFieldDescriptor'
additionalProperties: false
AvailableDocumentFieldFilterStatistics:
allOf:
- $ref: '#/components/schemas/AvailableFilterStatistics'
- type: object
properties:
id:
type: string
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
additionalProperties: false
AvailableDocumentTypeFilterStatistics:
allOf:
- $ref: '#/components/schemas/AvailableFilterStatistics'
- type: object
properties:
id:
type: string
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
additionalProperties: false
AvailableFilterStatistics:
required:
- type
type: object
properties:
type:
type: string
id:
type: string
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
additionalProperties: false
discriminator:
propertyName: type
description: Base type for statistics about a filter that can be applied to Quality Analytics data. The `type` discriminator
identifies the concrete filter statistics variant, and `filterType` categorizes the filter.
AvailablePredefinedFilterStatistics:
allOf:
- $ref: '#/components/schemas/AvailableFilterStatistics'
- type: object
properties:
id:
type: string
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/PredefinedFilterDescriptor'
additionalProperties: false
AvailableReports:
type: object
properties:
classificationReport:
type: boolean
documentSkillReports:
type: array
items:
$ref: '#/components/schemas/DocumentSkillReference'
nullable: true
additionalProperties: false
description: 'Indicates which detailed correction reports are available for the current selection: a classification
report and per-Document-skill field reports.'
AvailableTransactionParameterFilterStatistics:
allOf:
- $ref: '#/components/schemas/AvailableFilterStatistics'
- type: object
properties:
id:
type: string
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/TransactionParameterDescriptor'
additionalProperties: false
CompletedTransaction:
type: object
properties:
status:
type: string
description: Finished transaction status
nullable: true
pageCount:
type: integer
description: Page count of the transaction
format: int32
transactionId:
type: string
description: ID of the transaction
format: uuid
createTimeUtc:
type: string
description: Time of creation
format: date-time
transactionParameters:
type: array
items:
$ref: '#/components/schemas/Parameter'
description: Registration parameters of the transaction
nullable: true
fileParameters:
type: array
items:
$ref: '#/components/schemas/Parameter'
description: Registration parameters of the file in for transaction
nullable: true
skillId:
type: string
description: Skill Id of the transaction
nullable: true
skillVersion:
type: integer
description: Version of the transaction's skill
format: int32
documentCount:
type: integer
description: Initial document count of the transaction
format: int32
additionalProperties: false
description: Finished transactions
ConfusionMatrix:
allOf:
- $ref: '#/components/schemas/Widget'
- type: object
properties:
rowsHeaders:
type: array
items:
$ref: '#/components/schemas/HeaderDescriptor'
columnHeaders:
type: array
items:
$ref: '#/components/schemas/HeaderDescriptor'
rows:
type: array
items:
type: array
items:
$ref: '#/components/schemas/Value'
id:
type: string
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/WidgetType'
readOnly: true
subType:
type: string
nullable: true
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/DefaultWidgetDescriptor'
additionalProperties: false
CreateReportRequestResponse:
type: object
properties:
requestId:
type: string
format: uuid
description: Unique identifier of the report generation request. Pass it to the status and result endpoints.
additionalProperties: false
description: Response returned after a transaction steps export request is created. Contains the request ID used to
poll the export status and download the result files.
CreateTransactionStepsCsvRequest:
type: object
properties:
filters:
allOf:
- $ref: '#/components/schemas/AsyncStepReportFilters'
description: Transaction steps filters
nullable: true
sendEmailNotification:
type: boolean
description: Enables to send notification on request processing completion
additionalProperties: false
DataPoint:
type: object
properties:
amount:
type: integer
format: int64
description: Number of items with the measured quality in the interval.
rate:
type: number
format: double
description: Share of the measured items relative to the total amount in the interval, as a fraction.
additionalProperties: false
description: "Datapoint represents a given measured quality\nand it's rate relatively to the total amount in the given\
\ interval\n \nFor example Straight-trough processing transactions in a given interval\nand it's rate relative\
\ to all transactions."
DefaultWidgetDescriptor:
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/StatisticsType'
additionalProperties: false
description: Describes a default Quality Analytics widget by the type of statistics it shows, for example STP rate of
transactions or field extraction accuracy.
DimensionFieldDescriptor:
type: object
properties:
documentSkillName:
type: string
documentSkillId:
type: string
fieldName:
type: string
fieldId:
type: string
additionalProperties: false
description: Identifies a dimension field by the Document skill it belongs to and the field's name and ID. Dimension
fields are document fields used to slice analytics data.
DimensionFieldFilter:
allOf:
- $ref: '#/components/schemas/Filter'
- type: object
properties:
values:
type: array
items:
type: string
nullable: true
documentSkillId:
type: string
fieldId:
type: string
type:
allOf:
- $ref: '#/components/schemas/FilterType'
additionalProperties: false
DimensionFieldFilterAggregatedStatistics:
allOf:
- $ref: '#/components/schemas/Widget'
- type: object
properties:
aggregation:
allOf:
- $ref: '#/components/schemas/AggregationContext'
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
id:
type: string
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/WidgetType'
readOnly: true
subType:
type: string
nullable: true
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/DimensionFieldDescriptor'
groups:
type: array
items:
$ref: '#/components/schemas/FilterAggregatedStatisticsGroup'
additionalProperties: false
DimensionFieldFilterReference:
allOf:
- $ref: '#/components/schemas/FilterReference'
- type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/FilterType'
documentSkillId:
type: string
fieldId:
type: string
additionalProperties: false
DimensionFieldFilterStatistics:
allOf:
- $ref: '#/components/schemas/Widget'
- type: object
properties:
aggregation:
allOf:
- $ref: '#/components/schemas/AggregationContext'
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
id:
type: string
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/WidgetType'
readOnly: true
subType:
type: string
nullable: true
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/DimensionFieldDescriptor'
slices:
type: array
items:
$ref: '#/components/schemas/SliceOfDimensionFieldFilterValue'
remaining:
allOf:
- $ref: '#/components/schemas/RemainingSliceOfFilterStatistics'
nullable: true
additionalProperties: false
DimensionFieldFilterValue:
type: object
properties:
value:
type: string
count:
type: integer
format: int64
additionalProperties: false
description: A single dimension field value and the number of items that match it.
DimensionFieldFilterValues:
allOf:
- $ref: '#/components/schemas/FilterValues'
- type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
documentSkillId:
type: string
documentSkillName:
type: string
fieldId:
type: string
fieldName:
type: string
values:
type: array
items:
type: string
additionalProperties: false
DocumentFieldFilter:
allOf:
- $ref: '#/components/schemas/Filter'
- type: object
properties:
values:
type: array
items:
type: string
nullable: true
type:
allOf:
- $ref: '#/components/schemas/FilterType'
additionalProperties: false
DocumentFieldFilterAggregatedStatistics:
allOf:
- $ref: '#/components/schemas/Widget'
- type: object
properties:
aggregation:
allOf:
- $ref: '#/components/schemas/AggregationContext'
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
id:
type: string
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/WidgetType'
readOnly: true
subType:
type: string
nullable: true
readOnly: true
groups:
type: array
items:
$ref: '#/components/schemas/FilterAggregatedStatisticsGroup'
additionalProperties: false
DocumentFieldFilterReference:
allOf:
- $ref: '#/components/schemas/FilterReference'
- type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/FilterType'
additionalProperties: false
DocumentFieldFilterStatistics:
allOf:
- $ref: '#/components/schemas/Widget'
- type: object
properties:
aggregation:
allOf:
- $ref: '#/components/schemas/AggregationContext'
readOnly: true
filterType:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
id:
type: string
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/WidgetType'
readOnly: true
subType:
type: string
nullable: true
readOnly: true
slices:
type: array
items:
$ref: '#/components/schemas/SliceOfDocumentFieldFilterValue'
remaining:
allOf:
- $ref: '#/components/schemas/RemainingSliceOfFilterStatistics'
nullable: true
additionalProperties: false
DocumentFieldFilterValue:
type: object
properties:
fieldId:
type: string
fieldName:
type: string
count:
type: integer
format: int64
additionalProperties: false
description: A document field, identified by ID and name, and the number of items that match it.
DocumentFieldFilterValues:
allOf:
- $ref: '#/components/schemas/FilterValues'
- type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/FilterType'
readOnly: true
values:
type: array
items:
$ref: '#/components/schemas/FieldReference'
additionalProperties: false
DocumentSkillCorrections:
allOf:
- $ref: '#/components/schemas/Widget'
- type: object
properties:
id:
type: string
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/WidgetType'
readOnly: true
subType:
type: string
nullable: true
readOnly: true
descriptor:
allOf:
- $ref: '#/components/schemas/DocumentSkillCorrectionsDescriptor'
slices:
type: array
items:
$ref: '#/components/schemas/SliceOfDocumentSkillCorrectionsDetails'
remaining:
allOf:
- $ref: '#/components/schemas/RemainingSliceOfDocumentSkillCorrectionsStatistics'
nullable: true
additionalProperties: false
DocumentSkillCorrectionsDescriptor:
type: object
properties:
detailedReportAvailable:
type: boolean
type:
allOf:
- $ref: '#/components/schemas/StatisticsType'
additionalProperties: false
description: 'Describes a Document skill corrections widget: the type of statistics it shows and whether a detailed
report is available for it.'
DocumentSkillCorrectionsDetails:
type: object
properties:
documentSkillId:
type: string
documentSkillName:
type: string
correctedDocument
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/abbyy/refs/heads/main/openapi/abbyy-vantage-reporting-openapi.yml