openapi: 3.2.0 info: title: Vantage processing REST Transaction Documents API description: 'The Vantage Processing REST API lets you process documents programmatically: create transactions, upload files, launch skills, monitor progress, and download results. For authentication and a first end-to-end request, see the Getting started guide.' version: '1.0' x-application-version: 1.0.0-20251028.13+6e102d0c2a7a440df9ee9615e09b3c8c333587ac 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 security: - OAuth2Security: - global.wildcard - openid - permissions tags: - name: Transaction Documents paths: /api/publicapi/v1/transactions/{transactionId}/documents: post: tags: - Transaction Documents summary: Creates a transaction document that will be used to group some files in single… description: Non-process skills allow only one document operationId: CreateTransactionDocument parameters: - name: transactionId in: path description: 'Transaction identifier. You receive it in the response after the transaction has been successfully created.' required: true schema: type: string format: uuid requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentCreateRequest' application/json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentCreateRequest' text/json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentCreateRequest' application/*+json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentCreateRequest' responses: '201': description: Transaction document successfully added content: text/plain: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.NewTransactionDocumentResult' application/json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.NewTransactionDocumentResult' text/json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.NewTransactionDocumentResult' '400': description: Some parameters are invalid content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Transaction not found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' get: tags: - Transaction Documents summary: Gets transaction documents operationId: GetTransactionDocuments parameters: - name: transactionId in: path description: 'Transaction identifier. You receive it in the response after the transaction has been successfully created.' required: true schema: type: string format: uuid responses: '200': description: Transaction documents content: text/plain: schema: type: array items: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult' application/json: schema: type: array items: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult' text/json: schema: type: array items: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult' '400': description: Some parameters are invalid content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Transaction not found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Returns the documents that belong to the transaction, including the files attached to each document. Use this to check how uploaded files were grouped into documents before or after processing. /api/publicapi/v1/transactions/{transactionId}/documents/{documentId}: get: tags: - Transaction Documents summary: Gets transaction document info operationId: GetTransactionDocument parameters: - name: transactionId in: path description: Transaction identifier required: true schema: type: string format: uuid - name: documentId in: path description: Transaction document identifier required: true schema: type: string format: uuid responses: '200': description: Transaction document info content: text/plain: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult' application/json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult' text/json: schema: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult' '400': description: Some parameters are invalid content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Transaction not found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Returns information about a single document in the transaction, including the files it contains. You can find document identifiers in the response of the list transaction documents request. delete: tags: - Transaction Documents summary: Deletes the document from specified transaction operationId: DeleteTransactionDocument parameters: - name: transactionId in: path description: Transaction identifier required: true schema: type: string format: uuid - name: documentId in: path description: Transaction document identifier required: true schema: type: string format: uuid responses: '200': description: Transaction document successfully deleted '400': description: Some parameters are invalid content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Transaction not found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Removes the document and its files from the transaction. Use this to drop a document that should not be processed before you start the transaction. /api/publicapi/v1/transactions/{transactionId}/documents/{documentId}/sourceFiles: post: tags: - Transaction Documents summary: Adds files to the transaction document description: 'Uploads a set of files to be processed in the specified transaction document. The maximum size of processed files should not exceed 2 GB. The maximum count per transaction should not exceed 1000 for process skill.' operationId: AddFilesToTransactionDocument parameters: - name: transactionId in: path description: Transaction identifier required: true schema: type: string format: uuid - name: documentId in: path description: Transaction document identifier required: true schema: type: string format: uuid requestBody: content: multipart/form-data: schema: type: object properties: Model: type: object properties: files: type: - array - 'null' items: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentFileMetadataDto' description: Files processing parameters additionalProperties: false description: Additional processing parameters for transaction document. See TransactionDocumentMetadataDto model. Files: type: array items: type: string description: Model for getting file passed in multipart/* content format: binary encoding: Model: contentType: application/json style: form explode: true Files: contentType: application/octet-stream style: form explode: true responses: '200': description: Files successfully added to a transaction document '400': description: Invalid required parameter or max file size exceeded content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Transaction belongs to another tenant content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Transaction not found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '409': description: Max files count exceeded content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /api/publicapi/v1/transactions/{transactionId}/documents/{documentId}/sourceFiles/{fileId}/download: get: tags: - Transaction Documents summary: Downloads the source file of the transaction operationId: DownloadTransactionDocumentSourceFile parameters: - name: transactionId in: path description: Transaction identifier required: true schema: type: string format: uuid - name: documentId in: path description: Transaction document identifier required: true schema: type: string format: uuid - name: fileId in: path description: Blob identifier required: true schema: type: string responses: '200': description: File content is successfully returned content: application/octet-stream: schema: type: string format: binary '403': description: Transaction belongs to another tenant content: application/octet-stream: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Transaction not found content: application/octet-stream: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' description: Downloads the original file that was uploaded to the transaction document, returned as a binary stream. You can find file identifiers in the transaction document info. components: schemas: Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.ImageProcessingOptions: type: object properties: autoCrop: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.PreprocessingOperationSwitcher' description: Controls automatic cropping of images during import. Set to `Yes` or `No` to override the skill settings, or `Default` to use the behavior configured in the skill. autoOrientation: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.PreprocessingOperationSwitcher' description: Controls automatic page orientation correction during import. Set to `Yes` or `No` to override the skill settings, or `Default` to use the behavior configured in the skill. additionalProperties: false description: Image preprocessing settings for import Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentCreateRequest: type: object properties: index: type: - integer - 'null' description: Documents in transaction will be ordered by this parameter format: int32 imageProcessingOptions: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.ImageProcessingOptions' description: Image preprocessing settings (automatic cropping and orientation correction) applied to files imported into this document. additionalProperties: false Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionFileRegistrationParameter: required: - key - value type: object properties: key: minLength: 1 type: string description: Key (name) of the parameter value: minLength: 1 type: string description: Value of the parameter additionalProperties: false Abbyy.Vantage.PublicApi.Contract.Transactions.Results.TransactionDocumentResult: required: - documentId - sourceFiles type: object properties: documentId: type: string description: Document Id format: uuid sourceFiles: type: array items: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Results.FileDto' description: Source files collection additionalProperties: false Microsoft.AspNetCore.Mvc.ProblemDetails: type: object properties: type: type: - string - 'null' description: URI reference that identifies the problem type. title: type: - string - 'null' description: Short, human-readable summary of the problem type. status: type: - integer - 'null' format: int32 description: HTTP status code for this occurrence of the problem. detail: type: - string - 'null' description: Human-readable explanation specific to this occurrence of the problem. instance: type: - string - 'null' description: URI reference that identifies this specific occurrence of the problem. additionalProperties: {} Abbyy.Vantage.PublicApi.Contract.Transactions.Results.FileDto: required: - id - name type: object properties: id: minLength: 1 type: string description: Unique identifier of the file name: minLength: 1 type: string description: Name of the file. Must be unique to transaction additionalProperties: false Abbyy.Vantage.PublicApi.Contract.Transactions.Results.NewTransactionDocumentResult: required: - documentId type: object properties: documentId: type: string description: Document Id format: uuid additionalProperties: false Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.PreprocessingOperationSwitcher: enum: - Default - 'Yes' - 'No' type: string description: Switcher of image preprocessing operations Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionDocumentFileMetadataDto: type: object properties: index: type: - integer - 'null' description: Files in document in transaction will be ordered by this parameter format: int32 registrationParameters: maxItems: 10 type: - array - 'null' items: $ref: '#/components/schemas/Abbyy.Vantage.PublicApi.Contract.Transactions.Requests.TransactionFileRegistrationParameter' description: "Additional file registration parameters. Predefined parameters:\n \nSourceType: Where the file came from, usually the connector name (scanning station);\n \nSourceDetails: How the file was received;\n \nSourceFileName: The name of the file being added (invoice.jfif)\n \nSourceFilePath: The path to the file\n \nSourceArchiveName: The name of the archive containing the file being added\n \nSourceFolderName: The name of the subfolder which containing the file being added" additionalProperties: false description: Additional file processing parameters securitySchemes: OAuth2Security: type: oauth2 flows: authorizationCode: authorizationUrl: https://vantage-us.abbyy.com/auth2/connect/authorize tokenUrl: https://vantage-us.abbyy.com/auth2/connect/token scopes: global.wildcard: Global wildcard openid: User Id permissions: User permissions