# People

## getPerson

> This method returns the information of a person, given its PGUID.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}":{"get":{"description":"This method returns the information of a person, given its PGUID.","tags":["people"],"operationId":"getPerson","summary":"getPerson","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}},{"name":"personFields","description":"List containing the names of the fields of the Person entity.","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["BIOMETRIC","AUXILIARIES","KEYS","BIOGRAPHICS","LABELS","METADATA","BASIC_FIELDS","NO_FIELDS","ALL_FIELDS"]}}},{"name":"biometricFields","description":"List containing the names of the fields of the Biometric entity.","in":"query","required":false,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["INDEX","ALL_FIELDS"]}}},{"name":"biographicBase","description":"Determines if the API will try to get biographics from the Biobase Server or not.","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"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.","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPeopleResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"404":{"description":"Person does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}}}}},"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"]},"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"}}},"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"}}},"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"}}}}}}
```

## update

> This method performs an update operation in GBDS.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}":{"put":{"description":"This method performs an update operation in GBDS.","tags":["people"],"operationId":"update","summary":"update","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePeopleRequest"}}},"required":true},"responses":{"201":{"description":"Enrolled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"202":{"description":"Enqueued, processing, exception.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"422":{"description":"Pending or failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}}}}},"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"},"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"]},"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"}}},"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"}}},"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"}}}}}}
```

## deletePerson

> This method deletes the information of a person, given its PGUID.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}":{"delete":{"description":"This method deletes the information of a person, given its PGUID.","tags":["people"],"operationId":"deletePerson","summary":"deletePerson","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}},{"name":"priority","description":"Priority of the operation. Default is `GOD_PRIORITY`.","in":"query","required":false,"schema":{"type":"string","enum":["GOD_PRIORITY","HIGHEST_PRIORITY","HIGHER_PRIORITY","HIGH_PRIORITY","DEFAULT_PRIORITY","LOW_PRIORITY","LOWER_PRIORITY","LOWEST_PRIORITY"]}},{"name":"timeout","description":"Timeout of the operation. Default is `0`.\n\nIf the timeout is `-1`, the operation will be executed synchronously.<br>\nIf the timeout is `0`, the operation will be executed asynchronously.<br>\nIf the timeout is `>0` (greater than 0), the operation will be executed synchronously after the timeout.\n","in":"query","required":false,"schema":{"type":"integer"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"204":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Person does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"422":{"description":"Person not active, pending exceptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}}}}},"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"}}},"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"}}}}}}
```

## enroll

> This method submits a new enrollment operation to GBDS.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people":{"post":{"description":"This method submits a new enrollment operation to GBDS.","tags":["people"],"operationId":"enroll","summary":"enroll","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePeopleRequest"}}},"required":true},"responses":{"201":{"description":"Enrolled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"202":{"description":"Enqueued, processing, exception, refused.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"422":{"description":"Pending or failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}},"parameters":[]}}},"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"}}},"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"]},"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"}}},"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"}}},"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"}}}}}}
```

## listPeople

> This method returns a list of people who match the given search criteria.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/list":{"post":{"description":"This method returns a list of people who match the given search criteria.","tags":["people"],"operationId":"listPeople","summary":"listPeople","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPeopleRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPeopleResponse"}}}},"400":{"description":"Validation Error / Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}},"parameters":[]}}},"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"}}},"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"}}},"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"}}},"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"}}}}}}
```

## deleteBiometric

> This method delete a specific biometric in a person's register, given the person's PGUID and biometric index.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/biometric/{biometricIndex}":{"delete":{"description":"This method delete a specific biometric in a person's register, given the person's PGUID and biometric index.","tags":["people"],"operationId":"deleteBiometric","summary":"deleteBiometric","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}},{"name":"biometricIndex","description":"Finger index to be excluded.","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## getPguidUsingKeys

> This method returns the PGUID of a person, given its search keys.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/pguid":{"get":{"description":"This method returns the PGUID of a person, given its search keys.","tags":["people"],"operationId":"getPguidUsingKeys","summary":"getPguidUsingKeys","parameters":[{"name":"key_id","description":"ID of the key to be used to identify the reference person.","in":"query","required":true,"schema":{"type":"string"}},{"name":"key_value","description":"Value of the key to be used to identify the reference person.","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPeoplePguidUsingKeyResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"404":{"description":"Person does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}}}}},"components":{"schemas":{"GetPeoplePguidUsingKeyResponse":{"type":"object","properties":{"data":{"description":"Person PGUID.","type":"string"}}},"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"}}},"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"}}},"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"}}}}}}
```

## disablePeopleTransaction

> This method deletes a transaction from a person, given its TGUID and the person's PGUID.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/transactions/{tguid}":{"delete":{"description":"This method deletes a transaction from a person, given its TGUID and the person's PGUID.","tags":["people"],"operationId":"disablePeopleTransaction","summary":"disablePeopleTransaction","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}},{"name":"tguid","description":"Global unique ID of the transaction.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Person does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"422":{"description":"Person does not have a transaction, transaction is already disabled, could not disable transaction.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessingError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}}}}},"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"}}},"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"}}}}}}
```

## trustedEnroll

> This method performs an enrollment operation without comparing biometrics.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/trusted":{"post":{"description":"This method performs an enrollment operation without comparing biometrics.","tags":["people"],"operationId":"trustedEnroll","summary":"trustedEnroll","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePeopleTrustedRequest"}}},"required":true},"responses":{"201":{"description":"Enrolled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"202":{"description":"Enqueued, processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}},"parameters":[]}}},"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"}}},"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"]},"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"}}},"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"}}}}}}
```

## trustedUpdate

> This method performs an update operation without comparing biometrics.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/trusted":{"put":{"description":"This method performs an update operation without comparing biometrics.","tags":["people"],"operationId":"trustedUpdate","summary":"trustedUpdate","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePeopleTrustedRequest"}}},"required":true},"responses":{"201":{"description":"Enrolled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"202":{"description":"Enqueued, processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"Internal Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalError"}}}}}}}},"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"}}},"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"]},"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"}}},"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"}}}}}}
```

## trustedAddKeys

> Adds new keys to a person.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/trusted/keys":{"post":{"description":"Adds new keys to a person.","tags":["people"],"operationId":"trustedAddKeys","summary":"trustedAddKeys","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedAddKeysRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedAddKeysResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}}}}},"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"}}},"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"}}}}}},"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"}}}}}}
```

## trustedReplaceKeys

> Replaces the entire set of keys associated with the specified person (PGUID) with a new set, overwriting the old keys to maintain identification consistency in the ABIS.'

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/trusted/keys":{"put":{"tags":["people"],"operationId":"replaceKey","summary":"trustedReplaceKeys","parameters":[{"name":"pguid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplaceKeyRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedAddKeysResponse"}}}},"400":{"description":"Validation Error","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}}}}},"404":{"description":"Person not found","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/ProcessingError"}}}}}}}},"description":"Replaces the entire set of keys associated with the specified person (PGUID) with a new set, overwriting the old keys to maintain identification consistency in the ABIS.'"}}},"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"}}},"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"}}},"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"}}},"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"}}}}}}
```

## updateBiographicsOnBiobaseUsingPGUID

> This endpoint creates or updates biographics on the Biographic Base Server using BioBase configuration on API.\<br>\<br> It uses any key provided to find a person/identity on the server. If it does, it updates it with all biographics provided, keeping the existing ones.\<br> If it does not find any person/identity with the keys provided, it creates a person/identity on the server with the keys and biographics provided.\<br> It calls all servers until one responds with a 2xx http code. If none respond successfully, it returns the last server response call code. \*\*Always send PGUID as key.\*\*

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/bio-base":{"post":{"description":"This endpoint creates or updates biographics on the Biographic Base Server using BioBase configuration on API.<br><br> It uses any key provided to find a person/identity on the server. If it does, it updates it with all biographics provided, keeping the existing ones.<br> If it does not find any person/identity with the keys provided, it creates a person/identity on the server with the keys and biographics provided.<br> It calls all servers until one responds with a 2xx http code. If none respond successfully, it returns the last server response call code. **Always send PGUID as key.**","tags":["people"],"operationId":"updateBiographicsOnBiobaseUsingPGUID","summary":"updateBiographicsOnBiobaseUsingPGUID","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBiographicsOnBiobaseRequest"}}},"required":true},"responses":{"201":{"description":"Identity created on Biobase Server"},"202":{"description":"Identity updated on Biobase Server"}}}}},"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."}}}}}}
```

## updateBiographicsOnBiobaseUsingPGUIDAndTGUID

> This endpoint creates or updates biographics on the Biographic Base Server using BioBase configuration on API.\<br>\<br> It uses any key provided to find a person/identity on the server. If it does, it updates it with all biographics provided, keeping the existing ones.\<br> If it does not find any person/identity with the keys provided, it creates a person/identity on the server with the keys and biographics provided.\<br> It calls all servers until one responds with a 2xx http code. If none respond successfully, it returns the last server response call code. \*\*Always send PGUID and TGUID as keys.\*\*

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/bio-base/{tguid}":{"post":{"description":"This endpoint creates or updates biographics on the Biographic Base Server using BioBase configuration on API.<br><br> It uses any key provided to find a person/identity on the server. If it does, it updates it with all biographics provided, keeping the existing ones.<br> If it does not find any person/identity with the keys provided, it creates a person/identity on the server with the keys and biographics provided.<br> It calls all servers until one responds with a 2xx http code. If none respond successfully, it returns the last server response call code. **Always send PGUID and TGUID as keys.**","tags":["people"],"operationId":"updateBiographicsOnBiobaseUsingPGUIDAndTGUID","summary":"updateBiographicsOnBiobaseUsingPGUIDAndTGUID","parameters":[{"name":"pguid","description":"Global unique ID of the person.","in":"path","required":true,"schema":{"type":"string"}},{"name":"tguid","description":"Global unique ID of the transaction.","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBiographicsOnBiobaseRequest"}}},"required":true},"responses":{"201":{"description":"Identity created on Biobase Server"},"202":{"description":"Identity updated on Biobase Server"}}}}},"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."}}}}}}
```

## removePerson

> Permanently removes the person identified by PGUID from the database along with their biographical/biometric data. Useful for definitive and irreversible removal.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/{pguid}/permanent":{"delete":{"tags":["people"],"operationId":"deletePersonFisically","parameters":[{"name":"pguid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}},"description":"Permanently removes the person identified by PGUID from the database along with their biographical/biometric data. Useful for definitive and irreversible removal.","summary":"removePerson"}}}}
```

## exportNIST

> Creates and returns a NIST package (biometric exchange standard) with the data of a specified person or transaction, allowing export according to the NIST standard.

```json
{"openapi":"3.0.1","info":{"title":"GBDS API","version":"5.1.16"},"servers":[{"url":"http://<ip>:8085/gbds/v2"}],"paths":{"/people/nist":{"post":{"tags":["people"],"operationId":"createNist","summary":"exportNIST","parameters":[{"name":"tguid","in":"query","required":false,"schema":{"type":"string"}},{"name":"pguid","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePeopleValidatedRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/xml":{"schema":{"type":"string"}}}}},"description":"Creates and returns a NIST package (biometric exchange standard) with the data of a specified person or transaction, allowing export according to the NIST standard."}}},"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"}}}}}}
```


---

# 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/people.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.
