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

# Mark Transaction Processed

> 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.



## OpenAPI

````yaml /en/api/v2/openapi-v2.yaml put /v2/transactions/{procurosTransactionId}
openapi: 3.0.3
info:
  title: Procuros API
  description: Manage Procuros Transactions.
  version: 2.0.0
servers:
  - url: https://api.procuros.io/
  - url: https://api.procuros-staging.io/
security:
  - api_token: []
paths:
  /v2/transactions/{procurosTransactionId}:
    parameters:
      - name: procurosTransactionId
        in: path
        required: true
        schema:
          type: string
          format: uuid
    put:
      tags:
        - Incoming Transactions
      summary: Mark Transaction Processed
      description: >-
        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.
      operationId: v2_mark_transaction_processed
      requestBody:
        description: Expected parameters to update a transaction.
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - success
              properties:
                success:
                  type: boolean
                  description: >-
                    Whether or not your system was able to process the given
                    transaction.
                errorReason:
                  type: string
                  description: >-
                    Reason your system was not able to process the given
                    transaction.
                errorType:
                  $ref: '#/components/schemas/ErrorType'
                errorContext:
                  type: object
                  description: Additional context/meta data for the error.
                  additionalProperties:
                    type: string
            examples:
              Successfully Processed:
                value:
                  success: true
              Failed to Process:
                value:
                  success: false
                  errorReason: Product GTIN '0001647296281' not found
                  errorType: DATA
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    type: object
                    required:
                      - message
                    properties:
                      message:
                        type: string
                        description: Status message
                      errorUrl:
                        type: string
                        description: URL linking to the error on the Procuros Portal.
              examples:
                Successfully Processed:
                  value:
                    data:
                      message: OK.
                Failed to Process:
                  value:
                    data:
                      message: OK.
                      errorUrl: >-
                        https://portal.procuros.io/transactions/{{procurosTransactionId}}/errors
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeneralValidationErrorResponse'
        4XX:
          description: Client Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorResponse'
        5XX:
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorResponse'
components:
  schemas:
    ErrorType:
      type: string
      description: >-
        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.
      enum:
        - DATA
        - INTERNAL
    GeneralValidationErrorResponse:
      type: object
      required:
        - message
        - errors
      properties:
        message:
          type: string
        errors:
          $ref: '#/components/schemas/ValidationError'
    InternalErrorResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ValidationError:
      type: object
      additionalProperties:
        type: array
        description: List of validation errors.
        minItems: 1
        items:
          type: string
  securitySchemes:
    api_token:
      type: http
      scheme: bearer
      description: The API Token of your ERP Connection.

````