POST /predict-api/api/extraction/feedback

As of Versionproduct version 2022 Winter
Request MethodGET
Response FormatJSON
Description

Sends feedback to the ML Pipeline informing about the user decision for one of the property values suggested in a prediction.

After metadata extraction is done and the predicted property values are shown to the user, the user decides on the validity of those data by accepting them or changing the shown values. It is important to inform the ML Pipeline about this decision in order to improve future predictions by calling this feedback endpoint.

In the JSON request body, the following parameters are expected:

  • predictionId – ID returned by the classification retrieval endpoints.
  • feedbackData – values for all properties the user was able to modify after retrieving the prediction (e.g., aiInvoiceNumber, aiCompanyName, aiAmount, aiIssuedDate):
    • value – value selected/entered by the user
    • boundingBox  – optional, coordinates of the selected value on the page within the binary content file
    • page – optional, page number where the value was found within the binary content file


HTTP Status CodeDescription
200 OKFeedback is logged successfully.
400 Bad RequestRequest is bad.
404 Not FoundSpecified predictionId is not found.
500 Internal Server ErrorError while storing feedback.

If an error is thrown, a JSON structure is returned as response body.

Request Header

Content-Type: application/json

X-ID-TENANT-NAME: tenant_name

Request Example
/predict-api/api/extraction/feedback
{
    "properties": {
        "predictionId": {
            "value":474
        },
        "feedbackData": [
            {
                "propertyName": "aiInvoiceNumber",
                "value": "RWTÜV",
                "boundingBox":[123, 222, 33, 14],
                "page": 1
            },
            {
                "propertyName": "aiCompanyName",
                "value": "CompanyName"
            },
            {
                "propertyName": "aiAmount",
                "value": "234.44"
            },
            {
                "propertyName": "aiIssuedDate",
                "value": "10.4.2020"
            }
        ]
    }
}

Result Example

(1) Successful

200 OK

(2) Not succelful:

400 Bad Request

{
    "statusCode": 400,
    "timestamp": "2020-12-25T09:42:33.386+00:00",
    "message": "JSON parse error: Unrecognized field \"aiCompanssyName\" (class com.os.ai.predict.domain.extraction.ExtractionFeedbackRequestData), not marked as ignorable..."
}