---
title: "Mark Transaction Processed"
method: PUT
path: "/v2/transactions/{procurosTransactionId}"
tags: ["Incoming Transactions"]
---

# Mark Transaction Processed

`PUT /v2/transactions/{procurosTransactionId}`

## Request

- Base URL: `https://api.procuros.io`
- URL: `https://api.procuros.io/v2/transactions/{procurosTransactionId}`
- Auth: HTTP bearer

Report whether your system processed an incoming transaction.

Set `success` to `true` once the transaction has been processed, or `false` if processing failed (optionally with an `errorReason`, `errorType`, and `errorContext`).

If a transaction was previously reported as failed, you can recover it by calling this endpoint again with `success: true` once the issue has been resolved on your side (for example, after correcting missing master data in your system). The payload is reused from your system, so there is no need to fetch the transaction again: it moves to the delivered state and its associated error is resolved automatically.

## Request body

- object
  - `success` boolean, required: Whether or not your system was able to process the given transaction.
  - `errorReason` string: Reason your system was not able to process the given transaction.
  - `errorType` 'DATA' | 'INTERNAL': The type of the error. `DATA` indicates that the error is caused by invalid or insufficient data and can be resolved by a user. `INTERNAL` indicates a system-level error that cannot be fixed by a user.
  - `errorContext` object: Additional context/meta data for the error.

## Response `200`

Success

- object
  - `data` object, required
    - `message` string, required: Status message
    - `errorUrl` string: URL linking to the error on the Procuros Portal.

## Other responses

- `422`: Validation Error
- `4XX`: Client Error
- `5XX`: Server Error

---

[API](https://skmtc.dev/procuros/apis/procuros-api.md) - [All operations](https://skmtc.dev/procuros/apis/procuros-api/llms.txt) - [OpenAPI document](https://skmtc.dev/procuros/apis/procuros-api/revisions/28a1d5326ce9?raw)
