Retrieve fraud reports

Prev Next
Post
/v1/feedback/fraud-reports/retrieve

Retrieve fraud reports by session IDs.

This endpoint accepts a list of session IDs and returns detailed information about each fraud report, including verification session data, QA reviews, and decision information.

Response Statuses Per Report: Each item in the reports array of the response will have a status:

  • FOUND: The fraud report was found and detailed information is provided in the details field
  • NOT_FOUND: The report could not be found or is not accessible. The errorMessage field will contain the reason
Header parameters
VRF-AUTH-CLIENT
stringRequired

API key

VRF-HMAC-SIGNATURE
stringRequired

Full request path signed with the shared secret key

Body parameters
retrieve_multiple_sessions
{
  "sessionIds": [
    "aca4ac5e-ea2d-40d7-9012-0e49e783eb1a",
    "b1a4ac5e-ea2d-40d7-9012-0e49e783eb1b"
  ]
}
object

Request body model for retrieving fraud reports by session IDs.

sessionIds
Array of string Required

List of session IDs to retrieve fraud reports for (max 10 per request). Note that the reportId returned by the submit endpoint cannot be used as a retrieve key.

Min items1
Max items10
Example[ "aca4ac5e-ea2d-40d7-9012-0e49e783eb1a", "b1a4ac5e-ea2d-40d7-9012-0e49e783eb1b" ]
string (uuid)

A session ID associated with a fraud report.

Responses
200

Successful Response

reports_retrieved_example
{
  "reports": [
    {
      "sessionId": "ddb70e9d-ca99-4294-9716-abf3a1998cdf",
      "status": "FOUND",
      "details": {
        "reportId": "aca4ac5e-ea2d-40d7-9012-0e49e783eb1a",
        "reportedBy": "user@example.com",
        "status": "Reviewed",
        "verifiedAt": "2024-01-15T09:30:00Z",
        "reportedAt": "2024-01-15T10:30:00Z",
        "reviewedAt": "2024-01-15T11:30:00Z",
        "fraudTypeReported": [
          "document_is_manipulated"
        ],
        "customerComment": "Document appears to be digitally altered",
        "initialDecision": "approved",
        "finalDecision": "approved",
        "resetFp": false,
        "reviewDecision": "declined",
        "reviewOutcome": "agree",
        "decisionErrorDescription": "Decision Profile Check (some_check): d07f2b48-4dc2-4470-a183-ed6032a68081: Check Result: success → QA Result: failure"
      }
    },
    {
      "sessionId": "b1b4bc6f-fb3e-41e8-a123-1f5af894fc2b",
      "status": "NOT_FOUND",
      "errorMessage": "Report not found or not accessible"
    }
  ],
  "processedCount": 2,
  "foundCount": 1,
  "notFoundCount": 1
}
Expand All
object

Response model for fraud report retrieval, providing both detailed per-item results and summary statistics for the batch operation.

reports
Array of object (FraudReportRetrieveResponseItem)

Detailed results for each individual report retrieval, including status and detailed information if found.

object

Represents the retrieval result for a single fraud report within a batch request.

sessionId
string (uuid)

The session ID that was queried.

Exampleddb70e9d-ca99-4294-9716-abf3a1998cdf
status
string

The retrieval status of this report ('FOUND' or 'NOT_FOUND').

Valid values[ "FOUND", "NOT_FOUND" ]
ExampleFOUND
details
object | null

Detailed fraud report information. Present only when status is 'FOUND'.

reportId
string (uuid)

The unique identifier for this fraud report.

Exampleaca4ac5e-ea2d-40d7-9012-0e49e783eb1a
reportedBy
string

The user email or automation that reported this fraud.

Exampleuser@example.com
status
string

Status of the report. 'Received' means the report was submitted but not yet reviewed, 'In Review' means a QA review is in progress, 'Reviewed' means QA review is complete.

Valid values[ "Received", "In Review", "Reviewed" ]
ExampleReviewed
verifiedAt
string (date-time) | null

Timestamp when the verification session was verified.

Example2024-01-15T09:30:00Z
reportedAt
string (date-time)

Timestamp when the fraud report was submitted.

Example2024-01-15T10:30:00Z
reviewedAt
string (date-time) | null

Timestamp when the report was reviewed.

Example2024-01-15T11:30:00Z
fraudTypeReported
Array of string

List of fraud category codes reported for this session.

string

A fraud category code.

ExampleCATEGORY_1
customerComment
string | null

Optional comment provided during reporting.

ExampleDocument appears to be digitally altered
initialDecision
string

Initial decision made for this verification. 'pending' means no decision has been reached yet.

Valid values[ "approved", "declined", "resubmission_requested", "review", "pending" ]
Exampledeclined
finalDecision
string

Final decision made for this verification. 'pending' means no decision has been reached yet.

Valid values[ "approved", "declined", "resubmission_requested", "review", "pending" ]
Exampledeclined
resetFp
boolean | null

Indicates if this was marked as a false positive that was reset.

Examplefalse
reviewDecision
string

The raw decision of the most recent QA review that reached a decision. 'pending' means no QA review has reached a decision yet.

Valid values[ "approved", "declined", "resubmission_requested", "review", "pending" ]
Exampledeclined
reviewOutcome
string

Agreement verdict. 'agree' means the QA review changed the decision, so Veriff confirms the reported fraud. 'disagree' means the QA review reached the same decision, so the fraud claim was rejected. 'pending' means there is no QA decision yet or no initial decision to compare against.

Valid values[ "agree", "disagree", "pending" ]
Exampleagree
decisionErrorDescription
string | null

Description of any decision errors if applicable.

ExampleDecision Profile Check (some_check): d07f2b48-4dc2-4470-a183-ed6032a68081: Check Result: success → QA Result: failure Decision Profile Check (some_other_check): d07f2b48-4dc2-4470-a183-ed6032a68081: Check Result: success → QA Result: failure
errorMessage
string | null

Error message if the report was not found. Present only when status is 'NOT_FOUND'.

ExampleReport not found or not accessible
processedCount
integer

Total number of session IDs processed in this request.

Example2
foundCount
integer

Number of reports that were successfully found.

Example1
notFoundCount
integer

Number of reports that were not found or not accessible.

Example1
400

Bad Request. Possible reasons: Invalid request format, no session IDs provided, or more than 10 session IDs provided.

object

Generic error response structure.

code
string

A machine-readable error code indicating the type of error.

ExampleBAD_REQUEST
message
string

A human-readable message explaining the error.

ExampleThe categories are not valid.
401

Unauthorized. Possible reasons: Invalid API key or signature.

object

Generic error response structure.

code
string

A machine-readable error code indicating the type of error.

ExampleBAD_REQUEST
message
string

A human-readable message explaining the error.

ExampleThe categories are not valid.
422

Unprocessable Entity. Input validation failed.

object

Generic error response structure.

code
string

A machine-readable error code indicating the type of error.

ExampleBAD_REQUEST
message
string

A human-readable message explaining the error.

ExampleThe categories are not valid.
429

Too Many Requests. Rate limit exceeded.

object

Generic error response structure.

code
string

A machine-readable error code indicating the type of error.

ExampleBAD_REQUEST
message
string

A human-readable message explaining the error.

ExampleThe categories are not valid.
500

Internal Server Error. An unexpected error occurred.

object

Generic error response structure.

code
string

A machine-readable error code indicating the type of error.

ExampleBAD_REQUEST
message
string

A human-readable message explaining the error.

ExampleThe categories are not valid.



Changelog

Date

Description

Aug 24, 2026

- Request body examples with sample session IDs added

- Clarification added that reportId from submit endpoint cannot be used for retrieval added

- Four new required fields in response payload: initialDecision, finalDecision, reviewDecision, reviewOutcome

- status field info updated

- sessionId field removed from details object

Dec 19, 2025

VRF-AUTH-CLIENT header description updated

Nov 28, 2025

Response payload example added

Nov 26, 2025

Example data for decisionErrorDescription added

Nov 6, 2025

Documentation published