# Models

## The ValidationError object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidationError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["VALIDATION_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["MISSING_PGUID","MISSING_PERSON","MISSING_BIOMETRIC","INVALID_PARAMETER_COMBINATION","MISSING_REQUIRED_QUERY_PARAMETER","MISSING_REQUIRED_ENTITY_ATTRIBUTE","UNKNOWN_ENTITY_ATTRIBUTE","QUERY_PARAMETER_OUT_OF_RANGE","PARAMETER_OUT_OF_RANGE","PGUID_IS_EMPTY","FORBIDDEN_ATTRIBUTE_SET","INVALID_TOKEN_GRANT_SPEC","INVALID_ENUM_VALUE","MALFORMED_JSON","INVALID_JSON_ATTRIBUTE_VALUE","INVALID_URL_ATTRIBUTE_VALUE","UNKNOWN_REQUEST_READ_ERROR","PAGE_NOT_FOUND","UNSUPPORTED_HTTP_METHOD"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}}}}}
```

## The ProcessingError object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ProcessingError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["PROCESSING_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["ENTITY_DOES_NOT_EXIST","ENTITY_ALREADY_EXISTS","POOR_BIOMETRIC_QUALITY","DUPLICATED_BIOMETRIC","BIOMETRIC_OUT_OF_SEQUENCE","BIOMETRIC_ERROR","INSUFFICIENT_TEMPLATE_COUNT","UNEXTRACTABLE_BIOMETRIC","PERSON_DOES_NOT_EXIST","PERSON_NOT_ACTIVE","PERSON_DOES_NOT_HAVE_BIOMETRIC","PENDING_EXCEPTIONS","ENROLL_TRANSACTION_DOES_NOT_EXIST","ENROLL_PERSON_NOT_FOUND","INVALID_TRANSACTION_STATE","EXCEPTION_DOES_NOT_EXIST","TREAT_EXCEPTION_TRANSACTION_DOES_NOT_EXIST","USER_NOT_AUTHORIZED_TO_TREAT_EXCEPTION","UL_IS_ALREADY_SOLVED","INVALID_PARAMETER_COMBINATION","CAN_NOT_DISABLE_ONLY_ENROLL_TRANSACTION","PERSON_DOES_NOT_OWN_TRANSACTION","TRANSACTION_IS_ALREADY_DISABLED","CAN_NOT_DISABLE_TRANSACTION_OF_UNSUPPORTED_TYPE","INVALID_EBTS_TYPE9_CONTENT","EXTERNAL_ID_DOES_NOT_EXIST","EXCEPTION_IS_ALREADY_TREATED","INVALID_TREATMENT_FOR_EXCEPTION","ENROLL_IS_ALREADY_ASSIGNED","ENROLL_IS_ALREADY_UNASSIGNED","ENROLL_IS_NOT_PENDING","ENROLL_IS_NOT_ASSIGNED","ENROLL_HAS_DIFFERENT_ASSIGNED_USER","NO_PGUID_FOUND_FOR_KEY","NO_SEARCHABLE_BIOMETRIC"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}}}}}
```

## The InternalError object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"InternalError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["INTERNAL_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["DRIVER_OFFLINE","CREDENTIAL_SERVER_CONNECTION_ERROR","CLIENT_NOT_INITIALIZE","TRUSTED_ENROLL_WITH_PENDING_STATUS","SUBJECT_NOT_SET","UNKNOWN"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}}}}}
```

## The SecurityError object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SecurityError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["SECURITY_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["INVALID_CREDENTIALS","INVALID_TOKEN","INVALID_AUTHORIZATION_SCHEMA","MISSING_TOKEN","UNKNOWN_LOGIN_ERROR","UNKNOWN_TOKEN_ERROR","EXPIRED_TOKEN","UNAUTHORIZED_ACCESS"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}}}}}
```

## The CreateTokenRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateTokenRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"grantType":{"description":"How the token will be generated. To generate a new token from user credentials, use grantType =  CREDENTIALS. To generate a new token using a currently valid token, use grantType = TOKEN.","type":"string","enum":["CREDENTIALS","TOKEN"]},"userName":{"description":"User ID.","type":"string"},"userPassword":{"description":"User password.","type":"string"},"token":{"description":"Currently valid token to be used for the token renewal process.","type":"string"}}}}}}}}
```

## The CreateTokenResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateTokenResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"token":{"description":"Currently valid token to be used for the token renewal process.","type":"string"},"expirationTime":{"description":"Expiration time of the token in milliseconds.","type":"integer","format":"int64"},"ttl":{"description":"Token's time to live in milliseconds.","type":"integer","format":"int64"}}}}}}}}
```

## The BiometricMatch object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}}}}}
```

## The BiometricMatchBob object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}}}}}
```

## The Exception object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Exception":{"type":"object","properties":{"enrollPguid":{"description":"Global unique ID of the person.","type":"string"},"enrollTguid":{"description":"Global unique ID of the transaction.","type":"string"},"transactionTimestamp":{"description":"Timestamp of the transaction that generated the Exception.","type":"integer","format":"int64"},"match":{"$ref":"#/components/schemas/Match"},"assignedUser":{"description":"Username of user tasked with treating the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"transactionType":{"description":"Type of the transaction that generated the exception.","type":"string","enum":["ENROLL","UPDATE"]}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The ExceptionAnalysis object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The GetExceptionsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetExceptionsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Exception"}}},"Exception":{"type":"object","properties":{"enrollPguid":{"description":"Global unique ID of the person.","type":"string"},"enrollTguid":{"description":"Global unique ID of the transaction.","type":"string"},"transactionTimestamp":{"description":"Timestamp of the transaction that generated the Exception.","type":"integer","format":"int64"},"match":{"$ref":"#/components/schemas/Match"},"assignedUser":{"description":"Username of user tasked with treating the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"transactionType":{"description":"Type of the transaction that generated the exception.","type":"string","enum":["ENROLL","UPDATE"]}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The Match object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}}}}}
```

## The MatchBob object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}}}}}
```

## The Minutiae object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}}}}}
```

## The ListExceptionsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListExceptionsResponse":{"type":"object","properties":{"data":{"description":"List of exceptions that matched the search criteria.","type":"array","items":{"allOf":[{"type":"object","properties":{"match":{"$ref":"#/components/schemas/MatchBob"}}},{"$ref":"#/components/schemas/Exception"}]}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Exception":{"type":"object","properties":{"enrollPguid":{"description":"Global unique ID of the person.","type":"string"},"enrollTguid":{"description":"Global unique ID of the transaction.","type":"string"},"transactionTimestamp":{"description":"Timestamp of the transaction that generated the Exception.","type":"integer","format":"int64"},"match":{"$ref":"#/components/schemas/Match"},"assignedUser":{"description":"Username of user tasked with treating the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"transactionType":{"description":"Type of the transaction that generated the exception.","type":"string","enum":["ENROLL","UPDATE"]}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The Pagination object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The PaginationOff object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PaginationOff":{"type":"object","properties":{"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"}}}}}}
```

## The TreatExceptionsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TreatExceptionsResponse":{"type":"object","properties":{"status":{"description":"Status of the treat operation.","type":"string","enum":["OK","ENQUEUED","ERROR"]},"treatTguid":{"description":"TGUID of treat operation.","type":"string"},"failReason":{"description":"If the treatment call failed, this field will contain a message describing the nature of the failure.","type":"string"}}}}}}
```

## The ExceptionTreatment object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExceptionTreatment":{"type":"object","properties":{"enrollTguid":{"description":"TGUID of transaction that created the exception.","type":"string"},"exceptionPguid":{"description":"PGUID of the person that was matched to create the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"referenceIndexes":{"description":"List of biometric indexes. Specifies which biometric from the Update transaction should be used to update the Person.","type":"array","items":{"type":"integer","format":"int32"}}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The Meta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Meta":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"discardReference":{"type":"boolean"}}}}}}
```

## The TreatExceptionsRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TreatExceptionsRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExceptionTreatment"},"meta":{"$ref":"#/components/schemas/Meta"}}},"ExceptionTreatment":{"type":"object","properties":{"enrollTguid":{"description":"TGUID of transaction that created the exception.","type":"string"},"exceptionPguid":{"description":"PGUID of the person that was matched to create the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"referenceIndexes":{"description":"List of biometric indexes. Specifies which biometric from the Update transaction should be used to update the Person.","type":"array","items":{"type":"integer","format":"int32"}}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}},"Meta":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"discardReference":{"type":"boolean"}}}}}}
```

## The JsonNotification object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"JsonNotification":{"type":"object","properties":{"operation":{"description":"Operation type of the transaction that notification is related to.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]},"tguid":{"description":"Transaction's global unique ID of the transaction that notification is related to.","type":"string"},"status":{"description":"Current status of the transaction that notification is related to.","type":"string"},"sender":{"description":"The notification sender.","type":"string"},"uguid":{"description":"Global unique ID of an unsolved latent. Only used when the notification is related to a transaction that treats an unsolved latent.","type":"string"},"additionalData":{"description":"Map used to add custom information inside the notification that will be delivered to notifier endpoint.","type":"object","additionalProperties":{"type":"string"}},"relatedTransactions":{"description":"List of transactions related to the main transaction that notification is related to.","type":"array","items":{"$ref":"#/components/schemas/PersonRelatedTransaction"}}}},"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The NotifyRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JsonNotification"}}},"JsonNotification":{"type":"object","properties":{"operation":{"description":"Operation type of the transaction that notification is related to.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]},"tguid":{"description":"Transaction's global unique ID of the transaction that notification is related to.","type":"string"},"status":{"description":"Current status of the transaction that notification is related to.","type":"string"},"sender":{"description":"The notification sender.","type":"string"},"uguid":{"description":"Global unique ID of an unsolved latent. Only used when the notification is related to a transaction that treats an unsolved latent.","type":"string"},"additionalData":{"description":"Map used to add custom information inside the notification that will be delivered to notifier endpoint.","type":"object","additionalProperties":{"type":"string"}},"relatedTransactions":{"description":"List of transactions related to the main transaction that notification is related to.","type":"array","items":{"$ref":"#/components/schemas/PersonRelatedTransaction"}}}},"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The PersonRelatedTransaction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The Biographic object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}}}}}
```

## The BioBaseBiographic object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BioBaseBiographic":{"type":"object","properties":{"id":{"type":"string","description":"Biographic key."},"type":{"type":"string","description":"Biographic type. It can be TEXT or FACE.","enum":["TEXT","FACE"]},"value":{"type":"string","description":"Biographic value. Faces are encoded in Base64."}}}}}}
```

## The Biometric object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}}}}}
```

## The ORIGINAL object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}}}}}
```

## The TEMPLATE object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}}}}}
```

## The CONSOLIDATED\_TEMPLATE object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}}}}}
```

## The BiometricProperties object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}}}}}
```

## The BiometricValidation object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiometricValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"validationType":{"description":"Defines the type of biometric validation to be performed against the AFIS.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"externalIDs":{"description":"List of externalIDs related to this transaction.","type":"array","items":{"$ref":"#/components/schemas/ExternalID"}},"labels":{"type":"string","enum":["ACCUMULATE","REPLACE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The UpdateBiometricValidation object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateBiometricValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the update operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"validationType":{"description":"Defines the type of biometric validation to be performed against the AFIS.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"externalIDs":{"description":"List of externalIDs related to this transaction.","type":"array","items":{"$ref":"#/components/schemas/ExternalID"}},"labels":{"type":"string","enum":["ACCUMULATE","REPLACE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"},"forceBoB":{"$ref":"#/components/schemas/ForceBobFlag"}}},"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}},"ForceBobFlag":{"type":"boolean","description":"Forces the use of Best of Biometrics (BoB).\n\nIf set to `true`, a trusted updated will be performed immediately after the update using the best biometric data available. <br>\nIf set to `false`, or absent, no action will be performed.\n\nAlso, the trusted update will only be performed if the update status is `ENROLLED`. Otherwise:\n- If the update status is `PENDING` (MIR), the trusted update will be performed only after the quality approval, if approved.\n- If the update status is `EXCEPTION` (ETR), the trusted update will be performed only after the exception is treated, if approved.\n\nIf the BoB trusted update is successfully performed (response 201 Enrolled), the response will contain some additional information:\n- `bobTguid`: transaction GUID of the BoB trusted update.\n- `bobStatus`: enroll status of the BoB trusted update. Usually `ENQUEUED`.\n\nThis behavior can be turned on/off using the RDB configuration on the table `gbds.settings`: <br>\n**gbds.bestOfBiometrics.forceUsingTrustedUpdate.enabled**, type **API**, default **true**.\n"}}}}
```

## The ExternalID object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}}}}}
```

## The History object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The HistoryEvent object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The Key object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}}}}}
```

## The ReplaceKey object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReplaceKey":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"},"newValue":{"description":"New value of entity identifier.","type":"string"}}}}}}
```

## The Person object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The PersonRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PersonRequest":{"type":"object","properties":{"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"string"},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}}}}}
```

## The UpdatePeopleRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdatePeopleRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PersonRequest"},"meta":{"$ref":"#/components/schemas/UpdateBiometricValidation"}}},"PersonRequest":{"type":"object","properties":{"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"string"},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"UpdateBiometricValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the update operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"validationType":{"description":"Defines the type of biometric validation to be performed against the AFIS.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"externalIDs":{"description":"List of externalIDs related to this transaction.","type":"array","items":{"$ref":"#/components/schemas/ExternalID"}},"labels":{"type":"string","enum":["ACCUMULATE","REPLACE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"},"forceBoB":{"$ref":"#/components/schemas/ForceBobFlag"}}},"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}},"ForceBobFlag":{"type":"boolean","description":"Forces the use of Best of Biometrics (BoB).\n\nIf set to `true`, a trusted updated will be performed immediately after the update using the best biometric data available. <br>\nIf set to `false`, or absent, no action will be performed.\n\nAlso, the trusted update will only be performed if the update status is `ENROLLED`. Otherwise:\n- If the update status is `PENDING` (MIR), the trusted update will be performed only after the quality approval, if approved.\n- If the update status is `EXCEPTION` (ETR), the trusted update will be performed only after the exception is treated, if approved.\n\nIf the BoB trusted update is successfully performed (response 201 Enrolled), the response will contain some additional information:\n- `bobTguid`: transaction GUID of the BoB trusted update.\n- `bobStatus`: enroll status of the BoB trusted update. Usually `ENQUEUED`.\n\nThis behavior can be turned on/off using the RDB configuration on the table `gbds.settings`: <br>\n**gbds.bestOfBiometrics.forceUsingTrustedUpdate.enabled**, type **API**, default **true**.\n"}}}}
```

## The EnrollResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"EnrollResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"description":"Status of the enroll transaction.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","PENDING","REFUSED"]},"tguid":{"description":"Global unique id of the transaction.","type":"string"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"},"bobTguid":{"description":"[Optional] Transaction GUID of the BoB trusted update.\n\n(returned only for **201 Enrolled** responses when a BoB trusted update is successfully performed)\n","type":"string"},"bobStatus":{"description":"[Optional] Enroll status of the BoB trusted update. Usually `ENQUEUED`.\n\n(returned only for **201 Enrolled** responses when a BoB trusted update is successfully performed)\n","type":"string"}}}}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The GetPeopleResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetPeopleResponse":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/Person"},{"type":"object","properties":{"biometric":{"type":"array","items":{"type":"object","properties":{"tguid":{"type":"string","format":"uuid","description":"GUID of the Transaction that contains the biometric data.\n\n*Returned only on calls with Best of Biometrics (BoB) enabled.*\n"}}}}}}]}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The CreatePeopleRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreatePeopleRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PersonRequest"},"meta":{"$ref":"#/components/schemas/BiometricValidation"}}},"PersonRequest":{"type":"object","properties":{"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"string"},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"validationType":{"description":"Defines the type of biometric validation to be performed against the AFIS.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"externalIDs":{"description":"List of externalIDs related to this transaction.","type":"array","items":{"$ref":"#/components/schemas/ExternalID"}},"labels":{"type":"string","enum":["ACCUMULATE","REPLACE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The ListPeopleRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListPeopleRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"personFields":{"description":"Defines the return information.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["BIOMETRIC","AUXILIARIES","KEYS","BIOGRAPHICS","LABELS","METADATA","BASIC_FIELDS","NO_FIELDS","ALL_FIELDS"]}},"pguids":{"description":"This field is a array of PGUIDs.","type":"array","items":{"type":"string"}},"pageIndex":{"description":"Used for paging the result. Given the list, A, of matched People; pageIndex determines which page of A, of size pageSize, to be returned in the response.","type":"integer","format":"int64","default":0},"pageSize":{"description":"Number of people, starting from first, to be returned in the response.","type":"integer","default":20},"restrictions":{"$ref":"#/components/schemas/Restrictions"},"operator":{"deprecated":true,"description":"Logical operator used in the request.\n\n**IMPORTANT:** The data->`operator` field is no longer supported from GBDS API version 5.0.0 onwards. Requests including it will return a 400 Bad Request error. Instead, use the `AND` and `OR` restriction operators in the data->`restrictions` array.\n\n**IMPORTANT:** The `OR` operator is no longer supported from GBDS API version 4.7.4 onwards. Requests including it will return a 400 Bad Request error.\n","type":"string","enum":["AND"]},"includeAnomalies":{"description":"Whether to match People with anomalies.","type":"boolean","default":false},"paginationCount":{"description":"Defines if total count on pagination will be on or off. It overwrites the value of gbds.peopleList.countFromRDB setting in the configuration file.","type":"boolean","default":true},"biographicBase":{"description":"Determines if the API will try to get biographics from the Biobase Server or not.","type":"boolean"},"indexes":{"description":"List of indexes to be returned. The list may contain only one index. If a provided index does not exist, it will be ignored.","type":"array","items":{"type":"integer"}},"startDate":{"description":"Start time. Must be in milliseconds.","type":"string","format":"date"},"endDate":{"description":"End time. Must be in milliseconds.","type":"string","format":"date"}}}}},"Restrictions":{"description":"<br> **Array of restrictions** to be applied to the search.\n\nSearch restriction types: `BIOGRAPHIC`, `KEY`, `LABEL`, `AND`, `OR`.\n\n**Note:** In the `AND` and `OR` restriction operators, the property `restrictions` recursively accepts *arrays of restrictions* following this same structure. See example in the *Request samples*.\n\n**IMPORTANT:** The **DATE** restriction is no longer supported from GBDS API version 5.0.0 onwards. Instead, use the fields data->`startDate` and data->`endDate`.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/RestrictionBiographic"},{"$ref":"#/components/schemas/RestrictionKey"},{"$ref":"#/components/schemas/RestrictionLabel"},{"$ref":"#/components/schemas/RestrictionAnd"},{"$ref":"#/components/schemas/RestrictionOr"},{"$ref":"#/components/schemas/RestrictionDate"}]}},"RestrictionBiographic":{"title":"BIOGRAPHIC","type":"object","properties":{"type":{"description":"Value MUST be `BIOGRAPHIC`.","type":"string","default":"BIOGRAPHIC"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionKey":{"title":"KEY","type":"object","properties":{"type":{"description":"Value MUST be `KEY`.","type":"string","default":"KEY"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionLabel":{"title":"LABEL","type":"object","properties":{"type":{"description":"Value MUST be `LABEL`.","type":"string","default":"LABEL"},"label":{"type":"string"},"exists":{"type":"boolean"}}},"RestrictionAnd":{"title":"AND","type":"object","properties":{"type":{"description":"Value MUST be `AND`.","type":"string","default":"AND"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"RestrictionOr":{"title":"OR","type":"object","properties":{"type":{"description":"Value MUST be `OR`.","type":"string","default":"OR"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"RestrictionDate":{"title":"DATE","deprecated":true,"type":"object","properties":{"type":{"description":"Value MUST be `DATE`.","type":"string","default":"DATE"},"startDate":{"description":"Start time. Must be in milliseconds.","type":"integer"},"endDate":{"description":"End time. Must be in milliseconds.","type":"integer"}}}}}}
```

## The PersonFieldsCollection object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PersonFieldsCollection":{"description":"Defines the return information.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["BIOMETRIC","AUXILIARIES","KEYS","BIOGRAPHICS","LABELS","METADATA","BASIC_FIELDS","NO_FIELDS","ALL_FIELDS"]}}}}}
```

## The Restrictions object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Restrictions":{"description":"<br> **Array of restrictions** to be applied to the search.\n\nSearch restriction types: `BIOGRAPHIC`, `KEY`, `LABEL`, `AND`, `OR`.\n\n**Note:** In the `AND` and `OR` restriction operators, the property `restrictions` recursively accepts *arrays of restrictions* following this same structure. See example in the *Request samples*.\n\n**IMPORTANT:** The **DATE** restriction is no longer supported from GBDS API version 5.0.0 onwards. Instead, use the fields data->`startDate` and data->`endDate`.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/RestrictionBiographic"},{"$ref":"#/components/schemas/RestrictionKey"},{"$ref":"#/components/schemas/RestrictionLabel"},{"$ref":"#/components/schemas/RestrictionAnd"},{"$ref":"#/components/schemas/RestrictionOr"},{"$ref":"#/components/schemas/RestrictionDate"}]}},"RestrictionBiographic":{"title":"BIOGRAPHIC","type":"object","properties":{"type":{"description":"Value MUST be `BIOGRAPHIC`.","type":"string","default":"BIOGRAPHIC"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionKey":{"title":"KEY","type":"object","properties":{"type":{"description":"Value MUST be `KEY`.","type":"string","default":"KEY"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionLabel":{"title":"LABEL","type":"object","properties":{"type":{"description":"Value MUST be `LABEL`.","type":"string","default":"LABEL"},"label":{"type":"string"},"exists":{"type":"boolean"}}},"RestrictionAnd":{"title":"AND","type":"object","properties":{"type":{"description":"Value MUST be `AND`.","type":"string","default":"AND"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"RestrictionOr":{"title":"OR","type":"object","properties":{"type":{"description":"Value MUST be `OR`.","type":"string","default":"OR"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"RestrictionDate":{"title":"DATE","deprecated":true,"type":"object","properties":{"type":{"description":"Value MUST be `DATE`.","type":"string","default":"DATE"},"startDate":{"description":"Start time. Must be in milliseconds.","type":"integer"},"endDate":{"description":"End time. Must be in milliseconds.","type":"integer"}}}}}}
```

## The RestrictionAnd object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"RestrictionAnd":{"title":"AND","type":"object","properties":{"type":{"description":"Value MUST be `AND`.","type":"string","default":"AND"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"Restrictions":{"description":"<br> **Array of restrictions** to be applied to the search.\n\nSearch restriction types: `BIOGRAPHIC`, `KEY`, `LABEL`, `AND`, `OR`.\n\n**Note:** In the `AND` and `OR` restriction operators, the property `restrictions` recursively accepts *arrays of restrictions* following this same structure. See example in the *Request samples*.\n\n**IMPORTANT:** The **DATE** restriction is no longer supported from GBDS API version 5.0.0 onwards. Instead, use the fields data->`startDate` and data->`endDate`.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/RestrictionBiographic"},{"$ref":"#/components/schemas/RestrictionKey"},{"$ref":"#/components/schemas/RestrictionLabel"},{"$ref":"#/components/schemas/RestrictionAnd"},{"$ref":"#/components/schemas/RestrictionOr"},{"$ref":"#/components/schemas/RestrictionDate"}]}},"RestrictionBiographic":{"title":"BIOGRAPHIC","type":"object","properties":{"type":{"description":"Value MUST be `BIOGRAPHIC`.","type":"string","default":"BIOGRAPHIC"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionKey":{"title":"KEY","type":"object","properties":{"type":{"description":"Value MUST be `KEY`.","type":"string","default":"KEY"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionLabel":{"title":"LABEL","type":"object","properties":{"type":{"description":"Value MUST be `LABEL`.","type":"string","default":"LABEL"},"label":{"type":"string"},"exists":{"type":"boolean"}}},"RestrictionOr":{"title":"OR","type":"object","properties":{"type":{"description":"Value MUST be `OR`.","type":"string","default":"OR"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"RestrictionDate":{"title":"DATE","deprecated":true,"type":"object","properties":{"type":{"description":"Value MUST be `DATE`.","type":"string","default":"DATE"},"startDate":{"description":"Start time. Must be in milliseconds.","type":"integer"},"endDate":{"description":"End time. Must be in milliseconds.","type":"integer"}}}}}}
```

## The RestrictionOr object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"RestrictionOr":{"title":"OR","type":"object","properties":{"type":{"description":"Value MUST be `OR`.","type":"string","default":"OR"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"Restrictions":{"description":"<br> **Array of restrictions** to be applied to the search.\n\nSearch restriction types: `BIOGRAPHIC`, `KEY`, `LABEL`, `AND`, `OR`.\n\n**Note:** In the `AND` and `OR` restriction operators, the property `restrictions` recursively accepts *arrays of restrictions* following this same structure. See example in the *Request samples*.\n\n**IMPORTANT:** The **DATE** restriction is no longer supported from GBDS API version 5.0.0 onwards. Instead, use the fields data->`startDate` and data->`endDate`.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/RestrictionBiographic"},{"$ref":"#/components/schemas/RestrictionKey"},{"$ref":"#/components/schemas/RestrictionLabel"},{"$ref":"#/components/schemas/RestrictionAnd"},{"$ref":"#/components/schemas/RestrictionOr"},{"$ref":"#/components/schemas/RestrictionDate"}]}},"RestrictionBiographic":{"title":"BIOGRAPHIC","type":"object","properties":{"type":{"description":"Value MUST be `BIOGRAPHIC`.","type":"string","default":"BIOGRAPHIC"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionKey":{"title":"KEY","type":"object","properties":{"type":{"description":"Value MUST be `KEY`.","type":"string","default":"KEY"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}},"RestrictionLabel":{"title":"LABEL","type":"object","properties":{"type":{"description":"Value MUST be `LABEL`.","type":"string","default":"LABEL"},"label":{"type":"string"},"exists":{"type":"boolean"}}},"RestrictionAnd":{"title":"AND","type":"object","properties":{"type":{"description":"Value MUST be `AND`.","type":"string","default":"AND"},"restrictions":{"$ref":"#/components/schemas/Restrictions"}}},"RestrictionDate":{"title":"DATE","deprecated":true,"type":"object","properties":{"type":{"description":"Value MUST be `DATE`.","type":"string","default":"DATE"},"startDate":{"description":"Start time. Must be in milliseconds.","type":"integer"},"endDate":{"description":"End time. Must be in milliseconds.","type":"integer"}}}}}}
```

## The RestrictionBiographic object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"RestrictionBiographic":{"title":"BIOGRAPHIC","type":"object","properties":{"type":{"description":"Value MUST be `BIOGRAPHIC`.","type":"string","default":"BIOGRAPHIC"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}}}}}
```

## The RestrictionDate object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"RestrictionDate":{"title":"DATE","deprecated":true,"type":"object","properties":{"type":{"description":"Value MUST be `DATE`.","type":"string","default":"DATE"},"startDate":{"description":"Start time. Must be in milliseconds.","type":"integer"},"endDate":{"description":"End time. Must be in milliseconds.","type":"integer"}}}}}}
```

## The RestrictionKey object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"RestrictionKey":{"title":"KEY","type":"object","properties":{"type":{"description":"Value MUST be `KEY`.","type":"string","default":"KEY"},"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","default":"EXACT","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}}}}}
```

## The RestrictionLabel object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"RestrictionLabel":{"title":"LABEL","type":"object","properties":{"type":{"description":"Value MUST be `LABEL`.","type":"string","default":"LABEL"},"label":{"type":"string"},"exists":{"type":"boolean"}}}}}}
```

## The ListPeopleResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListPeopleResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Person"}},"pagination":{"oneOf":[{"$ref":"#/components/schemas/Pagination"},{"$ref":"#/components/schemas/PaginationOff"}]},"expression":{"description":"This field describes in a more natural language the restrictions used in the search (array of restrictions, data->`restrictions`, in the payload).","type":"string"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}},"PaginationOff":{"type":"object","properties":{"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"}}}}}}
```

## The GetPeoplePguidUsingKeyResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetPeoplePguidUsingKeyResponse":{"type":"object","properties":{"data":{"description":"Person PGUID.","type":"string"}}}}}}
```

## The CreatePeopleTrustedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreatePeopleTrustedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PersonRequest"},"meta":{"$ref":"#/components/schemas/TrustedEnrollMeta"}}},"PersonRequest":{"type":"object","properties":{"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"string"},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"TrustedEnrollMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"active":{"description":"Determines if the biometric sent will be loaded into RAM and be available for Search and biometric validation.","type":"boolean"},"externalIDs":{"description":"a","type":"array","items":{"$ref":"#/components/schemas/ExternalIDRequest"}},"labelsOperation":{"description":"a","type":"string","enum":["REPLACE","ACCUMULATE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalIDRequest":{"type":"object","properties":{"name":{"type":"string"},"keys":{"type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The TrustedEnrollMeta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TrustedEnrollMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"active":{"description":"Determines if the biometric sent will be loaded into RAM and be available for Search and biometric validation.","type":"boolean"},"externalIDs":{"description":"a","type":"array","items":{"$ref":"#/components/schemas/ExternalIDRequest"}},"labelsOperation":{"description":"a","type":"string","enum":["REPLACE","ACCUMULATE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalIDRequest":{"type":"object","properties":{"name":{"type":"string"},"keys":{"type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The ExternalIDRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExternalIDRequest":{"type":"object","properties":{"name":{"type":"string"},"keys":{"type":"string"}}}}}}
```

## The UpdatePeopleTrustedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdatePeopleTrustedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PersonRequest"},"meta":{"$ref":"#/components/schemas/TrustedEnrollMeta"}}},"PersonRequest":{"type":"object","properties":{"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"string"},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"TrustedEnrollMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"active":{"description":"Determines if the biometric sent will be loaded into RAM and be available for Search and biometric validation.","type":"boolean"},"externalIDs":{"description":"a","type":"array","items":{"$ref":"#/components/schemas/ExternalIDRequest"}},"labelsOperation":{"description":"a","type":"string","enum":["REPLACE","ACCUMULATE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalIDRequest":{"type":"object","properties":{"name":{"type":"string"},"keys":{"type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The DuplicationIssue object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}}}}}
```

## The QualityAnalysis object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityAnalysis":{"type":"object","properties":{"status":{"description":"Status of the analysis.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"user":{"description":"Username of whom issued the approval.","type":"string"},"comments":{"description":"User comments on the approval.","type":"string"},"timestamp":{"description":"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.","type":"integer","format":"int64"},"duplicationIssues":{"type":"array","items":{"$ref":"#/components/schemas/DuplicationIssue"}},"qualityIssues":{"type":"array","items":{"$ref":"#/components/schemas/QualityIssue"}},"sequenceControlIssues":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlIssue"}}}},"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}},"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}},"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}}}}}
```

## The QualityIssue object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}}}}}
```

## The SequenceControlIssue object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}}}}}
```

## The UpdateQualityAnalysisMeta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateQualityAnalysisMeta":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"}}}}}}
```

## The UpdateQualityAnalysisRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateQualityAnalysisRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"qualityAnalysis":{"$ref":"#/components/schemas/QualityAnalysis"},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}}}},"meta":{"$ref":"#/components/schemas/UpdateQualityAnalysisMeta"}}},"QualityAnalysis":{"type":"object","properties":{"status":{"description":"Status of the analysis.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"user":{"description":"Username of whom issued the approval.","type":"string"},"comments":{"description":"User comments on the approval.","type":"string"},"timestamp":{"description":"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.","type":"integer","format":"int64"},"duplicationIssues":{"type":"array","items":{"$ref":"#/components/schemas/DuplicationIssue"}},"qualityIssues":{"type":"array","items":{"$ref":"#/components/schemas/QualityIssue"}},"sequenceControlIssues":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlIssue"}}}},"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}},"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}},"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"UpdateQualityAnalysisMeta":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"}}}}}}
```

## The UpdateQualityAnalysisResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateQualityAnalysisResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"newTransactionGUID":{"description":"Transaction GUID for new enroll transaction generated.","type":"string"}}}}}}}}
```

## The GetSearchesResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetSearchesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Search"}}},"Search":{"type":"object","properties":{"status":{"description":"Status of the search.","type":"string","enum":["ENQUEUED","PREPARED","PROCESSING","MATCH","NOT_MATCH","FAILED","PENDING","PERSON_NOT_FOUND"]},"tguid":{"description":"Search transaction TGUID.","type":"string"},"candidates":{"description":"List of match candidates.","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"progress":{"type":"number","format":"float"},"request":{"$ref":"#/components/schemas/SearchSpec"},"failReason":{"description":"Fail message on why search didn't complete.","type":"string"},"searchType":{"description":"Type of finger that was searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometrics":{"description":"List of biometrics","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"apiID":{"description":"API ID","type":"string"},"gbdsVersion":{"description":"GBDS Version","type":"string"},"extractionElapsed":{"description":"Time to complete the extraction.","type":"integer","format":"int64"},"searchElapsed":{"description":"Time to complete the search.","type":"integer","format":"int64"},"postSearchElapsed":{"description":"Time to complete the post match.","type":"integer","format":"int64"},"ulsearch":{"description":"Unsolved latent search.","type":"boolean"},"latentSearch":{"description":"Latent search.","type":"boolean"},"score":{"description":"Score of the biometric comparison. Only returned if a single biometric was provided in the payload of the request that created the search.","type":"integer","format":"int32"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Only returned if the `liveness` flag was set to `true` in the payload of the request that created the search. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"},"metadata":{"$ref":"#/components/schemas/SearchMetadata"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"SearchSpec":{"type":"object","properties":{"searchType":{"description":"Type of finger to be searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"description":"If only one biometric is provided, a match score will be returned. If more than one biometric is provided, a list of candidates can be retrieved using getSearchResult.","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"description":"This field is a list of PGUIDs. If the list is empty or null, the search will be against the entire database. If it has only one PGUID, the search will be 1:1. It is possible to make 1:1 searches with more than one PGUID.","type":"array","items":{"type":"string"}},"labelFilters":{"description":"Used for 1:N operations. The filters will be compared with the labels field registered by the enroll method.","uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"description":"Flag indicating if the search is a Latent Search.","type":"boolean"},"isULSearch":{"description":"Flag indicating if the search is an UL Search.","type":"boolean"},"numberOfCandidates":{"description":"Number of candidates to be returned.","type":"integer","format":"int32"},"classificationThreshold":{"description":"Threshold for either classifying biometric data or marking it as UNKNOWN.","type":"integer","format":"int32"},"classifications":{"description":"Vector containing the classifications to be considered. Defaults to UNKNOWN.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"description":"Singularities to be considered. Defaults to NONE.","type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"$ref":"#/components/schemas/SearchOptions"},"user":{"type":"string"},"uguids":{"description":"Globally unique ID of the UL. Can be a list of uguids.","type":"array","items":{"type":"string"}},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned.","type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}}}}}
```

## The LatentSearchOptions object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}}}}}
```

## The SearchOptions object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}}}}}
```

## The Search object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Search":{"type":"object","properties":{"status":{"description":"Status of the search.","type":"string","enum":["ENQUEUED","PREPARED","PROCESSING","MATCH","NOT_MATCH","FAILED","PENDING","PERSON_NOT_FOUND"]},"tguid":{"description":"Search transaction TGUID.","type":"string"},"candidates":{"description":"List of match candidates.","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"progress":{"type":"number","format":"float"},"request":{"$ref":"#/components/schemas/SearchSpec"},"failReason":{"description":"Fail message on why search didn't complete.","type":"string"},"searchType":{"description":"Type of finger that was searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometrics":{"description":"List of biometrics","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"apiID":{"description":"API ID","type":"string"},"gbdsVersion":{"description":"GBDS Version","type":"string"},"extractionElapsed":{"description":"Time to complete the extraction.","type":"integer","format":"int64"},"searchElapsed":{"description":"Time to complete the search.","type":"integer","format":"int64"},"postSearchElapsed":{"description":"Time to complete the post match.","type":"integer","format":"int64"},"ulsearch":{"description":"Unsolved latent search.","type":"boolean"},"latentSearch":{"description":"Latent search.","type":"boolean"},"score":{"description":"Score of the biometric comparison. Only returned if a single biometric was provided in the payload of the request that created the search.","type":"integer","format":"int32"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Only returned if the `liveness` flag was set to `true` in the payload of the request that created the search. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"},"metadata":{"$ref":"#/components/schemas/SearchMetadata"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"SearchSpec":{"type":"object","properties":{"searchType":{"description":"Type of finger to be searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"description":"If only one biometric is provided, a match score will be returned. If more than one biometric is provided, a list of candidates can be retrieved using getSearchResult.","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"description":"This field is a list of PGUIDs. If the list is empty or null, the search will be against the entire database. If it has only one PGUID, the search will be 1:1. It is possible to make 1:1 searches with more than one PGUID.","type":"array","items":{"type":"string"}},"labelFilters":{"description":"Used for 1:N operations. The filters will be compared with the labels field registered by the enroll method.","uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"description":"Flag indicating if the search is a Latent Search.","type":"boolean"},"isULSearch":{"description":"Flag indicating if the search is an UL Search.","type":"boolean"},"numberOfCandidates":{"description":"Number of candidates to be returned.","type":"integer","format":"int32"},"classificationThreshold":{"description":"Threshold for either classifying biometric data or marking it as UNKNOWN.","type":"integer","format":"int32"},"classifications":{"description":"Vector containing the classifications to be considered. Defaults to UNKNOWN.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"description":"Singularities to be considered. Defaults to NONE.","type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"$ref":"#/components/schemas/SearchOptions"},"user":{"type":"string"},"uguids":{"description":"Globally unique ID of the UL. Can be a list of uguids.","type":"array","items":{"type":"string"}},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned.","type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}}}}}
```

## The SearchSpec object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SearchSpec":{"type":"object","properties":{"searchType":{"description":"Type of finger to be searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"description":"If only one biometric is provided, a match score will be returned. If more than one biometric is provided, a list of candidates can be retrieved using getSearchResult.","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"description":"This field is a list of PGUIDs. If the list is empty or null, the search will be against the entire database. If it has only one PGUID, the search will be 1:1. It is possible to make 1:1 searches with more than one PGUID.","type":"array","items":{"type":"string"}},"labelFilters":{"description":"Used for 1:N operations. The filters will be compared with the labels field registered by the enroll method.","uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"description":"Flag indicating if the search is a Latent Search.","type":"boolean"},"isULSearch":{"description":"Flag indicating if the search is an UL Search.","type":"boolean"},"numberOfCandidates":{"description":"Number of candidates to be returned.","type":"integer","format":"int32"},"classificationThreshold":{"description":"Threshold for either classifying biometric data or marking it as UNKNOWN.","type":"integer","format":"int32"},"classifications":{"description":"Vector containing the classifications to be considered. Defaults to UNKNOWN.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"description":"Singularities to be considered. Defaults to NONE.","type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"$ref":"#/components/schemas/SearchOptions"},"user":{"type":"string"},"uguids":{"description":"Globally unique ID of the UL. Can be a list of uguids.","type":"array","items":{"type":"string"}},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned.","type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}}}}}
```

## The CreateSearchRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateSearchRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchSpec"},"meta":{"$ref":"#/components/schemas/SearchMeta"}}},"SearchSpec":{"type":"object","properties":{"searchType":{"description":"Type of finger to be searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"description":"If only one biometric is provided, a match score will be returned. If more than one biometric is provided, a list of candidates can be retrieved using getSearchResult.","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"description":"This field is a list of PGUIDs. If the list is empty or null, the search will be against the entire database. If it has only one PGUID, the search will be 1:1. It is possible to make 1:1 searches with more than one PGUID.","type":"array","items":{"type":"string"}},"labelFilters":{"description":"Used for 1:N operations. The filters will be compared with the labels field registered by the enroll method.","uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"description":"Flag indicating if the search is a Latent Search.","type":"boolean"},"isULSearch":{"description":"Flag indicating if the search is an UL Search.","type":"boolean"},"numberOfCandidates":{"description":"Number of candidates to be returned.","type":"integer","format":"int32"},"classificationThreshold":{"description":"Threshold for either classifying biometric data or marking it as UNKNOWN.","type":"integer","format":"int32"},"classifications":{"description":"Vector containing the classifications to be considered. Defaults to UNKNOWN.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"description":"Singularities to be considered. Defaults to NONE.","type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"$ref":"#/components/schemas/SearchOptions"},"user":{"type":"string"},"uguids":{"description":"Globally unique ID of the UL. Can be a list of uguids.","type":"array","items":{"type":"string"}},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned.","type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}},"SearchMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"metadata":{"$ref":"#/components/schemas/SearchMetadata"},"verifyResult":{"type":"boolean","description":"Flag to request the result of the Verification call (Verify - when keys and/or PGUIDs are provided). Default: `false`.\n\nIf `false`, the Verify will return:\n- `tguid`\n- `status`\n- `score` (if only one biometric was provided in the request payload and the `searchType` is `SAME_FINGERS`; if more than one biometric was provided, the score will not be returned)\n- `bonafideScore` (for faces, if the data->`liveness` flag is set to `true` in the request payload)\n\nIf `true`, the Verify will return all above plus:\n- `candidates` (if more than one biometric is provided, candidates will be returned and the score will not be returned)\n- `progress`\n- `searchType`\n- `metadata`\n- `apiID`\n- `gbdsVersion`\n- `extractionElapsed`\n- `searchElapsed`\n- `postSearchElapsed`\n- `ulsearch`\n- `latentSearch`\n\nPS: `biometrics` are never returned in the response.\n"}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}}}}}
```

## The SearchMeta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SearchMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"metadata":{"$ref":"#/components/schemas/SearchMetadata"},"verifyResult":{"type":"boolean","description":"Flag to request the result of the Verification call (Verify - when keys and/or PGUIDs are provided). Default: `false`.\n\nIf `false`, the Verify will return:\n- `tguid`\n- `status`\n- `score` (if only one biometric was provided in the request payload and the `searchType` is `SAME_FINGERS`; if more than one biometric was provided, the score will not be returned)\n- `bonafideScore` (for faces, if the data->`liveness` flag is set to `true` in the request payload)\n\nIf `true`, the Verify will return all above plus:\n- `candidates` (if more than one biometric is provided, candidates will be returned and the score will not be returned)\n- `progress`\n- `searchType`\n- `metadata`\n- `apiID`\n- `gbdsVersion`\n- `extractionElapsed`\n- `searchElapsed`\n- `postSearchElapsed`\n- `ulsearch`\n- `latentSearch`\n\nPS: `biometrics` are never returned in the response.\n"}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}}}}}
```

## The CreateSearchResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateSearchResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"description":"Status of the search.","type":"string","enum":["ENQUEUED","PROCESSING","MATCH","NOT_MATCH","FAILED"]},"tguid":{"description":"Search transaction TGUID.","type":"string"},"score":{"description":"Biometric comparison score. <br><br> Only returned if a **single** biometric was provided in the request payload and the `searchType` is `SAME_FINGERS`.","type":"integer","format":"int32"},"bonafideScore":{"description":"Bonafide score of the liveness verification. <br><br> Only returned for **faces** and if the `liveness` flag was set to `true` in the request payload. Ranges from 0 to 100. (0=attack, 100=genuine).","type":"integer","format":"int32"},"candidates":{"description":"List of match candidates. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"progress":{"description":"Progress. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"number","format":"float"},"searchType":{"description":"Type of finger that was searched. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"metadata":{"allOf":[{"description":"Additional Information. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*"},{"$ref":"#/components/schemas/SearchMetadata"}]},"apiID":{"description":"API ID. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"string"},"gbdsVersion":{"description":"GBDS Version. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"string"},"extractionElapsed":{"description":"Time to complete the extraction. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"integer","format":"int64"},"searchElapsed":{"description":"Time to complete the search. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"integer","format":"int64"},"postSearchElapsed":{"description":"Time to complete the post match. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"integer","format":"int64"},"ulsearch":{"description":"Unsolved latent search. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"boolean"},"latentSearch":{"description":"Latent search. <br><br> *(Only returned if meta->`verifyResult` is `true` in the request payload)*","type":"boolean"}}}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}}}}}
```

## The Enroll object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Enroll":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"pguid":{"description":"PGUID of the UL candidate.","type":"string"},"status":{"description":"Status of the enroll transaction.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","PENDING","REFUSED","RESENT_ENROLL"]},"timestamp":{"description":"Timestamp of Enroll creation.","type":"integer","format":"int64"},"progress":{"description":"Progress of the Enroll operation.","type":"number","format":"float"},"candidates":{"description":"Identify candidates","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"person":{"$ref":"#/components/schemas/Person"},"qualityAnalysis":{"$ref":"#/components/schemas/QualityAnalysis"},"failReason":{"description":"Message describing why the enroll failed","type":"string"},"isCurrentTransaction":{"description":"Whether this is the current transaction for the person identified by PGUID.","type":"boolean"},"refusedReason":{"$ref":"#/components/schemas/EnrollRefusedReason"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Only returned if the `liveness` flag was set to `true` in the payload of the enroll/update request. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"},"postSearchElapsed":{"description":"Time to complete the post match.","type":"integer","format":"int64"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"QualityAnalysis":{"type":"object","properties":{"status":{"description":"Status of the analysis.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"user":{"description":"Username of whom issued the approval.","type":"string"},"comments":{"description":"User comments on the approval.","type":"string"},"timestamp":{"description":"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.","type":"integer","format":"int64"},"duplicationIssues":{"type":"array","items":{"$ref":"#/components/schemas/DuplicationIssue"}},"qualityIssues":{"type":"array","items":{"$ref":"#/components/schemas/QualityIssue"}},"sequenceControlIssues":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlIssue"}}}},"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}},"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}},"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}},"EnrollRefusedReason":{"type":"object","properties":{"matchedPeopleThatAreReferenceInSomeExceptionUnderAnalysis":{"description":"List of PGUID of the people that is the reference in some exception under analysis.","type":"array","items":{"type":"string"}},"matchedTransactionsThatHaveAnExceptionUnderAnalysis":{"description":"List of TGUID of entrant transactions with the exception under analysis.","type":"array","items":{"type":"string"}}}}}}}
```

## The EnrollTransaction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"EnrollTransaction":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"pguid":{"description":"PGUID of the UL candidate.","type":"string"},"status":{"description":"Status of the enroll transaction.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","PENDING","REFUSED","RESENT_ENROLL"]},"timestamp":{"description":"Timestamp of Enroll creation.","type":"integer","format":"int64"},"progress":{"description":"Progress of the Enroll operation.","type":"number","format":"float"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Match"}},"person":{"$ref":"#/components/schemas/Person"},"qualityAnalysis":{"$ref":"#/components/schemas/QualityAnalysis"},"failReason":{"description":"Message describing why the enroll failed","type":"string"},"isCurrentTransaction":{"description":"Whether this is the current transaction for the person identified by PGUID.","type":"boolean"},"refusedReason":{"$ref":"#/components/schemas/EnrollRefusedReason"},"apiID":{"description":"API ID that processed the enroll/search transaction","type":"string"},"gbdsVersion":{"description":"GBDS version that processed the transaction","type":"string"},"extractionElapsed":{"type":"integer","format":"int64"},"extractionQualityElapsed":{"type":"integer","format":"int64"},"searchElapsed":{"type":"integer","format":"int64"}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"QualityAnalysis":{"type":"object","properties":{"status":{"description":"Status of the analysis.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"user":{"description":"Username of whom issued the approval.","type":"string"},"comments":{"description":"User comments on the approval.","type":"string"},"timestamp":{"description":"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.","type":"integer","format":"int64"},"duplicationIssues":{"type":"array","items":{"$ref":"#/components/schemas/DuplicationIssue"}},"qualityIssues":{"type":"array","items":{"$ref":"#/components/schemas/QualityIssue"}},"sequenceControlIssues":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlIssue"}}}},"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}},"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}},"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}},"EnrollRefusedReason":{"type":"object","properties":{"matchedPeopleThatAreReferenceInSomeExceptionUnderAnalysis":{"description":"List of PGUID of the people that is the reference in some exception under analysis.","type":"array","items":{"type":"string"}},"matchedTransactionsThatHaveAnExceptionUnderAnalysis":{"description":"List of TGUID of entrant transactions with the exception under analysis.","type":"array","items":{"type":"string"}}}}}}}
```

## The GetEnrollTransactionsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetEnrollTransactionsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Enroll"}}},"Enroll":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"pguid":{"description":"PGUID of the UL candidate.","type":"string"},"status":{"description":"Status of the enroll transaction.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","PENDING","REFUSED","RESENT_ENROLL"]},"timestamp":{"description":"Timestamp of Enroll creation.","type":"integer","format":"int64"},"progress":{"description":"Progress of the Enroll operation.","type":"number","format":"float"},"candidates":{"description":"Identify candidates","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"person":{"$ref":"#/components/schemas/Person"},"qualityAnalysis":{"$ref":"#/components/schemas/QualityAnalysis"},"failReason":{"description":"Message describing why the enroll failed","type":"string"},"isCurrentTransaction":{"description":"Whether this is the current transaction for the person identified by PGUID.","type":"boolean"},"refusedReason":{"$ref":"#/components/schemas/EnrollRefusedReason"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Only returned if the `liveness` flag was set to `true` in the payload of the enroll/update request. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"},"postSearchElapsed":{"description":"Time to complete the post match.","type":"integer","format":"int64"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"QualityAnalysis":{"type":"object","properties":{"status":{"description":"Status of the analysis.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"user":{"description":"Username of whom issued the approval.","type":"string"},"comments":{"description":"User comments on the approval.","type":"string"},"timestamp":{"description":"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.","type":"integer","format":"int64"},"duplicationIssues":{"type":"array","items":{"$ref":"#/components/schemas/DuplicationIssue"}},"qualityIssues":{"type":"array","items":{"$ref":"#/components/schemas/QualityIssue"}},"sequenceControlIssues":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlIssue"}}}},"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}},"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}},"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}},"EnrollRefusedReason":{"type":"object","properties":{"matchedPeopleThatAreReferenceInSomeExceptionUnderAnalysis":{"description":"List of PGUID of the people that is the reference in some exception under analysis.","type":"array","items":{"type":"string"}},"matchedTransactionsThatHaveAnExceptionUnderAnalysis":{"description":"List of TGUID of entrant transactions with the exception under analysis.","type":"array","items":{"type":"string"}}}}}}}
```

## The ListEnrollTransactionsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListEnrollTransactionsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Enroll"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"meta":{"$ref":"#/components/schemas/ResponseMeta"}}},"Enroll":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"pguid":{"description":"PGUID of the UL candidate.","type":"string"},"status":{"description":"Status of the enroll transaction.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","PENDING","REFUSED","RESENT_ENROLL"]},"timestamp":{"description":"Timestamp of Enroll creation.","type":"integer","format":"int64"},"progress":{"description":"Progress of the Enroll operation.","type":"number","format":"float"},"candidates":{"description":"Identify candidates","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"person":{"$ref":"#/components/schemas/Person"},"qualityAnalysis":{"$ref":"#/components/schemas/QualityAnalysis"},"failReason":{"description":"Message describing why the enroll failed","type":"string"},"isCurrentTransaction":{"description":"Whether this is the current transaction for the person identified by PGUID.","type":"boolean"},"refusedReason":{"$ref":"#/components/schemas/EnrollRefusedReason"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Only returned if the `liveness` flag was set to `true` in the payload of the enroll/update request. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"},"postSearchElapsed":{"description":"Time to complete the post match.","type":"integer","format":"int64"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"QualityAnalysis":{"type":"object","properties":{"status":{"description":"Status of the analysis.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"user":{"description":"Username of whom issued the approval.","type":"string"},"comments":{"description":"User comments on the approval.","type":"string"},"timestamp":{"description":"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.","type":"integer","format":"int64"},"duplicationIssues":{"type":"array","items":{"$ref":"#/components/schemas/DuplicationIssue"}},"qualityIssues":{"type":"array","items":{"$ref":"#/components/schemas/QualityIssue"}},"sequenceControlIssues":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlIssue"}}}},"DuplicationIssue":{"type":"object","properties":{"indexes":{"description":"List of pairs of duplicated indexes found.","type":"array","items":{"type":"integer","format":"int32"}}}},"QualityIssue":{"type":"object","properties":{"index":{"description":"Index of the referred finger.","type":"integer","format":"int32"},"quality":{"description":"Quality calculated for the template.","type":"integer","format":"int32"}}},"SequenceControlIssue":{"type":"object","properties":{"index":{"description":"Index of the problematic finger.","type":"integer","format":"int32"},"matches":{"description":"List of sequence control indexes that matched the given finger and its matching score.","type":"array","items":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}},"EnrollRefusedReason":{"type":"object","properties":{"matchedPeopleThatAreReferenceInSomeExceptionUnderAnalysis":{"description":"List of PGUID of the people that is the reference in some exception under analysis.","type":"array","items":{"type":"string"}},"matchedTransactionsThatHaveAnExceptionUnderAnalysis":{"description":"List of TGUID of entrant transactions with the exception under analysis.","type":"array","items":{"type":"string"}}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}},"ResponseMeta":{"type":"object","properties":{"tguidsWithError":{"description":"Array containing TGUID for transactions, of the requested page, which had errors during retrieval and thus are NOT present in the returned page.","type":"array","items":{"type":"string"}}}}}}}
```

## The ResponseMeta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ResponseMeta":{"type":"object","properties":{"tguidsWithError":{"description":"Array containing TGUID for transactions, of the requested page, which had errors during retrieval and thus are NOT present in the returned page.","type":"array","items":{"type":"string"}}}}}}}
```

## The Fragment object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Fragment":{"type":"object","properties":{"id":{"description":"ID of the fragment.","type":"string"},"caseId":{"description":"ID of case the fragment is associated to.","type":"string"},"image":{"$ref":"#/components/schemas/Biometric"},"template":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}}}}}
```

## The ListULsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListULsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UL"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"UL":{"type":"object","properties":{"uguid":{"description":"Globally unique ID of the UL.","type":"string"},"status":{"description":"UL Status.","type":"string","enum":["UNSOLVED","SOLVED","ENQUEUED","FAILED"]},"creationTime":{"description":"Timestamp, in milliseconds, of UL creation.","type":"integer","format":"int64"},"personPguid":{"description":"PGUID of the person the UL was matched against. Only present when the UL has status RESOLVED.","type":"string"},"personTguid":{"description":"TGUID of the person the UL was matched against. Only present when the UL has status RESOLVED.","type":"string"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Match"}},"linkedULs":{"description":"List of UGUIDs if ULs that were linked against this UL.","type":"array","items":{"type":"string"}},"fragment":{"$ref":"#/components/schemas/Fragment"},"ulAnalysis":{"$ref":"#/components/schemas/ULAnalysis"},"isSearchable":{"description":"Flag that indicates whether the UL's fragment is already registered and searchable.","type":"boolean"},"failReason":{"description":"If failed, this field indicates the reason.","type":"string"}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Fragment":{"type":"object","properties":{"id":{"description":"ID of the fragment.","type":"string"},"caseId":{"description":"ID of case the fragment is associated to.","type":"string"},"image":{"$ref":"#/components/schemas/Biometric"},"template":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ULAnalysis":{"type":"object","properties":{"user":{"description":"Username of user that solved UL.","type":"string"},"timestamp":{"description":"Timestamp, in milliseconds, of when UL was solved.","type":"integer","format":"int64"}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The UL object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UL":{"type":"object","properties":{"uguid":{"description":"Globally unique ID of the UL.","type":"string"},"status":{"description":"UL Status.","type":"string","enum":["UNSOLVED","SOLVED","ENQUEUED","FAILED"]},"creationTime":{"description":"Timestamp, in milliseconds, of UL creation.","type":"integer","format":"int64"},"personPguid":{"description":"PGUID of the person the UL was matched against. Only present when the UL has status RESOLVED.","type":"string"},"personTguid":{"description":"TGUID of the person the UL was matched against. Only present when the UL has status RESOLVED.","type":"string"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Match"}},"linkedULs":{"description":"List of UGUIDs if ULs that were linked against this UL.","type":"array","items":{"type":"string"}},"fragment":{"$ref":"#/components/schemas/Fragment"},"ulAnalysis":{"$ref":"#/components/schemas/ULAnalysis"},"isSearchable":{"description":"Flag that indicates whether the UL's fragment is already registered and searchable.","type":"boolean"},"failReason":{"description":"If failed, this field indicates the reason.","type":"string"}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Fragment":{"type":"object","properties":{"id":{"description":"ID of the fragment.","type":"string"},"caseId":{"description":"ID of case the fragment is associated to.","type":"string"},"image":{"$ref":"#/components/schemas/Biometric"},"template":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ULAnalysis":{"type":"object","properties":{"user":{"description":"Username of user that solved UL.","type":"string"},"timestamp":{"description":"Timestamp, in milliseconds, of when UL was solved.","type":"integer","format":"int64"}}}}}}
```

## The ULAnalysis object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ULAnalysis":{"type":"object","properties":{"user":{"description":"Username of user that solved UL.","type":"string"},"timestamp":{"description":"Timestamp, in milliseconds, of when UL was solved.","type":"integer","format":"int64"}}}}}}
```

## The ListULCandidatesResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListULCandidatesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ULCandidate"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"ULCandidate":{"type":"object","properties":{"uguid":{"description":"Globally unique ID of the UL it has matched.","type":"string"},"status":{"description":"Matched UL status.","type":"string","enum":["UNSOLVED","SOLVED"]},"creationTime":{"description":"Timestamp, in milliseconds, of UL creation.","type":"string","format":"date-time"},"matchedPersonPguid":{"description":"PGUID of the person the UL candidate was matched against. Only present when the UL has status RESOLVED.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the UL candidate was matched against. Only present when the UL has status RESOLVED.","type":"string"},"caseId":{"description":"Case ID of the UL it has matched.","type":"string"},"fragmentId":{"description":"Fragment ID of the UL it has matched.","type":"string"},"fragmentIndex":{"description":"UL index that matched.","type":"integer","format":"int32"},"user":{"description":"User assigned to the matched UL.","type":"string"},"timestamp":{"description":"Timestamp in milliseconds of the match.","type":"string","format":"date-time"},"candidatePguid":{"description":"PGUID of the UL candidate.","type":"string"},"candidateTguid":{"description":"TGUID of the UL candidate.","type":"string"},"candidateIndex":{"description":"UL candidate index that matched.","type":"integer","format":"int32"},"score":{"description":"Score of the match.","type":"integer","format":"int32"}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The ULCandidate object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ULCandidate":{"type":"object","properties":{"uguid":{"description":"Globally unique ID of the UL it has matched.","type":"string"},"status":{"description":"Matched UL status.","type":"string","enum":["UNSOLVED","SOLVED"]},"creationTime":{"description":"Timestamp, in milliseconds, of UL creation.","type":"string","format":"date-time"},"matchedPersonPguid":{"description":"PGUID of the person the UL candidate was matched against. Only present when the UL has status RESOLVED.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the UL candidate was matched against. Only present when the UL has status RESOLVED.","type":"string"},"caseId":{"description":"Case ID of the UL it has matched.","type":"string"},"fragmentId":{"description":"Fragment ID of the UL it has matched.","type":"string"},"fragmentIndex":{"description":"UL index that matched.","type":"integer","format":"int32"},"user":{"description":"User assigned to the matched UL.","type":"string"},"timestamp":{"description":"Timestamp in milliseconds of the match.","type":"string","format":"date-time"},"candidatePguid":{"description":"PGUID of the UL candidate.","type":"string"},"candidateTguid":{"description":"TGUID of the UL candidate.","type":"string"},"candidateIndex":{"description":"UL candidate index that matched.","type":"integer","format":"int32"},"score":{"description":"Score of the match.","type":"integer","format":"int32"}}}}}}
```

## The CreateULsRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateULsRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Fragment"},"meta":{"$ref":"#/components/schemas/ULValidation"}}},"Fragment":{"type":"object","properties":{"id":{"description":"ID of the fragment.","type":"string"},"caseId":{"description":"ID of case the fragment is associated to.","type":"string"},"image":{"$ref":"#/components/schemas/Biometric"},"template":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ULValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"}}}}}}
```

## The ULValidation object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ULValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"}}}}}}
```

## The CreateULsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateULsResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"uguid":{"description":"UGUID of target UL.","type":"string"}}}}}}}}
```

## The GetULsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetULsResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UL"}}},"UL":{"type":"object","properties":{"uguid":{"description":"Globally unique ID of the UL.","type":"string"},"status":{"description":"UL Status.","type":"string","enum":["UNSOLVED","SOLVED","ENQUEUED","FAILED"]},"creationTime":{"description":"Timestamp, in milliseconds, of UL creation.","type":"integer","format":"int64"},"personPguid":{"description":"PGUID of the person the UL was matched against. Only present when the UL has status RESOLVED.","type":"string"},"personTguid":{"description":"TGUID of the person the UL was matched against. Only present when the UL has status RESOLVED.","type":"string"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/Match"}},"linkedULs":{"description":"List of UGUIDs if ULs that were linked against this UL.","type":"array","items":{"type":"string"}},"fragment":{"$ref":"#/components/schemas/Fragment"},"ulAnalysis":{"$ref":"#/components/schemas/ULAnalysis"},"isSearchable":{"description":"Flag that indicates whether the UL's fragment is already registered and searchable.","type":"boolean"},"failReason":{"description":"If failed, this field indicates the reason.","type":"string"}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"Fragment":{"type":"object","properties":{"id":{"description":"ID of the fragment.","type":"string"},"caseId":{"description":"ID of case the fragment is associated to.","type":"string"},"image":{"$ref":"#/components/schemas/Biometric"},"template":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ULAnalysis":{"type":"object","properties":{"user":{"description":"Username of user that solved UL.","type":"string"},"timestamp":{"description":"Timestamp, in milliseconds, of when UL was solved.","type":"integer","format":"int64"}}}}}}
```

## The SolveULsRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SolveULsRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"tguid":{"description":"TGUID of reference person to which the UL should be matched.","type":"string"},"user":{"description":"User that is solving UL.","type":"string"}}}}}}}}
```

## The DeleteULCandidatesRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DeleteULCandidatesRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DeleteULCandidatesSpec"}}},"DeleteULCandidatesSpec":{"type":"object","properties":{"uguid":{"description":"UGUID of target UL.","type":"string"},"candidates":{"description":"Array of people whose biometric data matched with the biometric data.","type":"array","items":{"$ref":"#/components/schemas/ULCandidateIdentifier"}}}},"ULCandidateIdentifier":{"type":"object","properties":{"pguid":{"description":"PGUID of the target candidate.","type":"string"},"tguid":{"description":"TGUID of the target candidate.","type":"string"},"index":{"description":"Index of the target candidate.","type":"integer","format":"int32"}}}}}}
```

## The ULCandidateIdentifier object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ULCandidateIdentifier":{"type":"object","properties":{"pguid":{"description":"PGUID of the target candidate.","type":"string"},"tguid":{"description":"TGUID of the target candidate.","type":"string"},"index":{"description":"Index of the target candidate.","type":"integer","format":"int32"}}}}}}
```

## The DeleteULCandidatesSpec object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DeleteULCandidatesSpec":{"type":"object","properties":{"uguid":{"description":"UGUID of target UL.","type":"string"},"candidates":{"description":"Array of people whose biometric data matched with the biometric data.","type":"array","items":{"$ref":"#/components/schemas/ULCandidateIdentifier"}}}},"ULCandidateIdentifier":{"type":"object","properties":{"pguid":{"description":"PGUID of the target candidate.","type":"string"},"tguid":{"description":"TGUID of the target candidate.","type":"string"},"index":{"description":"Index of the target candidate.","type":"integer","format":"int32"}}}}}}
```

## The EnrollRefusedReason object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"EnrollRefusedReason":{"type":"object","properties":{"matchedPeopleThatAreReferenceInSomeExceptionUnderAnalysis":{"description":"List of PGUID of the people that is the reference in some exception under analysis.","type":"array","items":{"type":"string"}},"matchedTransactionsThatHaveAnExceptionUnderAnalysis":{"description":"List of TGUID of entrant transactions with the exception under analysis.","type":"array","items":{"type":"string"}}}}}}}
```

## The GetVersion object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetVersion":{"type":"object","properties":{"data":{"type":"object","properties":{"api":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"}}},"searchEngine":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"}}}}}}}}}}
```

## The GroupEmail object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GroupEmail":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"description":"Name of the group","type":"string"},"enabled":{"description":"Enable or disable the send email service for this group.","type":"boolean"},"emails":{"description":"array of e-mails","type":"array","items":{"type":"string"}}}}}}}}}
```

## The CreateGroupEmailResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateGroupEmailResponse":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"name":{"description":"Name of the group","type":"string"},"enabled":{"description":"Enable or disable the send email service for this group.","type":"boolean"},"emails":{"description":"array of e-mails","type":"array","items":{"type":"string"}}}}}}}}}
```

## The UserGroup object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UserGroup":{"type":"object","properties":{"data":{"type":"object","properties":{"username":{"description":"Name of the user.","type":"string"},"groups":{"description":"Array of group name objects.","type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}}}}}}}}}
```

## The CreateUserEmailResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateUserEmailResponse":{"type":"object","properties":{"status":{"type":"string"},"data":{"type":"object","properties":{"username":{"description":"Name of the user.","type":"string"},"groups":{"description":"Array of objects of groups","type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}}}}}}}}}
```

## The ConfigurationRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ConfigurationRequest":{"type":"object","properties":{"application":{"description":"Configuration mode for the application.","type":"string","enum":["GBDS_API","GBDS_DRIVER","GBDS_API_AND_DRIVER"]},"configurations":{"description":"Dictionary of configuration parameters and default values. It can contain multiple unique parameters as Strings.","type":"object"}}}}}}
```

## The TransparencyPeopleRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TransparencyPeopleRequest":{"type":"object","properties":{"pguid":{"description":"person global ID.","type":"string"},"action":{"description":"transparency action","type":"string","enum":["NOTIFY","CLASSIFIED","REMOVE"]},"enabled":{"type":"string"},"groups":{"description":"groups the pguid belongs to","type":"array","items":{"type":"object"}}}}}}}
```

## The TransparencyPeopleResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TransparencyPeopleResponse":{"type":"object","properties":{"status":{"type":"string","description":"transaction status."},"data":{"$ref":"#/components/schemas/TransparencyPeopleRequest"}}},"TransparencyPeopleRequest":{"type":"object","properties":{"pguid":{"description":"person global ID.","type":"string"},"action":{"description":"transparency action","type":"string","enum":["NOTIFY","CLASSIFIED","REMOVE"]},"enabled":{"type":"string"},"groups":{"description":"groups the pguid belongs to","type":"array","items":{"type":"object"}}}}}}}
```

## The GetTransparencyPeople object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetTransparencyPeople":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TransparencyPeopleRequest"}}}},"TransparencyPeopleRequest":{"type":"object","properties":{"pguid":{"description":"person global ID.","type":"string"},"action":{"description":"transparency action","type":"string","enum":["NOTIFY","CLASSIFIED","REMOVE"]},"enabled":{"type":"string"},"groups":{"description":"groups the pguid belongs to","type":"array","items":{"type":"object"}}}}}}}
```

## The GetMatcherStatusResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetMatcherStatusResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"configuredMatchers":{"description":"Number of matchers running on the cluster.","type":"integer","format":"int32"},"peopleCount":{"description":"Sum of all people in the nodes.","type":"integer","format":"int32"},"ulCount":{"description":"Sum of all ULs in the nodes.","type":"integer","format":"int32"},"nodes":{"description":"Array of nodes.","type":"array","items":{"type":"object","properties":{"hostname":{"description":"Name of the node.","type":"string"},"monitorPort":{"description":"Port of the GBDS Monitor service.","type":"integer","format":"int32"},"status":{"description":"Status of the node.","type":"string","enum":["NONE","SPRING_START","CLUSTER_ASSEMBLY","MATCHERS_ASSEMBLY","PEOPLE_BOOT","UL_BOOT","KAFKA_START","RUNNING","SHUTTING_DOWN"]},"configuredMatchers":{"description":"Number of matchers running on the node.","type":"integer","format":"int32"},"peopleCount":{"description":"Sum of all people in this node.","type":"integer","format":"int32"},"ulCount":{"description":"Sum of all ULs in this node.","type":"integer","format":"int32"},"memory":{"description":"Memory used by the node. Unused biometric modalities will not be shown.","$ref":"#/components/schemas/Memory"},"activeMatchers":{"description":"Matchers running on the node.","type":"array","items":{"type":"object","properties":{"name":{"description":"Name of the matcher.","type":"string"},"peopleCount":{"description":"Quantity of people in the matcher.","type":"integer","format":"int32"},"ulCount":{"description":"Quantity of ULs in the matcher.","type":"integer","format":"int32"},"memory":{"description":"Memory used by the matcher. Unused biometric modalities will not be shown.","$ref":"#/components/schemas/Memory"}}}}}}}}}}},"Memory":{"type":"object","properties":{"FINGERPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"PALMPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"NEWBORN":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"UL_FINGERPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"UL_PALMPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"FACE":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"IRIS":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}}}}}}}
```

## The Memory object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Memory":{"type":"object","properties":{"FINGERPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"PALMPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"NEWBORN":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"UL_FINGERPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"UL_PALMPRINT":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"FACE":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"IRIS":{"type":"object","properties":{"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}}}}}}}
```

## The GetGBDSStatusResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetGBDSStatusResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"configuredMatchers":{"description":"Number of matchers running on the cluster.","type":"integer","format":"int32"},"nodes":{"type":"array","items":{"type":"object","properties":{"hostname":{"description":"Name of the node.","type":"string"},"monitorPort":{"description":"Port of the GBDS Monitor service.","type":"integer","format":"int32"},"configuredMatchers":{"description":"Number of matchers running on the node.","type":"integer","format":"int32"}}}}}}}}}}}
```

## The ChangeLogLevel object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ChangeLogLevel":{"type":"object","properties":{"component":{"type":"string","enum":["API","DRIVER"]},"logLevel":{"type":"string","enum":["TRACE","DEBUG","INFO","WARN","ERROR","OFF","ALL"]}}}}}}
```

## The ChangeLogLevelRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ChangeLogLevelRequest":{"type":"object","properties":{"data":{"type":"array","writeOnly":true,"items":{"$ref":"#/components/schemas/ChangeLogLevel"}}}},"ChangeLogLevel":{"type":"object","properties":{"component":{"type":"string","enum":["API","DRIVER"]},"logLevel":{"type":"string","enum":["TRACE","DEBUG","INFO","WARN","ERROR","OFF","ALL"]}}}}}}
```

## The ExtractionServiceBean object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExtractionServiceBean":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"url":{"type":"string"},"enabled":{"type":"boolean"},"library":{"type":"string","enum":["GINGER","FACE","GIRL"]},"message":{"type":"string"}}}}}}
```

## The ListExtractionServicesResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListExtractionServicesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExtractionServiceBean"}}}},"ExtractionServiceBean":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"url":{"type":"string"},"enabled":{"type":"boolean"},"library":{"type":"string","enum":["GINGER","FACE","GIRL"]},"message":{"type":"string"}}}}}}
```

## The ExtractionServiceRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExtractionServiceRequest":{"type":"object","properties":{"library":{"type":"string","enum":["GINGER","FACE","GIRL"]},"count":{"type":"integer","format":"int32"}}}}}}
```

## The ShutdownRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ShutdownRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"shouldShutdownAPI":{"type":"boolean"},"shouldShutdownDriver":{"type":"boolean"}}}}}}}}
```

## The QualityExtractionBean object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityExtractionBean":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"url":{"type":"string"},"enabled":{"type":"boolean"},"library":{"type":"string","enum":["FACE","FINGER"]},"message":{"type":"string"}}}}}}
```

## The QualityExtractionResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityExtractionResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/QualityExtractionBean"}}}},"QualityExtractionBean":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"url":{"type":"string"},"enabled":{"type":"boolean"},"library":{"type":"string","enum":["FACE","FINGER"]},"message":{"type":"string"}}}}}}
```

## The QualityExtractionRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityExtractionRequest":{"type":"object","properties":{"library":{"type":"string","enum":["FINGER","FACE"]},"count":{"type":"integer","format":"int32"}}}}}}
```

## The API object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"API":{"type":"object","properties":{"apiId":{"type":"string","description":"Unique ID of the API instance."},"hostname":{"type":"string","description":"Hostname or IP Address of the node that is hosting the API instance."},"port":{"type":"integer","format":"int32","description":"Port mapped to the API instance."},"type":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The CreateAPIRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateAPIRequest":{"type":"object","properties":{"data":{"type":"object","$ref":"#/components/schemas/API"}}},"API":{"type":"object","properties":{"apiId":{"type":"string","description":"Unique ID of the API instance."},"hostname":{"type":"string","description":"Hostname or IP Address of the node that is hosting the API instance."},"port":{"type":"integer","format":"int32","description":"Port mapped to the API instance."},"type":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The CreateAPIResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateAPIResponse":{"type":"object","properties":{"status":{"type":"string","enum":["CREATED","UPDATED"]},"data":{"type":"object","$ref":"#/components/schemas/API"}}},"API":{"type":"object","properties":{"apiId":{"type":"string","description":"Unique ID of the API instance."},"hostname":{"type":"string","description":"Hostname or IP Address of the node that is hosting the API instance."},"port":{"type":"integer","format":"int32","description":"Port mapped to the API instance."},"type":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The ListAPIsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListAPIsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/API"}}}},"API":{"type":"object","properties":{"apiId":{"type":"string","description":"Unique ID of the API instance."},"hostname":{"type":"string","description":"Hostname or IP Address of the node that is hosting the API instance."},"port":{"type":"integer","format":"int32","description":"Port mapped to the API instance."},"type":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The TransactionReportResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TransactionReportResponse":{"type":"object","properties":{"data":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ReportGroupedByAPIEnroll"},{"$ref":"#/components/schemas/ReportGroupedByAPISearch"},{"$ref":"#/components/schemas/ReportNotGroupedByAPIEnroll"},{"$ref":"#/components/schemas/ReportNotGroupedByAPISearch"}]}}}},"ReportGroupedByAPIEnroll":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]},"apiId":{"description":"API ID to group transactions.","type":"string"}}},"ReportGroupedByAPISearch":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["VERIFY","IDENTIFY"]},"latent":{"description":"Whether the transactions are latent searches or not.","type":"boolean"},"ul":{"description":"Whether the transactions are UL searches or not.","type":"boolean"},"apiId":{"description":"API ID to group transactions.","type":"string"}}},"ReportNotGroupedByAPIEnroll":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]}}},"ReportNotGroupedByAPISearch":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["VERIFY","IDENTIFY"]},"latent":{"description":"Whether the transactions are latent searches or not.","type":"boolean"},"ul":{"description":"Whether the transactions are UL searches or not.","type":"boolean"}}}}}}
```

## The ReportGroupedByAPIEnroll object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReportGroupedByAPIEnroll":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]},"apiId":{"description":"API ID to group transactions.","type":"string"}}}}}}
```

## The ReportGroupedByAPISearch object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReportGroupedByAPISearch":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["VERIFY","IDENTIFY"]},"latent":{"description":"Whether the transactions are latent searches or not.","type":"boolean"},"ul":{"description":"Whether the transactions are UL searches or not.","type":"boolean"},"apiId":{"description":"API ID to group transactions.","type":"string"}}}}}}
```

## The ReportNotGroupedByAPIEnroll object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReportNotGroupedByAPIEnroll":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]}}}}}}
```

## The ReportNotGroupedByAPISearch object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReportNotGroupedByAPISearch":{"type":"object","properties":{"count":{"description":"Sum of transactions of this type in during the specified period.","type":"integer","format":"int32"},"extractionTimeAvg":{"description":"Average time for template extraction.","type":"number","format":"double"},"extractionTimeMin":{"description":"Minimum time for template extraction.","type":"integer","format":"int32"},"extractionTimeMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"extractionQualityAvg":{"description":"Average time for quality extraction.","type":"number","format":"double"},"extractionQualityMin":{"description":"Minimum time for quality extraction.","type":"integer","format":"int32"},"extractionQualityMax":{"description":"Maximum time for template extraction.","type":"integer","format":"int32"},"matchAvg":{"description":"Average time for biometric comparison.","type":"number","format":"double"},"matchMin":{"description":"Minimum time for biometric comparison.","type":"integer","format":"int32"},"matchMax":{"description":"Maximum time for biometric comparison.","type":"integer","format":"int32"},"totalAvg":{"description":"Average time to complete a transaction.","type":"number","format":"double"},"totalMin":{"description":"Minimum time to complete a transaction.","type":"integer","format":"int32"},"totalMax":{"description":"Maximum time to complete a transaction.","type":"integer","format":"int32"},"type":{"description":"Transaction type.","type":"string","enum":["VERIFY","IDENTIFY"]},"latent":{"description":"Whether the transactions are latent searches or not.","type":"boolean"},"ul":{"description":"Whether the transactions are UL searches or not.","type":"boolean"}}}}}}
```

## The TrustedAddKeysResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TrustedAddKeysResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person to whom the keys were added.","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the current Person transaction that was changed.","type":"string"},"keys":{"description":"List of all keys of the Person, after new keys were added.","type":"array","items":{"$ref":"#/components/schemas/Key"}}}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}}}}}
```

## The BiographicBaseStatus object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The LivenessCheckBiometric object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessCheckBiometric":{"type":"object","properties":{"source":{"description":"How the biometric data was obtained. The value must be `ORIGINAL`.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data. The value must be `FACE`.","type":"string","enum":["FACE"]},"format":{"description":"Format of the biometric data. `REQUIRED`.","type":"string","enum":["JPEG","JPEG2000","PNG","TIFF","GIF","BMP"]},"content":{"description":"Base64 encoded biometric data. `REQUIRED`.","type":"string"}}}}}}
```

## The LivenessCheckRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessCheckRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LivenessCheckBiometric"}}},"LivenessCheckBiometric":{"type":"object","properties":{"source":{"description":"How the biometric data was obtained. The value must be `ORIGINAL`.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data. The value must be `FACE`.","type":"string","enum":["FACE"]},"format":{"description":"Format of the biometric data. `REQUIRED`.","type":"string","enum":["JPEG","JPEG2000","PNG","TIFF","GIF","BMP"]},"content":{"description":"Base64 encoded biometric data. `REQUIRED`.","type":"string"}}}}}}
```

## The LivenessCheckResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessCheckResponse":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"}}}}}}
```

## The GetLivenessResultResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetLivenessResultResponse":{"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"biometric":{"description":"Biometric data used for the liveness verification.","$ref":"#/components/schemas/LivenessCheckBiometric"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"}}},"LivenessCheckBiometric":{"type":"object","properties":{"source":{"description":"How the biometric data was obtained. The value must be `ORIGINAL`.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data. The value must be `FACE`.","type":"string","enum":["FACE"]},"format":{"description":"Format of the biometric data. `REQUIRED`.","type":"string","enum":["JPEG","JPEG2000","PNG","TIFF","GIF","BMP"]},"content":{"description":"Base64 encoded biometric data. `REQUIRED`.","type":"string"}}}}}}
```

## The BiographicBaseFlags object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The UpdateBiographicsOnBiobaseRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateBiographicsOnBiobaseRequest":{"type":"object","properties":{"data":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/BioBaseBiographic"}}}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"BioBaseBiographic":{"type":"object","properties":{"id":{"type":"string","description":"Biographic key."},"type":{"type":"string","description":"Biographic type. It can be TEXT or FACE.","enum":["TEXT","FACE"]},"value":{"type":"string","description":"Biographic value. Faces are encoded in Base64."}}}}}}
```

## The TrustedAddKeysRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TrustedAddKeysRequest":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Key"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}}}}}
```

## The ForceBobFlag object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ForceBobFlag":{"type":"boolean","description":"Forces the use of Best of Biometrics (BoB).\n\nIf set to `true`, a trusted updated will be performed immediately after the update using the best biometric data available. <br>\nIf set to `false`, or absent, no action will be performed.\n\nAlso, the trusted update will only be performed if the update status is `ENROLLED`. Otherwise:\n- If the update status is `PENDING` (MIR), the trusted update will be performed only after the quality approval, if approved.\n- If the update status is `EXCEPTION` (ETR), the trusted update will be performed only after the exception is treated, if approved.\n\nIf the BoB trusted update is successfully performed (response 201 Enrolled), the response will contain some additional information:\n- `bobTguid`: transaction GUID of the BoB trusted update.\n- `bobStatus`: enroll status of the BoB trusted update. Usually `ENQUEUED`.\n\nThis behavior can be turned on/off using the RDB configuration on the table `gbds.settings`: <br>\n**gbds.bestOfBiometrics.forceUsingTrustedUpdate.enabled**, type **API**, default **true**.\n"}}}}
```

## The NotificationOperationEnum object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotificationOperationEnum":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION"]}}}}
```

## The NotificationObject object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotificationObject":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/NotificationOperationEnum","description":"Operation for TGUID."},"tguid":{"type":"string","format":"uuid","description":"Transaction GUID."},"newTguid":{"type":"string","format":"uuid","description":"New Transaction GUID, when it was edited during quality analysis."},"pguid":{"type":"string","format":"uuid","description":"Person GUID."},"enrollPguid":{"type":"string","format":"uuid","description":"Enroll Person GUID, when an exception treatment is performed."},"status":{"type":"string","description":"Status for TGUID."},"sender":{"type":"string","description":"Sender of the notification. `null` if the sender was GBDS."},"uguid":{"type":"string","format":"uuid","description":"UL GUID."},"treatment":{"type":"string","description":"Exception treatment."},"update":{"type":"boolean","description":"`true` if it is an update."},"trusted":{"type":"boolean","description":"On enrollment notifications, `true` if it is a trusted enroll."},"origin":{"type":"string","enum":["API","GBDS"],"description":"Indicates notification origin."},"additionalData":{"type":"object","description":"Map of strings with additional data.","additionalProperties":{"type":"string"}},"relatedTransactions":{"description":"List of transactions related to the notification transaction.","type":"array","items":{"$ref":"#/components/schemas/PersonRelatedTransaction"}},"nguid":{"type":"string","format":"uuid","description":"Notification GUID."},"timestamp":{"type":"integer","format":"int64"},"acks":{"description":"List of clients that have acknowledged the notification.","type":"array","items":{"type":"object","properties":{"client":{"type":"string","description":"Client name. Example: ETR, BEST."},"timestamp":{"type":"integer","format":"int64"},"comments":{"type":"string"}}}}}},"NotificationOperationEnum":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION"]},"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The SingleNotificationResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SingleNotificationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/NotificationObject"}}},"NotificationObject":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/NotificationOperationEnum","description":"Operation for TGUID."},"tguid":{"type":"string","format":"uuid","description":"Transaction GUID."},"newTguid":{"type":"string","format":"uuid","description":"New Transaction GUID, when it was edited during quality analysis."},"pguid":{"type":"string","format":"uuid","description":"Person GUID."},"enrollPguid":{"type":"string","format":"uuid","description":"Enroll Person GUID, when an exception treatment is performed."},"status":{"type":"string","description":"Status for TGUID."},"sender":{"type":"string","description":"Sender of the notification. `null` if the sender was GBDS."},"uguid":{"type":"string","format":"uuid","description":"UL GUID."},"treatment":{"type":"string","description":"Exception treatment."},"update":{"type":"boolean","description":"`true` if it is an update."},"trusted":{"type":"boolean","description":"On enrollment notifications, `true` if it is a trusted enroll."},"origin":{"type":"string","enum":["API","GBDS"],"description":"Indicates notification origin."},"additionalData":{"type":"object","description":"Map of strings with additional data.","additionalProperties":{"type":"string"}},"relatedTransactions":{"description":"List of transactions related to the notification transaction.","type":"array","items":{"$ref":"#/components/schemas/PersonRelatedTransaction"}},"nguid":{"type":"string","format":"uuid","description":"Notification GUID."},"timestamp":{"type":"integer","format":"int64"},"acks":{"description":"List of clients that have acknowledged the notification.","type":"array","items":{"type":"object","properties":{"client":{"type":"string","description":"Client name. Example: ETR, BEST."},"timestamp":{"type":"integer","format":"int64"},"comments":{"type":"string"}}}}}},"NotificationOperationEnum":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION"]},"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The MultipleNotificationsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"MultipleNotificationsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotificationObject"}},"pagination":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of notifications with the given filters."},"count":{"type":"integer","description":"Number of notifications in the current page."},"pageSize":{"type":"integer","description":"Number of notifications per page."},"currentPage":{"type":"integer","description":"Current page number. Zero-based."},"totalPages":{"type":"integer","description":"Total number of pages. Starts at 1."}}}}},"NotificationObject":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/NotificationOperationEnum","description":"Operation for TGUID."},"tguid":{"type":"string","format":"uuid","description":"Transaction GUID."},"newTguid":{"type":"string","format":"uuid","description":"New Transaction GUID, when it was edited during quality analysis."},"pguid":{"type":"string","format":"uuid","description":"Person GUID."},"enrollPguid":{"type":"string","format":"uuid","description":"Enroll Person GUID, when an exception treatment is performed."},"status":{"type":"string","description":"Status for TGUID."},"sender":{"type":"string","description":"Sender of the notification. `null` if the sender was GBDS."},"uguid":{"type":"string","format":"uuid","description":"UL GUID."},"treatment":{"type":"string","description":"Exception treatment."},"update":{"type":"boolean","description":"`true` if it is an update."},"trusted":{"type":"boolean","description":"On enrollment notifications, `true` if it is a trusted enroll."},"origin":{"type":"string","enum":["API","GBDS"],"description":"Indicates notification origin."},"additionalData":{"type":"object","description":"Map of strings with additional data.","additionalProperties":{"type":"string"}},"relatedTransactions":{"description":"List of transactions related to the notification transaction.","type":"array","items":{"$ref":"#/components/schemas/PersonRelatedTransaction"}},"nguid":{"type":"string","format":"uuid","description":"Notification GUID."},"timestamp":{"type":"integer","format":"int64"},"acks":{"description":"List of clients that have acknowledged the notification.","type":"array","items":{"type":"object","properties":{"client":{"type":"string","description":"Client name. Example: ETR, BEST."},"timestamp":{"type":"integer","format":"int64"},"comments":{"type":"string"}}}}}},"NotificationOperationEnum":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION"]},"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The ListNotificationsErrorResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListNotificationsErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}}}}}}}}}
```

## The GetNotificationErrorResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetNotificationErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"},"meta":{"type":"object","properties":{"nguid":{"type":"string","format":"uuid"}}}}}}}}}}}
```

## The AcknowledgeNotificationRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AcknowledgeNotificationRequest":{"type":"object","properties":{"nguid":{"type":"string","format":"uuid","description":"Notification GUID."},"client":{"type":"string","description":"Name of the client that is acknowledging the notification. Example: ETR, BEST."},"comments":{"type":"string","description":"Comments from the client about the notification. *(optional)*"}}}}}}
```

## The AcknowledgeNotificationByTguidRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AcknowledgeNotificationByTguidRequest":{"type":"object","properties":{"tguid":{"type":"string","format":"uuid","description":"Notification GUID."},"client":{"type":"string","description":"Name of the client that is acknowledging the notification. Example: ETR, BEST."},"comments":{"type":"string","description":"Comments from the client about the notification. *(optional)*"}}}}}}
```

## The AcknowledgeNotificationErrorResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AcknowledgeNotificationErrorResponse":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"},"meta":{"type":"object","properties":{"nguid":{"type":"string","format":"uuid"}}}}}}}}}}}
```

## The SearchMetadata object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}}}}}
```

## The QualityControl object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityControl":{"type":"object","properties":{"tguid":{"description":"Transaction GUID.","type":"string","format":"uuid"},"pguid":{"description":"Person GUID.","type":"string","format":"uuid"},"created":{"description":"Creation timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"updated":{"description":"Update timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"qualityStatus":{"description":"Quality status.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"enrollStatus":{"description":"Enroll status.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","REFUSED","PENDING","RESENT_ENROLL"]},"person":{"description":"A summary of the person (some fields may be omitted).","allOf":[{"$ref":"#/components/schemas/Person"}]},"transactionType":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]},"issues":{"type":"object","description":"Number of issues found per type.","properties":{"lowQuality":{"type":"integer","description":"Number of quality issues."},"duplication":{"type":"integer","description":"Number of duplication issues."},"sequenceControl":{"type":"integer","description":"Number of sequence control issues."}}},"apiID":{"description":"API ID","type":"string","format":"uuid"},"gbdsVersion":{"description":"GBDS Version","type":"string"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The GetQualityControlResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetQualityControlResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/QualityControl"}}},"QualityControl":{"type":"object","properties":{"tguid":{"description":"Transaction GUID.","type":"string","format":"uuid"},"pguid":{"description":"Person GUID.","type":"string","format":"uuid"},"created":{"description":"Creation timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"updated":{"description":"Update timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"qualityStatus":{"description":"Quality status.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"enrollStatus":{"description":"Enroll status.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","REFUSED","PENDING","RESENT_ENROLL"]},"person":{"description":"A summary of the person (some fields may be omitted).","allOf":[{"$ref":"#/components/schemas/Person"}]},"transactionType":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]},"issues":{"type":"object","description":"Number of issues found per type.","properties":{"lowQuality":{"type":"integer","description":"Number of quality issues."},"duplication":{"type":"integer","description":"Number of duplication issues."},"sequenceControl":{"type":"integer","description":"Number of sequence control issues."}}},"apiID":{"description":"API ID","type":"string","format":"uuid"},"gbdsVersion":{"description":"GBDS Version","type":"string"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The ListQualityControlResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListQualityControlResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/QualityControl"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"QualityControl":{"type":"object","properties":{"tguid":{"description":"Transaction GUID.","type":"string","format":"uuid"},"pguid":{"description":"Person GUID.","type":"string","format":"uuid"},"created":{"description":"Creation timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"updated":{"description":"Update timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"qualityStatus":{"description":"Quality status.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"enrollStatus":{"description":"Enroll status.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","REFUSED","PENDING","RESENT_ENROLL"]},"person":{"description":"A summary of the person (some fields may be omitted).","allOf":[{"$ref":"#/components/schemas/Person"}]},"transactionType":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]},"issues":{"type":"object","description":"Number of issues found per type.","properties":{"lowQuality":{"type":"integer","description":"Number of quality issues."},"duplication":{"type":"integer","description":"Number of duplication issues."},"sequenceControl":{"type":"integer","description":"Number of sequence control issues."}}},"apiID":{"description":"API ID","type":"string","format":"uuid"},"gbdsVersion":{"description":"GBDS Version","type":"string"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The APIBean object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"APIBean":{"type":"object","properties":{"apiId":{"type":"string"},"hostname":{"type":"string"},"port":{"type":"integer","format":"int32"},"type":{"type":"string","enum":["LEADER","RUNNER"]},"rdbWriters":{"type":"integer","format":"int32"}}}}}}
```

## The APIEnrollRefusedReason object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"APIEnrollRefusedReason":{"type":"object","properties":{"type":{"type":"string","enum":["MATCHES_PERSONS_INVOLVED_IN_EXCEPTIONS_UNDER_ANALYSIS"]},"matchedPeopleThatAreReferenceInSomeExceptionUnderAnalysis":{"type":"array","items":{"type":"string"}},"matchedTransactionsThatHaveAnExceptionUnderAnalysis":{"type":"array","items":{"type":"string"}},"description":{"type":"string"}}}}}}
```

## The APIRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"APIRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/APIBean"}}},"APIBean":{"type":"object","properties":{"apiId":{"type":"string"},"hostname":{"type":"string"},"port":{"type":"integer","format":"int32"},"type":{"type":"string","enum":["LEADER","RUNNER"]},"rdbWriters":{"type":"integer","format":"int32"}}}}}}
```

## The APIResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"APIResponse":{"type":"object","properties":{"status":{"type":"string","enum":["CREATED","UPDATED"]},"data":{"$ref":"#/components/schemas/APIBean"}}},"APIBean":{"type":"object","properties":{"apiId":{"type":"string"},"hostname":{"type":"string"},"port":{"type":"integer","format":"int32"},"type":{"type":"string","enum":["LEADER","RUNNER"]},"rdbWriters":{"type":"integer","format":"int32"}}}}}}
```

## The AckNotificationRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AckNotificationRequest":{"type":"object","properties":{"nguid":{"type":"string"},"client":{"type":"string"},"comments":{"type":"string"}}}}}}
```

## The AckNotificationTguidRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AckNotificationTguidRequest":{"type":"object","properties":{"tguid":{"type":"string"},"client":{"type":"string"},"comments":{"type":"string"}}}}}}
```

## The AddKeysRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AddKeysRequest":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Key"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}}}}}
```

## The AndRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"AndRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"}]},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The BiobaseUpdateRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiobaseUpdateRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Data"}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The BiographicBaseMeta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiographicBaseMeta":{"type":"object","properties":{"autoUpdate":{"type":"boolean"},"sendPguidAsKey":{"type":"boolean"},"sendTguidAsKey":{"type":"boolean"}}}}}}
```

## The BiographicRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"BiographicRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}}]},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The ConfigurationResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ConfigurationResponse":{"type":"object","properties":{"configurations":{"type":"object","additionalProperties":{"type":"string"}},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The CountExceptionBiometricRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CountExceptionBiometricRequest":{"type":"object","properties":{"user":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}}}}}}}
```

## The CountExceptionBiometricResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CountExceptionBiometricResponse":{"type":"object","properties":{"remaining":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"doneByTheDay":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The CountExceptionGroupRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CountExceptionGroupRequest":{"type":"object","properties":{"user":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"origin":{"type":"string","enum":["ENTRANT","BOTH"]}}}}}}
```

## The CountExceptionGroupResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CountExceptionGroupResponse":{"type":"object","properties":{"remaining":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"doneByTheDay":{"type":"object","additionalProperties":{"type":"integer","format":"int64"}},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The CreatePeopleTrustedValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreatePeopleTrustedValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Person"},"meta":{"$ref":"#/components/schemas/TrustedEnrollMeta"},"metaIfNotNull":{"$ref":"#/components/schemas/TrustedEnrollMeta"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"TrustedEnrollMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"active":{"description":"Determines if the biometric sent will be loaded into RAM and be available for Search and biometric validation.","type":"boolean"},"externalIDs":{"description":"a","type":"array","items":{"$ref":"#/components/schemas/ExternalIDRequest"}},"labelsOperation":{"description":"a","type":"string","enum":["REPLACE","ACCUMULATE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalIDRequest":{"type":"object","properties":{"name":{"type":"string"},"keys":{"type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The CreatePeopleValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreatePeopleValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Person"},"meta":{"$ref":"#/components/schemas/BiometricValidation"},"biometricValidationIfNotNull":{"$ref":"#/components/schemas/BiometricValidation"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"BiometricValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"validationType":{"description":"Defines the type of biometric validation to be performed against the AFIS.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"externalIDs":{"description":"List of externalIDs related to this transaction.","type":"array","items":{"$ref":"#/components/schemas/ExternalID"}},"labels":{"type":"string","enum":["ACCUMULATE","REPLACE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The CreateSearchesValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"CreateSearchesValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SearchSpec"},"meta":{"$ref":"#/components/schemas/SearchMeta"},"subject":{"$ref":"#/components/schemas/Subject"},"remoteAddr":{"type":"string"},"deviceId":{"type":"string"},"nonce":{"type":"array","items":{"type":"string","format":"byte"}},"verify":{"type":"boolean"},"timeout":{"type":"integer","format":"int32"},"validatedMeta":{"$ref":"#/components/schemas/ValidatedSearchMeta"},"searchType":{"type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"validatedSearchSpec":{"$ref":"#/components/schemas/ValidatedSearchSpec"},"priority":{"type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]}}},"SearchSpec":{"type":"object","properties":{"searchType":{"description":"Type of finger to be searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"description":"If only one biometric is provided, a match score will be returned. If more than one biometric is provided, a list of candidates can be retrieved using getSearchResult.","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"description":"This field is a list of PGUIDs. If the list is empty or null, the search will be against the entire database. If it has only one PGUID, the search will be 1:1. It is possible to make 1:1 searches with more than one PGUID.","type":"array","items":{"type":"string"}},"labelFilters":{"description":"Used for 1:N operations. The filters will be compared with the labels field registered by the enroll method.","uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"description":"Flag indicating if the search is a Latent Search.","type":"boolean"},"isULSearch":{"description":"Flag indicating if the search is an UL Search.","type":"boolean"},"numberOfCandidates":{"description":"Number of candidates to be returned.","type":"integer","format":"int32"},"classificationThreshold":{"description":"Threshold for either classifying biometric data or marking it as UNKNOWN.","type":"integer","format":"int32"},"classifications":{"description":"Vector containing the classifications to be considered. Defaults to UNKNOWN.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"description":"Singularities to be considered. Defaults to NONE.","type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"$ref":"#/components/schemas/SearchOptions"},"user":{"type":"string"},"uguids":{"description":"Globally unique ID of the UL. Can be a list of uguids.","type":"array","items":{"type":"string"}},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned.","type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}},"SearchMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"metadata":{"$ref":"#/components/schemas/SearchMetadata"},"verifyResult":{"type":"boolean","description":"Flag to request the result of the Verification call (Verify - when keys and/or PGUIDs are provided). Default: `false`.\n\nIf `false`, the Verify will return:\n- `tguid`\n- `status`\n- `score` (if only one biometric was provided in the request payload and the `searchType` is `SAME_FINGERS`; if more than one biometric was provided, the score will not be returned)\n- `bonafideScore` (for faces, if the data->`liveness` flag is set to `true` in the request payload)\n\nIf `true`, the Verify will return all above plus:\n- `candidates` (if more than one biometric is provided, candidates will be returned and the score will not be returned)\n- `progress`\n- `searchType`\n- `metadata`\n- `apiID`\n- `gbdsVersion`\n- `extractionElapsed`\n- `searchElapsed`\n- `postSearchElapsed`\n- `ulsearch`\n- `latentSearch`\n\nPS: `biometrics` are never returned in the response.\n"}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}},"Subject":{"type":"object","properties":{"name":{"type":"string"},"roles":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Role"}},"permissions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"Role":{"type":"object"},"Permission":{"type":"object"},"ValidatedSearchMeta":{"type":"object","properties":{"timeout":{"type":"integer","format":"int32"},"priority":{"type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"verifyResult":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"object"}},"priorityIfNotNull":{"type":"string","writeOnly":true,"enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"timeoutIfNotNull":{"type":"integer","format":"int32","writeOnly":true}}},"ValidatedSearchSpec":{"type":"object","properties":{"searchType":{"type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"uguids":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"labelFilters":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"type":"boolean"},"isULSearch":{"type":"boolean"},"numberOfCandidates":{"type":"integer","format":"int32"},"classificationThreshold":{"type":"integer","format":"int32"},"classifications":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SearchOptions"}},"liveness":{"type":"boolean"},"user":{"type":"string"},"validatedLatentSearchOptions":{"$ref":"#/components/schemas/ValidatedLatentSearchOptions"},"searchOptionsIfnOtNull":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SearchOptions"},"writeOnly":true},"verify":{"type":"boolean"}}},"ValidatedLatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"type":"integer","format":"int32"},"rotationAngleThreshold":{"type":"integer","format":"int32"},"default":{"type":"boolean"}}}}}}
```

## The Data object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The DeleteBiometricTransactionEvent object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DeleteBiometricTransactionEvent":{"type":"object","allOf":[{"$ref":"#/components/schemas/HistoryEvent"},{"type":"object","properties":{"biometricIndex":{"type":"integer","format":"int32"}}}]},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The DeleteULCandidatesValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DeleteULCandidatesValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ValidatedDeleteULCandidatesSpec"}}},"ValidatedDeleteULCandidatesSpec":{"type":"object","properties":{"uguid":{"type":"string"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/ULCandidateIdentifier"}},"uguidIfNotNull":{"type":"string","writeOnly":true},"candidatesIfNotNull":{"type":"array","writeOnly":true,"items":{"$ref":"#/components/schemas/ULCandidateIdentifier"}}}},"ULCandidateIdentifier":{"type":"object","properties":{"pguid":{"description":"PGUID of the target candidate.","type":"string"},"tguid":{"description":"TGUID of the target candidate.","type":"string"},"index":{"description":"Index of the target candidate.","type":"integer","format":"int32"}}}}}}
```

## The DisableTransactionEvent object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DisableTransactionEvent":{"type":"object","allOf":[{"$ref":"#/components/schemas/HistoryEvent"},{"type":"object","properties":{"targetTguid":{"type":"string"}}}]},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The DriverInfo object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DriverInfo":{"type":"object","properties":{"configuredMatchers":{"type":"integer","format":"int64"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"nodes":{"type":"array","items":{"$ref":"#/components/schemas/NodeInfo"}}}},"NodeInfo":{"type":"object","properties":{"hostname":{"type":"string"},"monitorPort":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["NONE","SPRING_START","CLUSTER_ASSEMBLY","MATCHERS_ASSEMBLY","PEOPLE_BOOT","UL_BOOT","KAFKA_START","RUNNING","SHUTTING_DOWN"]},"configuredMatchers":{"type":"integer","format":"int64"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}},"activeMatchers":{"type":"array","items":{"$ref":"#/components/schemas/MatcherInfo"}}}},"SizeInfo":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}}},"MatcherInfo":{"type":"object","properties":{"name":{"type":"string"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}}}}}}}
```

## The DriverStatusResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"DriverStatusResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DriverInfo"}}},"DriverInfo":{"type":"object","properties":{"configuredMatchers":{"type":"integer","format":"int64"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"nodes":{"type":"array","items":{"$ref":"#/components/schemas/NodeInfo"}}}},"NodeInfo":{"type":"object","properties":{"hostname":{"type":"string"},"monitorPort":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["NONE","SPRING_START","CLUSTER_ASSEMBLY","MATCHERS_ASSEMBLY","PEOPLE_BOOT","UL_BOOT","KAFKA_START","RUNNING","SHUTTING_DOWN"]},"configuredMatchers":{"type":"integer","format":"int64"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}},"activeMatchers":{"type":"array","items":{"$ref":"#/components/schemas/MatcherInfo"}}}},"SizeInfo":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}}},"MatcherInfo":{"type":"object","properties":{"name":{"type":"string"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}}}}}}}
```

## The EnrollTransactionEvent object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"EnrollTransactionEvent":{"type":"object","allOf":[{"$ref":"#/components/schemas/HistoryEvent"}]},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The Error object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Error":{"required":["type"],"type":"object","properties":{"message":{"type":"string"},"meta":{"$ref":"#/components/schemas/ResponseMeta"},"type":{"type":"string"}},"discriminator":{"propertyName":"type"}},"ResponseMeta":{"type":"object","properties":{"tguidsWithError":{"description":"Array containing TGUID for transactions, of the requested page, which had errors during retrieval and thus are NOT present in the returned page.","type":"array","items":{"type":"string"}}}}}}}
```

## The ExceptionGroup object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExceptionGroup":{"type":"object","properties":{"gguid":{"type":"string"},"tguid":{"type":"string"},"target":{"type":"string","enum":["BIOGRAPHIC","BIOMETRIC","BIOMETRIC_INCONCLUSIVE","BIOMETRIC_MISMATCH"]},"decision":{"type":"string","enum":["APPROVE","REJECT","KEEP"]},"status":{"type":"string","enum":["ANALYSIS","PENDING","READY","PROCESSING","DONE","REFUSED","ERROR"]},"priority":{"type":"boolean"},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time"},"user":{"type":"string"},"comments":{"type":"string"},"message":{"type":"string"},"parameters":{"$ref":"#/components/schemas/GroupDecisionParameters"},"lightsOutCriteria":{"$ref":"#/components/schemas/LightsOutCriteria"},"lockedUser":{"type":"string"},"lockedTimestamp":{"type":"string","format":"date-time"},"lockedTimeout":{"type":"string","format":"date-time"},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/Exception"}},"newTguid":{"type":"string"},"refusedStatus":{"type":"string","enum":["CREATED","REMOVED","READY_TO_RESEND","SENDING","SENT","ERROR"]},"refusedNewTguid":{"type":"string"},"refusedGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}},"holdingGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}}}},"Organization":{"type":"object","properties":{"parent":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}},"GroupDecisionParameters":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"labels":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"keepTransactions":{"type":"array","items":{"type":"string"}},"removeTransactions":{"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"LightsOutCriteria":{"type":"object","properties":{"nonConflitantKeys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"weakKeys":{"type":"array","items":{"type":"string"}},"matchedBiographics":{"type":"array","items":{"type":"string"}}}},"Exception":{"type":"object","properties":{"enrollPguid":{"description":"Global unique ID of the person.","type":"string"},"enrollTguid":{"description":"Global unique ID of the transaction.","type":"string"},"transactionTimestamp":{"description":"Timestamp of the transaction that generated the Exception.","type":"integer","format":"int64"},"match":{"$ref":"#/components/schemas/Match"},"assignedUser":{"description":"Username of user tasked with treating the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"transactionType":{"description":"Type of the transaction that generated the exception.","type":"string","enum":["ENROLL","UPDATE"]}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The ExtNotification object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExtNotification":{"type":"object","properties":{"operation":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY","CREATE_EXCEPTION","CREATE_EXCEPTION_GROUP","PRIORITY_EXCEPTION","PRIORITY_EXCEPTION_GROUP","TREAT_EXCEPTION_BIOMETRIC","TREAT_EXCEPTION_GROUP","CHANGE_REFUSED_STATUS","RESEND_REFUSED","LIGHTS_OUT"]},"tguid":{"type":"string"},"status":{"type":"string"},"sender":{"type":"string"},"uguid":{"type":"string"},"externalIDs":{"type":"array","items":{"$ref":"#/components/schemas/NotificationExternalID"}},"relatedExternalIDs":{"type":"array","items":{"$ref":"#/components/schemas/NotificationExternalID"}},"keptTguids":{"type":"array","items":{"type":"string"}},"additionalData":{"type":"object","additionalProperties":{"type":"string"},"writeOnly":true},"nguid":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"acks":{"type":"array","items":{"$ref":"#/components/schemas/NotificationAck"}},"pguid":{"type":"string"},"newTguid":{"type":"string"},"enrollPguid":{"type":"string"},"treatment":{"type":"string"},"update":{"type":"boolean"},"trusted":{"type":"boolean"},"origin":{"type":"string","enum":["GBDS","API"]}}},"NotificationExternalID":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"}}},"NotificationAck":{"type":"object","properties":{"client":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"comments":{"type":"string"}}}}}}
```

## The ExtractionIssue object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExtractionIssue":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"message":{"type":"string"}}}}}}
```

## The ExtractionRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExtractionRequest":{"type":"object","properties":{"verify":{"type":"boolean"},"data":{"$ref":"#/components/schemas/Person"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The ExtractionResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ExtractionResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Person"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]}}}}
```

## The FixUpdateResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"FixUpdateResponse":{"type":"object","properties":{"removeKeys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"removedLabels":{"type":"array","items":{"type":"string"}},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The GetExceptionGroupResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetExceptionGroupResponse":{"type":"object","properties":{"remaining":{"type":"integer","format":"int64"},"treatable":{"type":"boolean"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"$ref":"#/components/schemas/ExceptionGroup"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"ExceptionGroup":{"type":"object","properties":{"gguid":{"type":"string"},"tguid":{"type":"string"},"target":{"type":"string","enum":["BIOGRAPHIC","BIOMETRIC","BIOMETRIC_INCONCLUSIVE","BIOMETRIC_MISMATCH"]},"decision":{"type":"string","enum":["APPROVE","REJECT","KEEP"]},"status":{"type":"string","enum":["ANALYSIS","PENDING","READY","PROCESSING","DONE","REFUSED","ERROR"]},"priority":{"type":"boolean"},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time"},"user":{"type":"string"},"comments":{"type":"string"},"message":{"type":"string"},"parameters":{"$ref":"#/components/schemas/GroupDecisionParameters"},"lightsOutCriteria":{"$ref":"#/components/schemas/LightsOutCriteria"},"lockedUser":{"type":"string"},"lockedTimestamp":{"type":"string","format":"date-time"},"lockedTimeout":{"type":"string","format":"date-time"},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/Exception"}},"newTguid":{"type":"string"},"refusedStatus":{"type":"string","enum":["CREATED","REMOVED","READY_TO_RESEND","SENDING","SENT","ERROR"]},"refusedNewTguid":{"type":"string"},"refusedGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}},"holdingGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}}}},"Organization":{"type":"object","properties":{"parent":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}},"GroupDecisionParameters":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"labels":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"keepTransactions":{"type":"array","items":{"type":"string"}},"removeTransactions":{"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"LightsOutCriteria":{"type":"object","properties":{"nonConflitantKeys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"weakKeys":{"type":"array","items":{"type":"string"}},"matchedBiographics":{"type":"array","items":{"type":"string"}}}},"Exception":{"type":"object","properties":{"enrollPguid":{"description":"Global unique ID of the person.","type":"string"},"enrollTguid":{"description":"Global unique ID of the transaction.","type":"string"},"transactionTimestamp":{"description":"Timestamp of the transaction that generated the Exception.","type":"integer","format":"int64"},"match":{"$ref":"#/components/schemas/Match"},"assignedUser":{"description":"Username of user tasked with treating the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"transactionType":{"description":"Type of the transaction that generated the exception.","type":"string","enum":["ENROLL","UPDATE"]}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The GetNextBiometricRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetNextBiometricRequest":{"type":"object","properties":{"user":{"type":"string"},"order":{"type":"string","enum":["ASC","DESC"]},"permissions":{"type":"array","items":{"type":"string"}},"modality":{"type":"string","enum":["FINGERPRINT","FACE"]},"origin":{"type":"string","enum":["ENTRANT","BOTH"]}}}}}}
```

## The GetNextGroupRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetNextGroupRequest":{"type":"object","properties":{"user":{"type":"string"},"order":{"type":"string","enum":["ASC","DESC"]},"permissions":{"type":"array","items":{"type":"string"}},"origin":{"type":"string","enum":["ENTRANT","BOTH"]},"pending":{"type":"boolean"}}}}}}
```

## The GetNotificationResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GetNotificationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExtNotification"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"ExtNotification":{"type":"object","properties":{"operation":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY","CREATE_EXCEPTION","CREATE_EXCEPTION_GROUP","PRIORITY_EXCEPTION","PRIORITY_EXCEPTION_GROUP","TREAT_EXCEPTION_BIOMETRIC","TREAT_EXCEPTION_GROUP","CHANGE_REFUSED_STATUS","RESEND_REFUSED","LIGHTS_OUT"]},"tguid":{"type":"string"},"status":{"type":"string"},"sender":{"type":"string"},"uguid":{"type":"string"},"externalIDs":{"type":"array","items":{"$ref":"#/components/schemas/NotificationExternalID"}},"relatedExternalIDs":{"type":"array","items":{"$ref":"#/components/schemas/NotificationExternalID"}},"keptTguids":{"type":"array","items":{"type":"string"}},"additionalData":{"type":"object","additionalProperties":{"type":"string"},"writeOnly":true},"nguid":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"acks":{"type":"array","items":{"$ref":"#/components/schemas/NotificationAck"}},"pguid":{"type":"string"},"newTguid":{"type":"string"},"enrollPguid":{"type":"string"},"treatment":{"type":"string"},"update":{"type":"boolean"},"trusted":{"type":"boolean"},"origin":{"type":"string","enum":["GBDS","API"]}}},"NotificationExternalID":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"}}},"NotificationAck":{"type":"object","properties":{"client":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"comments":{"type":"string"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The GroupDecisionParameters object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"GroupDecisionParameters":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"labels":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"keepTransactions":{"type":"array","items":{"type":"string"}},"removeTransactions":{"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}}}}}
```

## The HttpResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The IncorrectEnrollTreatmentEvent object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"IncorrectEnrollTreatmentEvent":{"type":"object","allOf":[{"$ref":"#/components/schemas/HistoryEvent"}]},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The Issues object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Issues":{"type":"object","properties":{"lowQuality":{"type":"integer","format":"int32"},"duplication":{"type":"integer","format":"int32"},"sequenceControl":{"type":"integer","format":"int32"}}}}}}
```

## The KeyFormat object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"KeyFormat":{"type":"object","properties":{"keyId":{"type":"string"},"formatType":{"type":"string","enum":["TITULO","CPF","ALPHANUMERIC","NUMERIC","ALPHABETIC","REGEX"]},"regex":{"type":"string"},"minLength":{"type":"integer","format":"int32"},"maxLength":{"type":"integer","format":"int32"}}}}}}
```

## The KeyFormatResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"KeyFormatResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"$ref":"#/components/schemas/KeyFormat"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"KeyFormat":{"type":"object","properties":{"keyId":{"type":"string"},"formatType":{"type":"string","enum":["TITULO","CPF","ALPHANUMERIC","NUMERIC","ALPHABETIC","REGEX"]},"regex":{"type":"string"},"minLength":{"type":"integer","format":"int32"},"maxLength":{"type":"integer","format":"int32"}}}}}}
```

## The KeyRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"KeyRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}}]},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The LabelRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LabelRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"label":{"type":"string"},"exists":{"type":"boolean"}}}]},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The LightsOutCriteria object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LightsOutCriteria":{"type":"object","properties":{"nonConflitantKeys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"weakKeys":{"type":"array","items":{"type":"string"}},"matchedBiographics":{"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}}}}}
```

## The LinkULsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LinkULsResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The ListExceptionGroupResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListExceptionGroupResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"ExceptionGroup":{"type":"object","properties":{"gguid":{"type":"string"},"tguid":{"type":"string"},"target":{"type":"string","enum":["BIOGRAPHIC","BIOMETRIC","BIOMETRIC_INCONCLUSIVE","BIOMETRIC_MISMATCH"]},"decision":{"type":"string","enum":["APPROVE","REJECT","KEEP"]},"status":{"type":"string","enum":["ANALYSIS","PENDING","READY","PROCESSING","DONE","REFUSED","ERROR"]},"priority":{"type":"boolean"},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}},"created":{"type":"string","format":"date-time"},"updated":{"type":"string","format":"date-time"},"user":{"type":"string"},"comments":{"type":"string"},"message":{"type":"string"},"parameters":{"$ref":"#/components/schemas/GroupDecisionParameters"},"lightsOutCriteria":{"$ref":"#/components/schemas/LightsOutCriteria"},"lockedUser":{"type":"string"},"lockedTimestamp":{"type":"string","format":"date-time"},"lockedTimeout":{"type":"string","format":"date-time"},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/Exception"}},"newTguid":{"type":"string"},"refusedStatus":{"type":"string","enum":["CREATED","REMOVED","READY_TO_RESEND","SENDING","SENT","ERROR"]},"refusedNewTguid":{"type":"string"},"refusedGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}},"holdingGroups":{"type":"array","items":{"$ref":"#/components/schemas/ExceptionGroup"}}}},"Organization":{"type":"object","properties":{"parent":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}},"GroupDecisionParameters":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"labels":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"keepTransactions":{"type":"array","items":{"type":"string"}},"removeTransactions":{"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"LightsOutCriteria":{"type":"object","properties":{"nonConflitantKeys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"weakKeys":{"type":"array","items":{"type":"string"}},"matchedBiographics":{"type":"array","items":{"type":"string"}}}},"Exception":{"type":"object","properties":{"enrollPguid":{"description":"Global unique ID of the person.","type":"string"},"enrollTguid":{"description":"Global unique ID of the transaction.","type":"string"},"transactionTimestamp":{"description":"Timestamp of the transaction that generated the Exception.","type":"integer","format":"int64"},"match":{"$ref":"#/components/schemas/Match"},"assignedUser":{"description":"Username of user tasked with treating the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"transactionType":{"description":"Type of the transaction that generated the exception.","type":"string","enum":["ENROLL","UPDATE"]}}},"Match":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatch"}}}},"BiometricMatch":{"type":"object","properties":{"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The ListKeyFormatResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListKeyFormatResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/KeyFormat"}}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"KeyFormat":{"type":"object","properties":{"keyId":{"type":"string"},"formatType":{"type":"string","enum":["TITULO","CPF","ALPHANUMERIC","NUMERIC","ALPHABETIC","REGEX"]},"regex":{"type":"string"},"minLength":{"type":"integer","format":"int32"},"maxLength":{"type":"integer","format":"int32"}}}}}}
```

## The ListNotificationResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListNotificationResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExtNotification"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"ExtNotification":{"type":"object","properties":{"operation":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY","CREATE_EXCEPTION","CREATE_EXCEPTION_GROUP","PRIORITY_EXCEPTION","PRIORITY_EXCEPTION_GROUP","TREAT_EXCEPTION_BIOMETRIC","TREAT_EXCEPTION_GROUP","CHANGE_REFUSED_STATUS","RESEND_REFUSED","LIGHTS_OUT"]},"tguid":{"type":"string"},"status":{"type":"string"},"sender":{"type":"string"},"uguid":{"type":"string"},"externalIDs":{"type":"array","items":{"$ref":"#/components/schemas/NotificationExternalID"}},"relatedExternalIDs":{"type":"array","items":{"$ref":"#/components/schemas/NotificationExternalID"}},"keptTguids":{"type":"array","items":{"type":"string"}},"additionalData":{"type":"object","additionalProperties":{"type":"string"},"writeOnly":true},"nguid":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"acks":{"type":"array","items":{"$ref":"#/components/schemas/NotificationAck"}},"pguid":{"type":"string"},"newTguid":{"type":"string"},"enrollPguid":{"type":"string"},"treatment":{"type":"string"},"update":{"type":"boolean"},"trusted":{"type":"boolean"},"origin":{"type":"string","enum":["GBDS","API"]}}},"NotificationExternalID":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"}}},"NotificationAck":{"type":"object","properties":{"client":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"comments":{"type":"string"}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The ListOperationLogResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListOperationLogResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/OperationLog"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"OperationLog":{"type":"object","properties":{"guid":{"type":"string"},"logType":{"type":"string","enum":["EXCEPTION","EXCEPTION_BIOMETRIC","EXCEPTION_GROUP","TRANSACTION"]},"operation":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY","CREATE_EXCEPTION","CREATE_EXCEPTION_GROUP","PRIORITY_EXCEPTION","PRIORITY_EXCEPTION_GROUP","TREAT_EXCEPTION_BIOMETRIC","TREAT_EXCEPTION_GROUP","CHANGE_REFUSED_STATUS","RESEND_REFUSED","LIGHTS_OUT"]},"index":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["ANALYSIS","READY","PROCESSING","REFUSED","DONE","PENDING","ERROR","ENQUEUED","OK","NOT_FINAL","BIOMETRIC","BIOMETRIC_INCONCLUSIVE","BIOMETRIC_MISMATCH","BIOGRAPHIC","APPROVE","REJECT","LIGHTS_OUT"]},"decision":{"type":"string","enum":["UNCERTAIN","UNCERTAIN_EXPERT","MISMATCH","NO_HIT","HIT","ERROR","APPROVE","REJECT","KEEP","CREATED","REMOVED","READY_TO_RESEND"]},"user":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"tguid":{"type":"string"},"pguid":{"type":"string"},"keptTguids":{"type":"array","items":{"type":"string"}},"message":{"type":"string"}}},"Pagination":{"type":"object","properties":{"total":{"description":"Total number of elements that matched the selection criteria.","type":"integer","format":"int64"},"count":{"description":"Number of elements in the response.","type":"integer","format":"int32"},"pageSize":{"description":"Size of the page.","type":"integer","format":"int32"},"currentPage":{"description":"Number of the current page.","type":"integer","format":"int64"},"totalPages":{"description":"Number of total pages.","type":"integer","format":"int64"}}}}}}
```

## The ListOrganizationsResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListOrganizationsResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"Organization":{"type":"object","properties":{"parent":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The ListPeopleValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListPeopleValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Data"},"personFields":{"$ref":"#/components/schemas/PersonFieldsCollection"},"validatedRestrictions":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ValidatedBiographicRestriction"},{"$ref":"#/components/schemas/ValidatedKeyRestriction"},{"$ref":"#/components/schemas/ValidatedLabelRestriction"},{"$ref":"#/components/schemas/ValidatedOrRestriction"}]}},"pageSizeIfNotNull":{"type":"integer","format":"int32","writeOnly":true},"restrictionsIfNotNull":{"type":"array","writeOnly":true,"items":{"oneOf":[{"$ref":"#/components/schemas/AndRestriction"},{"$ref":"#/components/schemas/BiographicRestriction"},{"$ref":"#/components/schemas/KeyRestriction"},{"$ref":"#/components/schemas/LabelRestriction"},{"$ref":"#/components/schemas/OrRestriction"}]}},"pageIndexIfNotNull":{"type":"integer","format":"int64","writeOnly":true},"includesAnomaliesIfNotNull":{"type":"boolean","writeOnly":true},"pguidsIfNotNull":{"type":"array","writeOnly":true,"items":{"type":"string"}}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}},"PersonFieldsCollection":{"description":"Defines the return information.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["BIOMETRIC","AUXILIARIES","KEYS","BIOGRAPHICS","LABELS","METADATA","BASIC_FIELDS","NO_FIELDS","ALL_FIELDS"]}},"ValidatedBiographicRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"matchModeIfNotNull":{"type":"string","writeOnly":true,"enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"existsIfNotNull":{"type":"boolean","writeOnly":true}}}]},"ValidatedRestriction":{"type":"object","properties":{"type":{"type":"string","enum":["KEY","BIOGRAPHIC","LABEL","OR","AND"]}},"discriminator":{"propertyName":"type"}},"ValidatedKeyRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"matchModeIfNotNull":{"type":"string","writeOnly":true,"enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"existsIfNotNull":{"type":"boolean","writeOnly":true}}}]},"ValidatedLabelRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"label":{"type":"string"},"exists":{"type":"boolean"},"existsIfNotNull":{"type":"boolean","writeOnly":true}}}]},"ValidatedOrRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"restrictions":{"type":"array","items":{"$ref":"#/components/schemas/Restriction"}}}}]},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}},"AndRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"}]},"BiographicRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}}]},"KeyRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]}}}]},"LabelRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"label":{"type":"string"},"exists":{"type":"boolean"}}}]},"OrRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"restrictions":{"type":"array","items":{"$ref":"#/components/schemas/Restriction"}}}}]}}}}
```

## The ListPersonTransparencyResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListPersonTransparencyResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PersonTransparency"}}}},"PersonTransparency":{"type":"object","properties":{"pguid":{"type":"string"},"action":{"type":"string","enum":["REMOVE","CLASSIFIED","NOTIFY"]},"enabled":{"type":"boolean"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/NotifyGroup"}}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The ListQualityServicesResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListQualityServicesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/QualityServiceBean"}}}},"QualityServiceBean":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"url":{"type":"string"},"enabled":{"type":"boolean"},"library":{"type":"string","enum":["FINGER","FACE"]},"message":{"type":"string"}}}}}}
```

## The ListSearchesResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ListSearchesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Search"}},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"Search":{"type":"object","properties":{"status":{"description":"Status of the search.","type":"string","enum":["ENQUEUED","PREPARED","PROCESSING","MATCH","NOT_MATCH","FAILED","PENDING","PERSON_NOT_FOUND"]},"tguid":{"description":"Search transaction TGUID.","type":"string"},"candidates":{"description":"List of match candidates.","type":"array","items":{"$ref":"#/components/schemas/MatchBob"}},"progress":{"type":"number","format":"float"},"request":{"$ref":"#/components/schemas/SearchSpec"},"failReason":{"description":"Fail message on why search didn't complete.","type":"string"},"searchType":{"description":"Type of finger that was searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometrics":{"description":"List of biometrics","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"apiID":{"description":"API ID","type":"string"},"gbdsVersion":{"description":"GBDS Version","type":"string"},"extractionElapsed":{"description":"Time to complete the extraction.","type":"integer","format":"int64"},"searchElapsed":{"description":"Time to complete the search.","type":"integer","format":"int64"},"postSearchElapsed":{"description":"Time to complete the post match.","type":"integer","format":"int64"},"ulsearch":{"description":"Unsolved latent search.","type":"boolean"},"latentSearch":{"description":"Latent search.","type":"boolean"},"score":{"description":"Score of the biometric comparison. Only returned if a single biometric was provided in the payload of the request that created the search.","type":"integer","format":"int32"},"bonafideScore":{"description":"Bonafide score of the liveness verification. Only returned if the `liveness` flag was set to `true` in the payload of the request that created the search. Ranges from 0 to 100 (0=attack, 100=genuine).","type":"integer","format":"int32"},"metadata":{"$ref":"#/components/schemas/SearchMetadata"}}},"MatchBob":{"type":"object","properties":{"matchedPersonPguid":{"description":"PGUID of the person the candidate matched against.","type":"string"},"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **DISABLED**. Otherwise, omitted here and **one TGUID per biometric** is returned at the `biometricMatches` level (child).\n","type":"string"},"biometricMatches":{"description":"Information about the match.","type":"array","items":{"$ref":"#/components/schemas/BiometricMatchBob"}}}},"BiometricMatchBob":{"type":"object","properties":{"matchedPersonTguid":{"description":"TGUID of the person the candidate matched against.\n\nReturned at this level only when Best of Biometrics (**BoB**) is **ENABLED**. Otherwise, omitted here and only **one TGUID per candidate** is returned at the `candidates` level (parent).\n","type":"string","format":"uuid"},"score":{"description":"Score of the match.","type":"integer","format":"int32"},"queryIndex":{"description":"Index of the biometric data that was sent and caused a match.","type":"integer","format":"int32"},"referenceIndex":{"description":"Index of the biometric data, from the already enrolled person, which matched.","type":"integer","format":"int32"},"minutia":{"description":"Array of minutia matches. Returned only for latent searches.","type":"array","items":{"$ref":"#/components/schemas/Minutiae"}}}},"Minutiae":{"type":"object","properties":{"query":{"description":"Index of Minutiae, from the provided biometric data, which was involved in the match.","type":"integer","format":"int32"},"reference":{"description":"Index of Minutiae, from biometric data already in the database, which was involved in the match.","type":"integer","format":"int32"}}},"SearchSpec":{"type":"object","properties":{"searchType":{"description":"Type of finger to be searched.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"description":"If only one biometric is provided, a match score will be returned. If more than one biometric is provided, a list of candidates can be retrieved using getSearchResult.","type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"description":"This field is a list of PGUIDs. If the list is empty or null, the search will be against the entire database. If it has only one PGUID, the search will be 1:1. It is possible to make 1:1 searches with more than one PGUID.","type":"array","items":{"type":"string"}},"labelFilters":{"description":"Used for 1:N operations. The filters will be compared with the labels field registered by the enroll method.","uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"description":"Flag indicating if the search is a Latent Search.","type":"boolean"},"isULSearch":{"description":"Flag indicating if the search is an UL Search.","type":"boolean"},"numberOfCandidates":{"description":"Number of candidates to be returned.","type":"integer","format":"int32"},"classificationThreshold":{"description":"Threshold for either classifying biometric data or marking it as UNKNOWN.","type":"integer","format":"int32"},"classifications":{"description":"Vector containing the classifications to be considered. Defaults to UNKNOWN.","uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"description":"Singularities to be considered. Defaults to NONE.","type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"$ref":"#/components/schemas/SearchOptions"},"user":{"type":"string"},"uguids":{"description":"Globally unique ID of the UL. Can be a list of uguids.","type":"array","items":{"type":"string"}},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned.","type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}},"SearchMetadata":{"description":"Additional information.","type":"object","additionalProperties":{"description":"A flexible key-value pair where the key is a string."}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The LivenessHeuristicDevice object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessHeuristicDevice":{"type":"object","properties":{"deviceId":{"type":"string"},"watchlist":{"type":"boolean"},"timeout":{"type":"integer","format":"int64"},"tries":{"type":"integer","format":"int32"},"personCount":{"type":"integer","format":"int32"},"success":{"type":"integer","format":"int32"},"matchFails":{"type":"integer","format":"int32"},"livenessFails":{"type":"integer","format":"int32"}}}}}}
```

## The LivenessHeuristicPPE object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessHeuristicPPE":{"type":"object","properties":{"personKey":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The LivenessHeuristicPerson object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessHeuristicPerson":{"type":"object","properties":{"personKey":{"type":"string"},"ppe":{"type":"boolean"},"watchlist":{"type":"boolean"},"timeout":{"type":"integer","format":"int64"},"tries":{"type":"integer","format":"int32"},"devices":{"type":"integer","format":"int32"},"success":{"type":"integer","format":"int32"},"matchFails":{"type":"integer","format":"int32"},"livenessFails":{"type":"integer","format":"int32"}}}}}}
```

## The LivenessHeuristicPersonDevice object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessHeuristicPersonDevice":{"type":"object","properties":{"personKey":{"type":"string"},"deviceId":{"type":"string"},"approved":{"type":"boolean"},"success":{"type":"integer","format":"int32"},"matchFails":{"type":"integer","format":"int32"},"livenessFails":{"type":"integer","format":"int32"}}}}}}
```

## The LivenessHeuristicTransaction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessHeuristicTransaction":{"type":"object","properties":{"tguid":{"type":"string"},"personKey":{"type":"string"},"deviceId":{"type":"string"},"model":{"type":"string"},"soVersion":{"type":"string"},"timestamp":{"type":"integer","format":"int64"},"bccMobileVersion":{"type":"string"},"liveness":{"type":"boolean"},"ipAddress":{"type":"string"},"success":{"type":"boolean"},"description":{"type":"string"},"score":{"type":"integer","format":"int32"},"imageQuality":{"type":"integer","format":"int32"},"originalBonafideScore":{"type":"integer","format":"int32"},"adjustedBonafideScore":{"type":"integer","format":"int32"}}}}}}
```

## The LivenessRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}}}}}
```

## The LivenessResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"$ref":"#/components/schemas/Data"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The LivenessSettings object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"LivenessSettings":{"type":"object","properties":{"settings":{"type":"object","additionalProperties":{"type":"string"}},"tings":{"$ref":"#/components/schemas/LivenessSettings"}}}}}}
```

## The MatchDecision object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"MatchDecision":{"type":"object","properties":{"user":{"type":"string"},"lockedTimestamp":{"type":"string","format":"date-time"},"timestamp":{"type":"string","format":"date-time"},"decision":{"type":"string","enum":["HIT","NO_HIT","UNCERTAIN","UNCERTAIN_EXPERT","MISMATCH","ERROR"]}}}}}}
```

## The MatcherInfo object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"MatcherInfo":{"type":"object","properties":{"name":{"type":"string"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}}}},"SizeInfo":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}}}}}}
```

## The NodeInfo object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NodeInfo":{"type":"object","properties":{"hostname":{"type":"string"},"monitorPort":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["NONE","SPRING_START","CLUSTER_ASSEMBLY","MATCHERS_ASSEMBLY","PEOPLE_BOOT","UL_BOOT","KAFKA_START","RUNNING","SHUTTING_DOWN"]},"configuredMatchers":{"type":"integer","format":"int64"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}},"activeMatchers":{"type":"array","items":{"$ref":"#/components/schemas/MatcherInfo"}}}},"SizeInfo":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}}},"MatcherInfo":{"type":"object","properties":{"name":{"type":"string"},"peopleCount":{"type":"integer","format":"int64"},"ulCount":{"type":"integer","format":"int64"},"memory":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SizeInfo"}}}}}}}
```

## The NotificationAck object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotificationAck":{"type":"object","properties":{"client":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"comments":{"type":"string"}}}}}}
```

## The NotificationExternalID object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotificationExternalID":{"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"}}}}}}
```

## The NotifyGroup object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyGroupListResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyGroupListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotifyGroup"}}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyGroupRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyGroupRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/NotifyGroup"}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyGroupResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyGroupResponse":{"type":"object","properties":{"status":{"type":"string","enum":["CREATED","UPDATED"]},"data":{"$ref":"#/components/schemas/NotifyGroup"}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyUser object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyUserListResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyUserListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyUserRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyUserRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/NotifyUser"}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyUserResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyUserResponse":{"type":"object","properties":{"status":{"type":"string","enum":["CREATED","UPDATED"]},"data":{"$ref":"#/components/schemas/NotifyUser"}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The NotifyValidRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"NotifyValidRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JsonNotification"}}},"JsonNotification":{"type":"object","properties":{"operation":{"description":"Operation type of the transaction that notification is related to.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]},"tguid":{"description":"Transaction's global unique ID of the transaction that notification is related to.","type":"string"},"status":{"description":"Current status of the transaction that notification is related to.","type":"string"},"sender":{"description":"The notification sender.","type":"string"},"uguid":{"description":"Global unique ID of an unsolved latent. Only used when the notification is related to a transaction that treats an unsolved latent.","type":"string"},"additionalData":{"description":"Map used to add custom information inside the notification that will be delivered to notifier endpoint.","type":"object","additionalProperties":{"type":"string"}},"relatedTransactions":{"description":"List of transactions related to the main transaction that notification is related to.","type":"array","items":{"$ref":"#/components/schemas/PersonRelatedTransaction"}}}},"PersonRelatedTransaction":{"type":"object","properties":{"status":{"description":"Status of the transaction related to the main transaction.","type":"string"},"tguid":{"description":"Transaction's global unique ID of the transaction related to the main transaction.","type":"string"},"pguid":{"description":"Person's global unique ID of the person related to the transaction related to the main transaction.","type":"string"},"operation":{"description":"Operation type of the transaction related to the main transaction.","type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","GET_PERSON","FILTER","COUNT_ANOMALIES","FIND_ANOMALIES","GET_ANOMALY","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","FILTER_TRANSACTION","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY"]}}}}}}
```

## The OperationLog object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"OperationLog":{"type":"object","properties":{"guid":{"type":"string"},"logType":{"type":"string","enum":["EXCEPTION","EXCEPTION_BIOMETRIC","EXCEPTION_GROUP","TRANSACTION"]},"operation":{"type":"string","enum":["UNKNOWN","CONNECT","DISCONNECT","AUTHENTICATE","ENROLL","EXTERNAL_AUTHENTICATE","BATCH_ENROLL","REGISTER_SEARCH","SEARCH","DELETE","GET_RESULT","CLOSE_SESSION","FILTER","ASSIGN_ANOMALY","UNASSIGN_ANOMALY","TRUST_ENROLL","GET_TRANSACTION","CHANGE_PRIORITY","ADD_TO_REFERENCE","REMOVE_FROM_REFERENCE","REMOVE_KEYS","GET_PEOPLE_TRANSACTIONS","ANOMALY_ENROLL","GET_EXCEPTION_RESULT","QUALITY_ANALYSIS","REGISTER_ENROLL","STOP_SERVICE","REGISTER_UL_BIOMETRIC","REMOVE_UL_BIOMETRIC","UPDATE_PERSON_BIOMETRIC","DISABLE_PERSON_TRANSACTION","TREAT_EXCEPTION","TREAT_ANOMALY","CREATE_EXCEPTION","CREATE_EXCEPTION_GROUP","PRIORITY_EXCEPTION","PRIORITY_EXCEPTION_GROUP","TREAT_EXCEPTION_BIOMETRIC","TREAT_EXCEPTION_GROUP","CHANGE_REFUSED_STATUS","RESEND_REFUSED","LIGHTS_OUT"]},"index":{"type":"integer","format":"int32"},"status":{"type":"string","enum":["ANALYSIS","READY","PROCESSING","REFUSED","DONE","PENDING","ERROR","ENQUEUED","OK","NOT_FINAL","BIOMETRIC","BIOMETRIC_INCONCLUSIVE","BIOMETRIC_MISMATCH","BIOGRAPHIC","APPROVE","REJECT","LIGHTS_OUT"]},"decision":{"type":"string","enum":["UNCERTAIN","UNCERTAIN_EXPERT","MISMATCH","NO_HIT","HIT","ERROR","APPROVE","REJECT","KEEP","CREATED","REMOVED","READY_TO_RESEND"]},"user":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"tguid":{"type":"string"},"pguid":{"type":"string"},"keptTguids":{"type":"array","items":{"type":"string"}},"message":{"type":"string"}}}}}}
```

## The OrRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"OrRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/Restriction"},{"type":"object","properties":{"restrictions":{"type":"array","items":{"$ref":"#/components/schemas/Restriction"}}}}]},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The Organization object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Organization":{"type":"object","properties":{"parent":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The OrganizationResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"OrganizationResponse":{"type":"object","properties":{"httpResponse":{"$ref":"#/components/schemas/HttpResponse"},"data":{"$ref":"#/components/schemas/Organization"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}},"Organization":{"type":"object","properties":{"parent":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}}}}}}
```

## The Permission object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Permission":{"type":"object"}}}}
```

## The PersonTransparency object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PersonTransparency":{"type":"object","properties":{"pguid":{"type":"string"},"action":{"type":"string","enum":["REMOVE","CLASSIFIED","NOTIFY"]},"enabled":{"type":"boolean"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/NotifyGroup"}}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The PersonTransparencyRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PersonTransparencyRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PersonTransparency"}}},"PersonTransparency":{"type":"object","properties":{"pguid":{"type":"string"},"action":{"type":"string","enum":["REMOVE","CLASSIFIED","NOTIFY"]},"enabled":{"type":"boolean"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/NotifyGroup"}}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The PersonTransparencyResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PersonTransparencyResponse":{"type":"object","properties":{"status":{"type":"string","enum":["CREATED","UPDATED"]},"data":{"$ref":"#/components/schemas/PersonTransparency"}}},"PersonTransparency":{"type":"object","properties":{"pguid":{"type":"string"},"action":{"type":"string","enum":["REMOVE","CLASSIFIED","NOTIFY"]},"enabled":{"type":"boolean"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/NotifyGroup"}}}},"NotifyGroup":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"},"users":{"type":"array","items":{"$ref":"#/components/schemas/NotifyUser"}},"emails":{"type":"array","items":{"type":"string"}}}},"NotifyUser":{"type":"object","properties":{"username":{"type":"string"}}}}}}
```

## The PingResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"PingResponse":{"type":"object","properties":{"data":{"type":"string"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The QualityControlResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityControlResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/QualityControl"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"QualityControl":{"type":"object","properties":{"tguid":{"description":"Transaction GUID.","type":"string","format":"uuid"},"pguid":{"description":"Person GUID.","type":"string","format":"uuid"},"created":{"description":"Creation timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"updated":{"description":"Update timestamp (Unix, in milliseconds).","type":"integer","format":"int64"},"qualityStatus":{"description":"Quality status.","type":"string","enum":["PENDING","APPROVED","REJECTED","OK","ERROR","PENDING_DUPLICITIES"]},"enrollStatus":{"description":"Enroll status.","type":"string","enum":["ENQUEUED","PROCESSING","ENROLLED","EXCEPTION","FAILED","REFUSED","PENDING","RESENT_ENROLL"]},"person":{"description":"A summary of the person (some fields may be omitted).","allOf":[{"$ref":"#/components/schemas/Person"}]},"transactionType":{"description":"Transaction type.","type":"string","enum":["ENROLL","UPDATE"]},"issues":{"type":"object","description":"Number of issues found per type.","properties":{"lowQuality":{"type":"integer","description":"Number of quality issues."},"duplication":{"type":"integer","description":"Number of duplication issues."},"sequenceControl":{"type":"integer","description":"Number of sequence control issues."}}},"apiID":{"description":"API ID","type":"string","format":"uuid"},"gbdsVersion":{"description":"GBDS Version","type":"string"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The QualityServiceBean object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityServiceBean":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"url":{"type":"string"},"enabled":{"type":"boolean"},"library":{"type":"string","enum":["FINGER","FACE"]},"message":{"type":"string"}}}}}}
```

## The QualityServiceRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"QualityServiceRequest":{"type":"object","properties":{"library":{"type":"string","enum":["FINGER","FACE"]},"count":{"type":"integer","format":"int32"}}}}}}
```

## The ReplaceKeyRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReplaceKeyRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReplaceKey"}}},"ReplaceKey":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"},"newValue":{"description":"New value of entity identifier.","type":"string"}}}}}}
```

## The ReprocessException object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReprocessException":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"aguid":{"type":"string"},"entrantTguid":{"type":"string"},"entrantPguid":{"type":"string"},"entrantReextracted":{"type":"boolean"},"referenceTguid":{"type":"string"},"referencePguid":{"type":"string"},"referenceReextracted":{"type":"boolean"},"type":{"type":"string","enum":["ENROLL","UPDATE","VERIFY","IDENTIFY"]},"oldStatus":{"type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"newStatus":{"type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"message":{"type":"string"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The ReprocessExceptions object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReprocessExceptions":{"type":"object","properties":{"guid":{"type":"string"},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/ReprocessException"}},"status":{"type":"string","enum":["ENQUEUED","COUNTING","LISTING","PROCESSING","PROCESSED"]},"index":{"type":"integer","format":"int32"},"processed":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"ReprocessException":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"aguid":{"type":"string"},"entrantTguid":{"type":"string"},"entrantPguid":{"type":"string"},"entrantReextracted":{"type":"boolean"},"referenceTguid":{"type":"string"},"referencePguid":{"type":"string"},"referenceReextracted":{"type":"boolean"},"type":{"type":"string","enum":["ENROLL","UPDATE","VERIFY","IDENTIFY"]},"oldStatus":{"type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"newStatus":{"type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"message":{"type":"string"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The ReprocessListRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReprocessListRequest":{"type":"object","properties":{"tguids":{"type":"array","items":{"type":"string"}},"pageSize":{"type":"integer","format":"int32"},"user":{"type":"string"},"comments":{"type":"string"},"justAnalyse":{"type":"boolean"}}}}}}
```

## The ReprocessRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ReprocessRequest":{"type":"object","properties":{"tguid":{"type":"string"},"user":{"type":"string"},"comments":{"type":"string"},"justAnalyse":{"type":"boolean"}}}}}}
```

## The Restriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The Role object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Role":{"type":"object"}}}}
```

## The SequenceControlMatch object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SequenceControlMatch":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}}
```

## The SequenceControlMismatchIssue object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SequenceControlMismatchIssue":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"matches":{"type":"array","items":{"$ref":"#/components/schemas/SequenceControlMatch"}}}},"SequenceControlMatch":{"type":"object","properties":{"index":{"type":"integer","format":"int32"},"score":{"type":"integer","format":"int32"}}}}}}
```

## The SequenceControlParityIssue object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SequenceControlParityIssue":{"type":"object","properties":{"missingIndexes":{"type":"array","items":{"type":"integer","format":"int32"}}}}}}}
```

## The ServicesStatusResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ServicesStatusResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Data"},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```

## The SetConfigurationRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SetConfigurationRequest":{"type":"object","properties":{"application":{"type":"string","enum":["GBDS_API","GBDS_DRIVER","GBDS_API_AND_DRIVER"]},"configurations":{"type":"object","additionalProperties":{"type":"string"}}}}}}}
```

## The ShutdownInfo object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ShutdownInfo":{"type":"object","properties":{"shouldShutdownAPI":{"type":"boolean"},"shouldShutdownDriver":{"type":"boolean"}}}}}}
```

## The SizeInfo object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"SizeInfo":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"total":{"type":"integer","format":"int64"}}}}}}
```

## The StopServicesValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"StopServicesValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Data"}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The Subject object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"Subject":{"type":"object","properties":{"name":{"type":"string"},"roles":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Role"}},"permissions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"Role":{"type":"object"},"Permission":{"type":"object"}}}}
```

## The TransactionReport object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TransactionReport":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"extractionTimeAvg":{"type":"number","format":"double"},"extractionTimeMin":{"type":"integer","format":"int64"},"extractionTimeMax":{"type":"integer","format":"int64"},"extractionQualityAvg":{"type":"number","format":"double"},"extractionQualityMin":{"type":"integer","format":"int64"},"extractionQualityMax":{"type":"integer","format":"int64"},"matchAvg":{"type":"number","format":"double"},"matchMin":{"type":"integer","format":"int64"},"matchMax":{"type":"integer","format":"int64"},"totalAvg":{"type":"number","format":"double"},"totalMin":{"type":"integer","format":"int64"},"totalMax":{"type":"integer","format":"int64"},"type":{"type":"string","enum":["ENROLL","UPDATE","VERIFY","IDENTIFY"]},"latent":{"type":"boolean"},"ul":{"type":"boolean"},"apiId":{"type":"string"}}}}}}
```

## The TreatExceptionBiometricRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TreatExceptionBiometricRequest":{"type":"object","properties":{"enrollTguid":{"type":"string"},"exceptionPguid":{"type":"string"},"index":{"type":"integer","format":"int32"},"decision":{"type":"string","enum":["HIT","NO_HIT","UNCERTAIN","UNCERTAIN_EXPERT","MISMATCH","ERROR"]},"user":{"type":"string"},"timeout":{"type":"integer","format":"int32"},"permissions":{"type":"array","items":{"type":"string"}}}}}}}
```

## The TreatExceptionGroupRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TreatExceptionGroupRequest":{"type":"object","properties":{"gguid":{"type":"string"},"user":{"type":"string"},"comments":{"type":"string"},"timeout":{"type":"integer","format":"int32"},"decision":{"type":"string","enum":["APPROVE","REJECT","KEEP"]},"parameters":{"$ref":"#/components/schemas/GroupDecisionParameters"},"permissions":{"type":"array","items":{"type":"string"}}}},"GroupDecisionParameters":{"type":"object","properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"labels":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"keepTransactions":{"type":"array","items":{"type":"string"}},"removeTransactions":{"type":"array","items":{"type":"string"}}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}}}}}
```

## The TreatExceptionPendingGroupRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TreatExceptionPendingGroupRequest":{"type":"object","properties":{"gguid":{"type":"string"},"pendingTreatment":{"type":"string","enum":["ACCEPT","REJECT"]},"user":{"type":"string"},"comments":{"type":"string"},"timeout":{"type":"integer","format":"int32"},"permissions":{"type":"array","items":{"type":"string"}}}}}}}
```

## The TreatExceptionsValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"TreatExceptionsValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExceptionTreatment"},"meta":{"$ref":"#/components/schemas/Meta"},"subject":{"$ref":"#/components/schemas/Subject"},"timeoutIfNotNull":{"$ref":"#/components/schemas/Meta"},"validatedExceptionTreatment":{"$ref":"#/components/schemas/ValidatedExceptionTreatment"}}},"ExceptionTreatment":{"type":"object","properties":{"enrollTguid":{"description":"TGUID of transaction that created the exception.","type":"string"},"exceptionPguid":{"description":"PGUID of the person that was matched to create the exception.","type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"referenceIndexes":{"description":"List of biometric indexes. Specifies which biometric from the Update transaction should be used to update the Person.","type":"array","items":{"type":"integer","format":"int32"}}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}},"Meta":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"discardReference":{"type":"boolean"}}},"Subject":{"type":"object","properties":{"name":{"type":"string"},"roles":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Role"}},"permissions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"Role":{"type":"object"},"Permission":{"type":"object"},"ValidatedExceptionTreatment":{"type":"object","properties":{"enrollTguid":{"type":"string"},"exceptionPguid":{"type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"referenceIndexes":{"type":"array","items":{"type":"integer","format":"int32"}},"trustedMasterRecord":{"type":"boolean"}}}}}}
```

## The UpdatePeopleTrustedValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdatePeopleTrustedValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Person"},"meta":{"$ref":"#/components/schemas/TrustedEnrollMeta"},"metaIfNotNull":{"$ref":"#/components/schemas/TrustedEnrollMeta"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"TrustedEnrollMeta":{"description":"Contains extra information about the API call.","type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"active":{"description":"Determines if the biometric sent will be loaded into RAM and be available for Search and biometric validation.","type":"boolean"},"externalIDs":{"description":"a","type":"array","items":{"$ref":"#/components/schemas/ExternalIDRequest"}},"labelsOperation":{"description":"a","type":"string","enum":["REPLACE","ACCUMULATE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalIDRequest":{"type":"object","properties":{"name":{"type":"string"},"keys":{"type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The UpdatePeopleValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdatePeopleValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Person"},"meta":{"$ref":"#/components/schemas/BiometricValidation"},"pguid":{"type":"string"}}},"Person":{"type":"object","properties":{"pguid":{"description":"Global unique ID of the Person. This attribute is assigned by the AFIS once the person is successfully enrolled","type":"string"},"lastEnrollTguid":{"description":"Global unique ID of the latest transaction on this Person.","type":"string"},"timestamp":{"description":"Timestamp of the latest transaction on this Person.","type":"integer","format":"int64"},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"biographics":{"type":"array","items":{"$ref":"#/components/schemas/Biographic"}},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"auxiliaries":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"metadata":{"description":"Arbitrary data associated with the person.","type":"array","items":{"type":"string"}},"labels":{"description":"Arbitrary labels associated with a person, which can be used as filters for database queries.","uniqueItems":true,"type":"array","items":{"type":"string"}},"history":{"$ref":"#/components/schemas/History"},"biographicBaseStatus":{"$ref":"#/components/schemas/BiographicBaseStatus"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"Biographic":{"type":"object","properties":{"id":{"description":"ID of the biographic data being stored.\n\nBiobase Server biographics have their IDs prepended with `bs-`. For example, `bs-name` and `bs-surname`.\n","type":"string"},"value":{"description":"Value of the biographic data.","type":"string"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"History":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryEvent"}}}},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}},"BiographicBaseStatus":{"description":"Status of the biographic base.\n- `UNAVAILABLE`: When all Biobase Servers are off.\n- `TIMEOUT`: When at least one Biobase Server is ON but the call timed out.\n- `UNAUTHORIZED`:\n  - If the **lookAllServers** conf is **ON**, it indicates that all running servers returned that the API authentication is unauthorized.\n  - If the **lookAllServers** conf is **OFF**, it indicates that the server that received the biographic request returned that the API authentication is unauthorized.\n- `INVALID_DATA`: The Biobase Server returned that the data request from the API is invalid. It is not supposed to happen if Biobase Server is implemented according to the Biographic Base API.\n- `NOT_FOUND`:\n  - If the **lookAllServers** conf is **ON**, it indicates that the person keys were not found on all Biobase Servers configured.\n  - If the **lookAllServers** conf is **OFF**, it indicates that person keys were not found on the server that received the biographic request.\n- `OK`: The Biobase Server returned biographics/face for the given person keys.\n","type":"string","enum":["UNAVAILABLE","TIMEOUT","UNAUTHORIZED","INVALID_DATA","NOT_FOUND","OK"]},"BiometricValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"},"priority":{"description":"Priority of the enroll operation.","type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"validationType":{"description":"Defines the type of biometric validation to be performed against the AFIS.","type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"externalIDs":{"description":"List of externalIDs related to this transaction.","type":"array","items":{"$ref":"#/components/schemas/ExternalID"}},"labels":{"type":"string","enum":["ACCUMULATE","REPLACE"]},"liveness":{"description":"Flag to request liveness verification on query face image. If activated, a bonafide score will be returned on get transaction.","type":"boolean"},"biographicBase":{"$ref":"#/components/schemas/BiographicBaseFlags"}}},"ExternalID":{"type":"object","properties":{"name":{"description":"Name of the ID.","type":"string"},"key":{"description":"Value of the ID.","type":"string"}}},"BiographicBaseFlags":{"description":"Biographic database interaction configuration flags.","type":"object","properties":{"autoUpdate":{"description":"Update biographic base.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.autoUpdate`.\n","type":"boolean"},"sendPguidAsKey":{"description":"Send PGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendPguidAsKey`.\n","type":"boolean"},"sendTguidAsKey":{"description":"Send TGUID as key on biographic base update.\n\nIf absent, uses value of API config parameter `gbds.biographicBase.sendTguidAsKey`.\n","type":"boolean"}}}}}}
```

## The UpdateQualityAnalysisValidatedRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateQualityAnalysisValidatedRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Data"},"meta":{"$ref":"#/components/schemas/UpdateQualityAnalysisMeta"},"subject":{"$ref":"#/components/schemas/Subject"},"subjectName":{"type":"string"}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}},"UpdateQualityAnalysisMeta":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"}}},"Subject":{"type":"object","properties":{"name":{"type":"string"},"roles":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Role"}},"permissions":{"uniqueItems":true,"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"Role":{"type":"object"},"Permission":{"type":"object"}}}}
```

## The UpdateTransactionEvent object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateTransactionEvent":{"type":"object","allOf":[{"$ref":"#/components/schemas/HistoryEvent"}]},"HistoryEvent":{"required":["type"],"type":"object","properties":{"tguid":{"description":"Global unique ID of the transaction.","type":"string"},"timestamp":{"description":"Timestamp of event/transaction.","type":"integer","format":"int64"},"type":{"description":"Type of event/transaction.","type":"string"},"targetTguid":{"description":"Global unique ID of the transaction that was disabled.","type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The UpdateULsRequest object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"UpdateULsRequest":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Fragment"},"meta":{"$ref":"#/components/schemas/ULValidation"}}},"Fragment":{"type":"object","properties":{"id":{"description":"ID of the fragment.","type":"string"},"caseId":{"description":"ID of case the fragment is associated to.","type":"string"},"image":{"$ref":"#/components/schemas/Biometric"},"template":{"$ref":"#/components/schemas/Biometric"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ULValidation":{"type":"object","properties":{"timeout":{"description":"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).","type":"integer","format":"int32"}}}}}}
```

## The ValidatedBiographicRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedBiographicRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"matchModeIfNotNull":{"type":"string","writeOnly":true,"enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"existsIfNotNull":{"type":"boolean","writeOnly":true}}}]},"ValidatedRestriction":{"type":"object","properties":{"type":{"type":"string","enum":["KEY","BIOGRAPHIC","LABEL","OR","AND"]}},"discriminator":{"propertyName":"type"}}}}}
```

## The ValidatedDeleteULCandidatesSpec object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedDeleteULCandidatesSpec":{"type":"object","properties":{"uguid":{"type":"string"},"candidates":{"type":"array","items":{"$ref":"#/components/schemas/ULCandidateIdentifier"}},"uguidIfNotNull":{"type":"string","writeOnly":true},"candidatesIfNotNull":{"type":"array","writeOnly":true,"items":{"$ref":"#/components/schemas/ULCandidateIdentifier"}}}},"ULCandidateIdentifier":{"type":"object","properties":{"pguid":{"description":"PGUID of the target candidate.","type":"string"},"tguid":{"description":"TGUID of the target candidate.","type":"string"},"index":{"description":"Index of the target candidate.","type":"integer","format":"int32"}}}}}}
```

## The ValidatedExceptionTreatment object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedExceptionTreatment":{"type":"object","properties":{"enrollTguid":{"type":"string"},"exceptionPguid":{"type":"string"},"exceptionAnalysis":{"$ref":"#/components/schemas/ExceptionAnalysis"},"referenceIndexes":{"type":"array","items":{"type":"integer","format":"int32"}},"trustedMasterRecord":{"type":"boolean"}}},"ExceptionAnalysis":{"type":"object","properties":{"status":{"description":"Status of the exception.","type":"string","enum":["ANALYSIS","DIFFERENT_FINGERS","SAME_FINGERS","INCORRECT_ENROLL","RECOLLECT","MERGE_TRANSACTIONS","APPROVE","REJECT","ERROR","REFUSED"]},"exceptionTimestamp":{"description":"Timestamp of the exception. This is the timestamp that should be used during exception listing/filtering.","type":"integer","format":"int64"},"user":{"description":"User that performed the analysis of the exception. Used only if LDAP is not active.","type":"string"},"comments":{"description":"Comments made by the user.","type":"string"}}}}}}
```

## The ValidatedKeyRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedKeyRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"},"exists":{"type":"boolean"},"matchMode":{"type":"string","enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"matchModeIfNotNull":{"type":"string","writeOnly":true,"enum":["START","EXACT","ANYWHERE","END","NOT_EQUALS"]},"existsIfNotNull":{"type":"boolean","writeOnly":true}}}]},"ValidatedRestriction":{"type":"object","properties":{"type":{"type":"string","enum":["KEY","BIOGRAPHIC","LABEL","OR","AND"]}},"discriminator":{"propertyName":"type"}}}}}
```

## The ValidatedLabelRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedLabelRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"label":{"type":"string"},"exists":{"type":"boolean"},"existsIfNotNull":{"type":"boolean","writeOnly":true}}}]},"ValidatedRestriction":{"type":"object","properties":{"type":{"type":"string","enum":["KEY","BIOGRAPHIC","LABEL","OR","AND"]}},"discriminator":{"propertyName":"type"}}}}}
```

## The ValidatedLatentSearchOptions object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedLatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"type":"integer","format":"int32"},"rotationAngleThreshold":{"type":"integer","format":"int32"},"default":{"type":"boolean"}}}}}}
```

## The ValidatedOrRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedOrRestriction":{"type":"object","allOf":[{"$ref":"#/components/schemas/ValidatedRestriction"},{"type":"object","properties":{"restrictions":{"type":"array","items":{"$ref":"#/components/schemas/Restriction"}}}}]},"ValidatedRestriction":{"type":"object","properties":{"type":{"type":"string","enum":["KEY","BIOGRAPHIC","LABEL","OR","AND"]}},"discriminator":{"propertyName":"type"}},"Restriction":{"required":["type"],"type":"object","properties":{"type":{"type":"string"}},"discriminator":{"propertyName":"type"}}}}}
```

## The ValidatedRestriction object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedRestriction":{"type":"object","properties":{"type":{"type":"string","enum":["KEY","BIOGRAPHIC","LABEL","OR","AND"]}},"discriminator":{"propertyName":"type"}}}}}
```

## The ValidatedSearchMeta object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedSearchMeta":{"type":"object","properties":{"timeout":{"type":"integer","format":"int32"},"priority":{"type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"verifyResult":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":{"type":"object"}},"priorityIfNotNull":{"type":"string","writeOnly":true,"enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]},"timeoutIfNotNull":{"type":"integer","format":"int32","writeOnly":true}}}}}}
```

## The ValidatedSearchSpec object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"ValidatedSearchSpec":{"type":"object","properties":{"searchType":{"type":"string","enum":["SAME_FINGERS","ALL_FINGERS","CROSSED_WINDOW_TWEEZERS"]},"biometric":{"type":"array","items":{"$ref":"#/components/schemas/Biometric"}},"keys":{"type":"array","items":{"$ref":"#/components/schemas/Key"}},"pguids":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"uguids":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"labelFilters":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"isLatentSearch":{"type":"boolean"},"isULSearch":{"type":"boolean"},"numberOfCandidates":{"type":"integer","format":"int32"},"classificationThreshold":{"type":"integer","format":"int32"},"classifications":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["PLAIN_ARCH","LEFT_LOOP","RIGHT_LOOP","WHORL","SCAR","UNKNOWN","AMPUTATION","OTHER"]}},"singularities":{"type":"string","enum":["NONE","NO_DELTA_ALL_CORES","ONE_DELTA_NO_CORES","ONE_DELTA_ALL_CORES"]},"latentSearchOptions":{"$ref":"#/components/schemas/LatentSearchOptions"},"searchOptions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SearchOptions"}},"liveness":{"type":"boolean"},"user":{"type":"string"},"validatedLatentSearchOptions":{"$ref":"#/components/schemas/ValidatedLatentSearchOptions"},"searchOptionsIfnOtNull":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/SearchOptions"},"writeOnly":true},"verify":{"type":"boolean"}}},"Biometric":{"type":"object","oneOf":[{"$ref":"#/components/schemas/CONSOLIDATED_TEMPLATE"},{"$ref":"#/components/schemas/TEMPLATE"},{"$ref":"#/components/schemas/ORIGINAL"}],"discriminator":{"propertyName":"source"}},"CONSOLIDATED_TEMPLATE":{"title":"CONSOLIDATED_TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["CONSOLIDATED_TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"BiometricProperties":{"type":"object","properties":{"width":{"description":"Width, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"height":{"description":"Height, in pixels, of the image. If 0, GBDS will try to extract this information from the image header.","type":"integer","format":"int32"},"resolution":{"description":"Image or template resolution.","type":"integer","format":"int32"},"ratio":{"description":"Proportion of the image.","type":"number","format":"double"},"matcherId":{"description":"ID of the Biometric Matcher to be used in verification and identification operations.","type":"integer","format":"int32"},"extractorId":{"description":"ID of the extractor to be used on the image.","type":"integer","format":"int32"}}},"TEMPLATE":{"title":"TEMPLATE","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["TEMPLATE"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"ORIGINAL":{"title":"ORIGINAL","type":"object","properties":{"source":{"description":"How the biometric data was obtained.","type":"string","enum":["ORIGINAL"]},"type":{"description":"Type of the biometric data.","type":"string","enum":["FINGERPRINT","PALMPRINT","FOOTPRINT","FACE","IRIS","VOICE","SIGNATURE","SEQUENCE_CONTROL","NEWBORN_PALMPRINT","OTHER"]},"format":{"description":"Format of the biometric data.","type":"string","enum":["RAW","WSQ","JPEG","JPEG2000","PNG","TIFF","GIF","BMP","PCM","WAV","PRIVATE","ISO","ANSI","UNKNOWN","EBTS_TYPE9"]},"properties":{"$ref":"#/components/schemas/BiometricProperties"},"index":{"description":"Identifies which biometric, of the specified type, is being sent.","type":"integer","format":"int32"},"content":{"description":"Base64 encoded biometric data.","type":"string"},"quality":{"description":"Given the quality of the extracted biometric template. The quality is unbounded and starts at 0.","type":"integer","format":"int32"}}},"Key":{"type":"object","properties":{"id":{"description":"Name of entity identifier.","type":"string"},"value":{"description":"Value of entity identifier.","type":"string"}}},"LatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"}}},"SearchOptions":{"type":"object","properties":{"biometricType":{"description":"biometricType must contain its data and be one of the following values - FINGERPRINT, PALMPRINT, FACE, IRIS, NEWBORN_PALMPRINT, i.e., you must substitute the \"biometricType\" field name by one of the ENUM names.","type":"object","properties":{"scoreThreshold":{"description":"Search score threshold.","type":"integer","format":"int32"},"rotationAngleThreshold":{"description":"Rotation angle threshold for searching.","type":"integer","format":"int32"},"matcher":{"description":"Define which ginger preset will be used.","type":"string","enum":["DEFAULT","MOBILE"]}}}}},"ValidatedLatentSearchOptions":{"type":"object","properties":{"scoreThreshold":{"type":"integer","format":"int32"},"rotationAngleThreshold":{"type":"integer","format":"int32"},"default":{"type":"boolean"}}}}}}
```

## The VersionInfo object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}}}}}
```

## The VersionResponse object

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"components":{"schemas":{"VersionResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Data"},"error":{"oneOf":[{"$ref":"#/components/schemas/InternalError"},{"$ref":"#/components/schemas/ProcessingError"},{"$ref":"#/components/schemas/SecurityError"},{"$ref":"#/components/schemas/ValidationError"}]},"httpResponse":{"$ref":"#/components/schemas/HttpResponse"}}},"Data":{"type":"object","properties":{"api":{"$ref":"#/components/schemas/VersionInfo"},"searchEngine":{"$ref":"#/components/schemas/VersionInfo"}}},"VersionInfo":{"type":"object","properties":{"version":{"type":"string"},"build":{"type":"string"},"apiId":{"type":"string"},"apiType":{"type":"string","enum":["LEADER","RUNNER"]}}},"InternalError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["INTERNAL_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["DRIVER_OFFLINE","CREDENTIAL_SERVER_CONNECTION_ERROR","CLIENT_NOT_INITIALIZE","TRUSTED_ENROLL_WITH_PENDING_STATUS","SUBJECT_NOT_SET","UNKNOWN"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}},"ProcessingError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["PROCESSING_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["ENTITY_DOES_NOT_EXIST","ENTITY_ALREADY_EXISTS","POOR_BIOMETRIC_QUALITY","DUPLICATED_BIOMETRIC","BIOMETRIC_OUT_OF_SEQUENCE","BIOMETRIC_ERROR","INSUFFICIENT_TEMPLATE_COUNT","UNEXTRACTABLE_BIOMETRIC","PERSON_DOES_NOT_EXIST","PERSON_NOT_ACTIVE","PERSON_DOES_NOT_HAVE_BIOMETRIC","PENDING_EXCEPTIONS","ENROLL_TRANSACTION_DOES_NOT_EXIST","ENROLL_PERSON_NOT_FOUND","INVALID_TRANSACTION_STATE","EXCEPTION_DOES_NOT_EXIST","TREAT_EXCEPTION_TRANSACTION_DOES_NOT_EXIST","USER_NOT_AUTHORIZED_TO_TREAT_EXCEPTION","UL_IS_ALREADY_SOLVED","INVALID_PARAMETER_COMBINATION","CAN_NOT_DISABLE_ONLY_ENROLL_TRANSACTION","PERSON_DOES_NOT_OWN_TRANSACTION","TRANSACTION_IS_ALREADY_DISABLED","CAN_NOT_DISABLE_TRANSACTION_OF_UNSUPPORTED_TYPE","INVALID_EBTS_TYPE9_CONTENT","EXTERNAL_ID_DOES_NOT_EXIST","EXCEPTION_IS_ALREADY_TREATED","INVALID_TREATMENT_FOR_EXCEPTION","ENROLL_IS_ALREADY_ASSIGNED","ENROLL_IS_ALREADY_UNASSIGNED","ENROLL_IS_NOT_PENDING","ENROLL_IS_NOT_ASSIGNED","ENROLL_HAS_DIFFERENT_ASSIGNED_USER","NO_PGUID_FOUND_FOR_KEY","NO_SEARCHABLE_BIOMETRIC"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}},"SecurityError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["SECURITY_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["INVALID_CREDENTIALS","INVALID_TOKEN","INVALID_AUTHORIZATION_SCHEMA","MISSING_TOKEN","UNKNOWN_LOGIN_ERROR","UNKNOWN_TOKEN_ERROR","EXPIRED_TOKEN","UNAUTHORIZED_ACCESS"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}},"ValidationError":{"type":"object","properties":{"type":{"description":"Type of the Error","type":"string","enum":["VALIDATION_ERROR"]},"code":{"description":"Internal error code.","type":"string","enum":["MISSING_PGUID","MISSING_PERSON","MISSING_BIOMETRIC","INVALID_PARAMETER_COMBINATION","MISSING_REQUIRED_QUERY_PARAMETER","MISSING_REQUIRED_ENTITY_ATTRIBUTE","UNKNOWN_ENTITY_ATTRIBUTE","QUERY_PARAMETER_OUT_OF_RANGE","PARAMETER_OUT_OF_RANGE","PGUID_IS_EMPTY","FORBIDDEN_ATTRIBUTE_SET","INVALID_TOKEN_GRANT_SPEC","INVALID_ENUM_VALUE","MALFORMED_JSON","INVALID_JSON_ATTRIBUTE_VALUE","INVALID_URL_ATTRIBUTE_VALUE","UNKNOWN_REQUEST_READ_ERROR","PAGE_NOT_FOUND","UNSUPPORTED_HTTP_METHOD"]},"message":{"description":"Message detailing the nature of the Error","type":"string"},"meta":{"description":"Contains extra information about the API call.","type":"object"}}},"HttpResponse":{"type":"object","properties":{"httpCode":{"type":"integer","format":"int32"},"body":{"type":"string"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.griaule.com/apis/gbds-5/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
