> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting a list of transactions

> Get a list of active or completed transactions using the ABBYY Vantage API to track Manual Review status, fetch review links, download result files, and pick up finished transactions with cursor-based pagination.

A list of all active or completed transactions can be used to:

* Track active transactions currently at the Manual Review stage.
* Obtain a manual review link for active transactions.
* Download the result files of completed transactions.
* Pick up finished transactions in the order they completed, without tracking which ones you have already collected.

You can get a list of transactions with their identifiers using the Vantage API. You can use [Skill Monitor](/vantage/documentation/runtime/skill-monitor/skill-monitor) to apply more advanced filters.

### List of active transactions

To get a list of active transactions, send a GET request to the `transactions/active` resource.

In the request body, specify the following parameters:

| Parameter | Description |
| - | - |
| StageType | The stage of the transaction.<br />The possible values are:<br />- ManuaReview<br />- CustomActivity<br />- Automatic (all stages in which the user is not required, for example, extracting fields) |
| StageName | The name of the specific action (only for the ManualReview stage). |
| SkillId | The skill identifier.<br />If no value is specified, all available skills will be taken into account. |
| SkillVersion | The skill version.<br />If no value is specified, all versions of available skills will be taken into account. |
| StartDate | The creation time of the earliest transaction (must be specified in UTC format). |
| EndDate | The creation time of the latest transaction (must be specified in UTC format).<br />If this value is not specified, the current UTC time will be used instead. |
| TransactionParameters | The list of transaction parameters consisting of key-value string pairs. These parameters provide additional user information (for example, the client name).<br />Parameters must be provided in the following format: `TransactionParameters={“key”: “string_1”,”value”:”string”}&TransactionParameters={“key”: “string_2”,”value”:”string”}` |
| DocumentParameters | The list of document parameters consisting of key-value string pairs. These parameters provide additional document information (for example, the file name).<br />Parameters must be provided in the following format: `DocumentParameters={“key”: “string_1”,”value”:”string”}&DocumentParameters={“key”: “string_2”,”value”:”string”}` |
| Offset | The pagination offset.<br />The default value of the parameter is **0**. |
| Limit | The pagination limit. The parameter is required.<br />Accepted values: **1** to **1000**. |

Sample request:

<CodeGroup>
  ```shell US theme={null}
  curl -X GET "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/active"
  -H "Authorization: Bearer token"
  ```

  ```shell EU theme={null}
  curl -X GET "https://vantage-eu.abbyy.com/api/publicapi/v1/transactions/active"
  -H "Authorization: Bearer token"
  ```

  ```shell AU theme={null}
  curl -X GET "https://vantage-au.abbyy.com/api/publicapi/v1/transactions/active"
  -H "Authorization: Bearer token"
  ```
</CodeGroup>

The response to a request with a specified skill identifier will contain a JSON file similar to the following:

```json expandable theme={null}
{
  "items": [
    {
      "stage": "ManualReview",
      "stageName": "Review",
      "seqId": 13758,
      "transactionId": "56a50415-fe1d-4493-81ba-97ff07e3ffce",
      "createTimeUtc": "2023-09-11T13:53:30.633Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "string",
          "value": "string"
        },
        {
          "isReadOnly": true,
          "key": "App",
          "value": "PublicAPI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "string",
          "value": "string"
        },
        {
          "isReadOnly": true,
          "key": "Index",
          "value": "0"
        },
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "BillofLading_1.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "PublicAPI"
        }
      ],
      "skillId": "workspace.default.processing",
      "skillVersion": 18,
      "documentCount": 1
    }
  ],
  "totalItemCount": 7
}
```

The response to a request with a specified stage and action will contain a JSON file with all active transactions similar to the following:

```json expandable theme={null}
{
  "items": [
    {
      "stage": "ManualReview",
      "stageName": "Review2",
      "seqId": 13852,
      "transactionId": "e646754e-d854-4b21-af91-58cb63ead7a6",
      "createTimeUtc": "2023-09-11T14:04:37.97Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "string",
          "value": "string"
        },
        {
          "isReadOnly": true,
          "key": "App",
          "value": "PublicAPI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "string",
          "value": "string"
        },
        {
          "isReadOnly": true,
          "key": "Index",
          "value": "0"
        },
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "BillofLading_1.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "PublicAPI"
        }
      ],
      "documentCount": 1
    }
  ],
  "totalItemCount": 2
}
```

You can also obtain a Manual Review client link for currently active transactions. To do so, send a GET request to the `transactions/<transaction_id>` resource with the transaction identifier in the request URI.

Sample request:

<CodeGroup>
  ```shell US theme={null}
  curl -X GET "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/transaction-id" \
    -H "Authorization: Bearer token"
  ```

  ```shell EU theme={null}
  curl -X GET "https://vantage-eu.abbyy.com/api/publicapi/v1/transactions/transaction-id" \
    -H "Authorization: Bearer token"
  ```

  ```shell AU theme={null}
  curl -X GET "https://vantage-au.abbyy.com/api/publicapi/v1/transactions/transaction-id" \
    -H "Authorization: Bearer token"
  ```
</CodeGroup>

The response will contain code similar to the following:

<CodeGroup>
  ```json US theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "Processing",
    "manualReviewLink": "https://vantage-us.abbyy.com/api/publicapi/v1/verify?documentIds=9838448d-72ae-4e9a-b071-2bb16f732e46",
    "sourceFiles": [
      {
        "id": "7b2eed6f-3fdd-43b9-a178-7211d0a8d5bb",
        "name": "Invoice07.JPG"
      }
    ]
  }
  ```

  ```json EU theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "Processing",
    "manualReviewLink": "https://vantage-eu.abbyy.com/api/publicapi/v1/verify?documentIds=9838448d-72ae-4e9a-b071-2bb16f732e46",
    "sourceFiles": [
      {
        "id": "7b2eed6f-3fdd-43b9-a178-7211d0a8d5bb",
        "name": "Invoice07.JPG"
      }
    ]
  }
  ```

  ```json AU theme={null}
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "Processing",
    "manualReviewLink": "https://vantage-au.abbyy.com/api/publicapi/v1/verify?documentIds=9838448d-72ae-4e9a-b071-2bb16f732e46",
    "sourceFiles": [
      {
        "id": "7b2eed6f-3fdd-43b9-a178-7211d0a8d5bb",
        "name": "Invoice07.JPG"
      }
    ]
  }
  ```
</CodeGroup>

The `manualReviewLink` key will contain a link to the web interface of the Manual Review client and a Vantage access token, if manual review is required. This link and token can be used to review and correct the classification and field extraction results of a particular transaction. The provided link is valid for 168 hours, after which a new link should be created and obtained for another period of 168 hours using the same method. For more information, see [Integrating manual review](/vantage/developer/integrating-manual-review).

<Info>
  Users authorized via this link will not be able to view or modify any other documents or transactions.
</Info>

### List of completed transactions

To get a list of completed transactions, send a GET request to the `transactions/completed` resource.

In the request body, specify the parameters:

| Parameter | Description |
| - | - |
| TransactionStatus | The status of the transaction.<br />The possible values are:<br />- Processed<br />- Cancelled<br />- Failed |
| SkillId | The skill identifier.<br />If no value is specified, all available skills will be taken into account. |
| SkillVersion | The skill version.<br />If no value is specified, all versions of available skills will be taken into account. |
| StartDate | The creation time of the earliest transaction (must be specified in UTC format). |
| EndDate | The creation time of the latest transaction (must be specified in UTC format).<br />If this value is not specified, the current UTC time will be used instead. |
| TransactionParameters | The list of transaction parameters consisting of key-value string pairs. These parameters provide additional user information (for example, the client name).<br />Parameters must be provided in the following format: `TransactionParameters={“key”: “string_1”,”value”:”string”}&TransactionParameters={“key”: “string_2”,”value”:”string”}` |
| DocumentParameters | The list of document parameters consisting of key-value string pairs. These parameters provide additional document information (for example, the file name).<br />Parameters must be provided in the following format: `DocumentParameters={“key”: “string_1”,”value”:”string”}&DocumentParameters={“key”: “string_2”,”value”:”string”}` |
| Offset | The pagination offset.<br />The default value of the parameter is **0**. |
| Limit | The pagination limit. The parameter is required.<br />Accepted values: **1** to **1000**. |

The response will contain a JSON file with all completed transactions and a number of processed pages similar to the following:

```json expandable theme={null}
{
  "items": [
    {
      "status": "Processed",
      "pageCount": 1,
      "transactionId": "fc9920fe-f788-47f8-9972-b767493faed9",
      "createTimeUtc": "2023-09-11T13:47:50.273Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "string",
          "value": "string"
        },
        {
          "isReadOnly": true,
          "key": "App",
          "value": "PublicAPI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "string",
          "value": "string"
        },
        {
          "isReadOnly": true,
          "key": "Index",
          "value": "0"
        },
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "BillofLading_1.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "PublicAPI"
        }
      ],
      "skillId": "3f6b1c2a-8d4e-4f5a-9b0c-7e1d2a3b4c5d",
      "skillVersion": 1,
      "documentCount": 1
    },
    {
      "status": "Processed",
      "pageCount": 2,
      "transactionId": "c0dd3e08-f295-4c6c-b919-31eaa67817cc",
      "createTimeUtc": "2023-09-12T19:28:01.27Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "App",
          "value": "VantageUI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "Invoice _ 1213123123 _2__signed_signed _1__signed _1_.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "VantageUI"
        }
      ],
      "skillId": "3f6b1c2a-8d4e-4f5a-9b0c-7e1d2a3b4c5d",
      "skillVersion": 2,
      "documentCount": 1
    },
    {
      "status": "Processed",
      "pageCount": 2,
      "transactionId": "8391871e-abf5-41bc-8a66-1059418a3843",
      "createTimeUtc": "2023-09-13T08:53:41.9Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "App",
          "value": "VantageUI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "Invoice _ 1213123123 _2__signed_signed _1__signed _1_.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "VantageUI"
        }
      ],
      "skillId": "3f6b1c2a-8d4e-4f5a-9b0c-7e1d2a3b4c5d",
      "skillVersion": 2,
      "documentCount": 1
    },
    {
      "status": "Processed",
      "pageCount": 2,
      "transactionId": "7f7cd557-a03e-42e3-a454-e7981e8e9fc0",
      "createTimeUtc": "2023-09-13T09:35:27.48Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "App",
          "value": "VantageUI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "Invoice _ 1213123123 _2__signed_signed _1__signed.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "VantageUI"
        }
      ],
      "skillId": "3f6b1c2a-8d4e-4f5a-9b0c-7e1d2a3b4c5d",
      "skillVersion": 2,
      "documentCount": 1
    },
    {
      "status": "Processed",
      "pageCount": 2,
      "transactionId": "c9b3cd4d-d90f-48be-adc2-99985ece4e11",
      "createTimeUtc": "2023-09-13T09:38:29.573Z",
      "transactionParameters": [
        {
          "isReadOnly": true,
          "key": "App",
          "value": "VantageUI"
        }
      ],
      "fileParameters": [
        {
          "isReadOnly": true,
          "key": "SourceFileName",
          "value": "Invoice _ 1213123123 _2__signed_signed _1__signed.pdf"
        },
        {
          "isReadOnly": true,
          "key": "SourceType",
          "value": "VantageUI"
        }
      ],
      "skillId": "3f6b1c2a-8d4e-4f5a-9b0c-7e1d2a3b4c5d",
      "skillVersion": 2,
      "documentCount": 1
    }
  ],
  "totalItemCount": 5
}
```

### Picking up finished transactions

The `transactions/completed` resource returns every completed transaction in a date range, so an integration that collects results has to keep its own record of which transactions it has already handled. The `transactions/pending-pickup` resource removes that bookkeeping. It returns finished transactions that you have not yet deleted, in the order they finished, and a transaction drops out of the list once you delete it.

A typical pickup loop looks like this:

1. Send a GET request to `transactions/pending-pickup`.
2. For each returned transaction, download the result files. See [Downloading source files and result files](/vantage/developer/processing-documents/processing-documents-with-separate-api-calls#downloading-source-files-and-result-files).
3. Delete the transaction with a DELETE request to `transactions/<transaction_id>`. This removes it from the pickup list.
4. If the response contains a `nextCursor`, repeat from step 1 with that cursor to get the next page. When `nextCursor` is empty, you have reached the end of the list. Wait for your polling interval and start again without a cursor.

In the request, specify the following parameters:

| Parameter | Description |
| - | - |
| Limit | The maximum number of transactions to return in one page.<br />Accepted values: **1** to **1000**. |
| Cursor | The `nextCursor` value from the previous response. Omit it to start from the oldest finished transaction that has not been deleted. Treat the cursor as an opaque string. |
| Status | The status of the transaction.<br />The possible values are:<br />- Processed<br />- Cancelled<br />- Failed<br />If no value is specified, transactions with all of these statuses are returned. To filter by more than one status, separate the values with commas. |
| SkillId | The skill identifier.<br />If no value is specified, all available skills are taken into account. Transactions from every version of the skill are returned. |

Sample request:

<CodeGroup>
  ```shell US theme={null}
  curl -X GET "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/pending-pickup?Limit=100&Status=Processed" \
    -H "Authorization: Bearer token"
  ```

  ```shell EU theme={null}
  curl -X GET "https://vantage-eu.abbyy.com/api/publicapi/v1/transactions/pending-pickup?Limit=100&Status=Processed" \
    -H "Authorization: Bearer token"
  ```

  ```shell AU theme={null}
  curl -X GET "https://vantage-au.abbyy.com/api/publicapi/v1/transactions/pending-pickup?Limit=100&Status=Processed" \
    -H "Authorization: Bearer token"
  ```
</CodeGroup>

The response contains the finished transactions and a cursor for the next page:

```json theme={null}
{
  "items": [
    {
      "transactionId": "fc9920fe-f788-47f8-9972-b767493faed9",
      "status": "Processed",
      "finishedTimeUtc": "2026-06-10T12:34:56Z"
    },
    {
      "transactionId": "c0dd3e08-f295-4c6c-b919-31eaa67817cc",
      "status": "Failed",
      "finishedTimeUtc": "2026-06-10T12:35:02Z"
    }
  ],
  "nextCursor": "Q3Vyc29yRXhhbXBsZQ=="
}
```

To get the next page, pass the cursor back in the request:

<CodeGroup>
  ```shell US theme={null}
  curl -X GET "https://vantage-us.abbyy.com/api/publicapi/v1/transactions/pending-pickup?Limit=100&Cursor=Q3Vyc29yRXhhbXBsZQ==" \
    -H "Authorization: Bearer token"
  ```

  ```shell EU theme={null}
  curl -X GET "https://vantage-eu.abbyy.com/api/publicapi/v1/transactions/pending-pickup?Limit=100&Cursor=Q3Vyc29yRXhhbXBsZQ==" \
    -H "Authorization: Bearer token"
  ```

  ```shell AU theme={null}
  curl -X GET "https://vantage-au.abbyy.com/api/publicapi/v1/transactions/pending-pickup?Limit=100&Cursor=Q3Vyc29yRXhhbXBsZQ==" \
    -H "Authorization: Bearer token"
  ```
</CodeGroup>

Keep the following in mind when building a pickup integration:

* **Delivery is at least once.** Every finished transaction appears at least once, but in some conditions, such as the few minutes between a DELETE request and the actual removal, the same `transactionId` can appear more than once. Store the identifiers you have already processed and skip any that appear again.
* **Pick up results before they expire.** A transaction stays in the pickup list only as long as its data is kept in Vantage. If the transaction is removed by the data retention policy before you pick it up, it no longer appears in the list. Historical records remain available in the [Reporting API](/vantage/developer/reporting/business-reporting).
* **Permissions.** The request returns transactions only for skills that the authenticated user has permission to access, the same as for `transactions/completed`.
* **Polling interval.** The pickup list is pull-only. Poll it on a schedule that matches how quickly you need results, rather than continuously. For general guidance, see [Polling](/vantage/developer/api-introduction).
