---
title: "qualityAnalysis"
method: PUT
path: "/people/transactions/{tguid}/qualityAnalysis"
tags: ["quality"]
---

# qualityAnalysis

`PUT /people/transactions/{tguid}/qualityAnalysis`

This method provides the quality analysis result for a given transaction.

## Path parameters

- `tguid` string, required

## Request body

- UpdateQualityAnalysisRequest
  - `data` object
    - `qualityAnalysis` QualityAnalysis
      - `status` 'PENDING' | 'APPROVED' | 'REJECTED' | 'OK' | 'ERROR' | 'PENDING_DUPLICITIES' — Status of the analysis.
      - `user` string — Username of whom issued the approval.
      - `comments` string — User comments on the approval.
      - `timestamp` integer — Creation time of the approval, be it manual or automatic. If the enroll did not have any anomalies, the approval was automatic, thus this field will be equal to the enroll time. Otherwise, this timestamp will be the time when the user either approved or rejected the enrollment.
      - `duplicationIssues` DuplicationIssue[]
        - `indexes` integer[] — List of pairs of duplicated indexes found.
      - `qualityIssues` QualityIssue[]
        - `index` integer — Index of the referred finger.
        - `quality` integer — Quality calculated for the template.
      - `sequenceControlIssues` SequenceControlIssue[]
        - `index` integer — Index of the problematic finger.
        - `matches` object[] — List of sequence control indexes that matched the given finger and its matching score.
          - `index` integer
          - `score` integer
    - `biometric` Biometric[]
      - `index` integer
      - `content` string
      - `width` integer
      - `height` integer
      - `resolution` integer
  - `meta` UpdateQualityAnalysisMeta
    - `timeout` integer — Time, in milliseconds, waiting for the completion of the operation. If this value is -1, then the method is fully synchronous. If the timeout value is 0, then the method is fully asynchronous. If>0, the call expires after this time (in milliseconds).

## Response `200`

OK

- UpdateQualityAnalysisResponse
  - `data` object
    - `newTransactionGUID` string — Transaction GUID for new enroll transaction generated.

## Other responses

- `400` — Validation Error
- `403` — Enrollment is not assigned, enroll has a different assigned user.
- `404` — Enrollment transaction does not exist
- `422` — Invalid transaction state.
- `500` — Internal Error

---

[API](https://skmtc.net/griaule/apis/gbds-api.md) · [All operations](https://skmtc.net/griaule/apis/gbds-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/griaule/gbds-api/revisions/fa80f482ec5e/schema)
