Ul

listULs

get

This method returns a list of Unsolved Latent that match the search criteria.

Query parameters
pageSizeinteger · int32Optional

Size of the request.

pageIndexinteger · int32Optional

Defines which page will be returned.

statusstring · enumOptional

Status of the request.

Possible values:
Responses
200

OK

application/json
get
GET /gbds/v2/uls HTTP/1.1
Host: <ip>:8085
Accept: */*
{
  "data": [
    {
      "uguid": "text",
      "status": "UNSOLVED",
      "creationTime": 1,
      "personPguid": "text",
      "personTguid": "text",
      "candidates": [
        {
          "matchedPersonPguid": "text",
          "matchedPersonTguid": "text",
          "biometricMatches": [
            {
              "score": 1,
              "queryIndex": 1,
              "referenceIndex": 1,
              "minutia": [
                {
                  "query": 1,
                  "reference": 1
                }
              ]
            }
          ]
        }
      ],
      "linkedULs": [
        "text"
      ],
      "fragment": {
        "id": "text",
        "caseId": "text",
        "image": {
          "source": "CONSOLIDATED_TEMPLATE",
          "type": "FINGERPRINT",
          "format": "PRIVATE",
          "properties": {
            "width": 1,
            "height": 1,
            "resolution": 1,
            "ratio": 1,
            "matcherId": 1,
            "extractorId": 1
          },
          "index": 1,
          "content": "text",
          "quality": 1
        },
        "template": {
          "source": "CONSOLIDATED_TEMPLATE",
          "type": "FINGERPRINT",
          "format": "PRIVATE",
          "properties": {
            "width": 1,
            "height": 1,
            "resolution": 1,
            "ratio": 1,
            "matcherId": 1,
            "extractorId": 1
          },
          "index": 1,
          "content": "text",
          "quality": 1
        }
      },
      "ulAnalysis": {
        "user": "text",
        "timestamp": 1
      },
      "isSearchable": true,
      "failReason": "text"
    }
  ],
  "pagination": {
    "total": 1,
    "count": 1,
    "pageSize": 1,
    "currentPage": 1,
    "totalPages": 1
  }
}

createUL

post

This method submit a new Unsolved Latent to GBDS.

Body
Responses
201

OK

application/json
post
POST /gbds/v2/uls HTTP/1.1
Host: <ip>:8085
Content-Type: application/json
Accept: */*
Content-Length: 488

{
  "data": {
    "id": "text",
    "caseId": "text",
    "image": {
      "source": "CONSOLIDATED_TEMPLATE",
      "type": "FINGERPRINT",
      "format": "PRIVATE",
      "properties": {
        "width": 1,
        "height": 1,
        "resolution": 1,
        "ratio": 1,
        "matcherId": 1,
        "extractorId": 1
      },
      "index": 1,
      "content": "text",
      "quality": 1
    },
    "template": {
      "source": "CONSOLIDATED_TEMPLATE",
      "type": "FINGERPRINT",
      "format": "PRIVATE",
      "properties": {
        "width": 1,
        "height": 1,
        "resolution": 1,
        "ratio": 1,
        "matcherId": 1,
        "extractorId": 1
      },
      "index": 1,
      "content": "text",
      "quality": 1
    }
  },
  "meta": {
    "timeout": 1
  }
}
201

OK

{
  "data": {
    "tguid": "text",
    "uguid": "text"
  }
}

listULCandidates

get

This method returns a list of UL candidates that match the search criteria.

Query parameters
pageIndexinteger · int32Optional

Defines which page will be returned.

pageSizeinteger · int32Optional

Size of the request.

iniDateinteger · int64Optional

Return candidates that were found after this date.

endDateinteger · int64Optional

Maximum timestamp, in milliseconds.

iniScoreinteger · int32Optional

Return candidates that had a score greater than this.

endScoreinteger · int32Optional

Return candidates that had a score lower than this.

caseIdstringOptional

ID of the case associated with the request.

fragmentIdstringOptional

Fragment ID of the UL.

userstringOptional

ID of the user.

sortFieldstring · enumOptional

Field chosen to sort the list order.

Possible values:
sortOrderstring · enumOptional

Order that the list will be sorted.

Possible values:
statusstring · enumOptional

Status of the request.

Possible values:
Responses
200

OK

application/json
get
GET /gbds/v2/uls/candidates HTTP/1.1
Host: <ip>:8085
Accept: */*
{
  "data": [
    {
      "uguid": "text",
      "status": "UNSOLVED",
      "creationTime": "2025-08-23T21:20:32.246Z",
      "matchedPersonPguid": "text",
      "matchedPersonTguid": "text",
      "caseId": "text",
      "fragmentId": "text",
      "fragmentIndex": 1,
      "user": "text",
      "timestamp": "2025-08-23T21:20:32.246Z",
      "candidatePguid": "text",
      "candidateTguid": "text",
      "candidateIndex": 1,
      "score": 1
    }
  ],
  "pagination": {
    "total": 1,
    "count": 1,
    "pageSize": 1,
    "currentPage": 1,
    "totalPages": 1
  }
}
put

This method links 2 different ULs, given both UGUIDs.

Path parameters
referenceUguidstringRequired

Globally unique ID of the reference UL.

targetUguidstringRequired

Globally unique ID of the target UL.

Responses
200

OK

*/*
Responseobject
put
PUT /gbds/v2/uls/{referenceUguid}/links/{targetUguid} HTTP/1.1
Host: <ip>:8085
Accept: */*
{}

getUL

get

This method returns a UL, given its UGUID.

Path parameters
uguidstringRequired

Globally unique ID of the UL.

Responses
200

OK

application/json
get
GET /gbds/v2/uls/{uguid} HTTP/1.1
Host: <ip>:8085
Accept: */*
{
  "data": {
    "uguid": "text",
    "status": "UNSOLVED",
    "creationTime": 1,
    "personPguid": "text",
    "personTguid": "text",
    "candidates": [
      {
        "matchedPersonPguid": "text",
        "matchedPersonTguid": "text",
        "biometricMatches": [
          {
            "score": 1,
            "queryIndex": 1,
            "referenceIndex": 1,
            "minutia": [
              {
                "query": 1,
                "reference": 1
              }
            ]
          }
        ]
      }
    ],
    "linkedULs": [
      "text"
    ],
    "fragment": {
      "id": "text",
      "caseId": "text",
      "image": {
        "source": "CONSOLIDATED_TEMPLATE",
        "type": "FINGERPRINT",
        "format": "PRIVATE",
        "properties": {
          "width": 1,
          "height": 1,
          "resolution": 1,
          "ratio": 1,
          "matcherId": 1,
          "extractorId": 1
        },
        "index": 1,
        "content": "text",
        "quality": 1
      },
      "template": {
        "source": "CONSOLIDATED_TEMPLATE",
        "type": "FINGERPRINT",
        "format": "PRIVATE",
        "properties": {
          "width": 1,
          "height": 1,
          "resolution": 1,
          "ratio": 1,
          "matcherId": 1,
          "extractorId": 1
        },
        "index": 1,
        "content": "text",
        "quality": 1
      }
    },
    "ulAnalysis": {
      "user": "text",
      "timestamp": 1
    },
    "isSearchable": true,
    "failReason": "text"
  }
}

updateUL

post

This method updates an UL.

Path parameters
uguidstringRequired

a

Body
Responses
200

OK

application/json
post
POST /gbds/v2/uls/{uguid} HTTP/1.1
Host: <ip>:8085
Content-Type: application/json
Accept: */*
Content-Length: 488

{
  "data": {
    "id": "text",
    "caseId": "text",
    "image": {
      "source": "CONSOLIDATED_TEMPLATE",
      "type": "FINGERPRINT",
      "format": "PRIVATE",
      "properties": {
        "width": 1,
        "height": 1,
        "resolution": 1,
        "ratio": 1,
        "matcherId": 1,
        "extractorId": 1
      },
      "index": 1,
      "content": "text",
      "quality": 1
    },
    "template": {
      "source": "CONSOLIDATED_TEMPLATE",
      "type": "FINGERPRINT",
      "format": "PRIVATE",
      "properties": {
        "width": 1,
        "height": 1,
        "resolution": 1,
        "ratio": 1,
        "matcherId": 1,
        "extractorId": 1
      },
      "index": 1,
      "content": "text",
      "quality": 1
    }
  },
  "meta": {
    "timeout": 1
  }
}
{
  "data": {
    "tguid": "text",
    "uguid": "text"
  }
}

deleteCandidate

delete

This method deletes a given candidate from the UL's candidates list.

Path parameters
uguidstringRequired

Globally unique ID of the UL.

tguidstringRequired

Global unique ID of the transaction.

indexinteger · int32Required

Index of the target candidate.

Responses
204

Deleted

*/*
Responseobject
delete
DELETE /gbds/v2/uls/{uguid}/candidate/{tguid}/{index} HTTP/1.1
Host: <ip>:8085
Accept: */*
{}

solveUL

put

This method associates the UL to a given reference person and then marks the UL as SOLVED.

Path parameters
uguidstringRequired

Globally unique ID of the UL.

Body
Responses
200

OK

*/*
Responseobject
put
PUT /gbds/v2/uls/{uguid}/solve HTTP/1.1
Host: <ip>:8085
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "data": {
    "tguid": "text",
    "user": "text"
  }
}
{}
delete

This method removes any existing links from a UL.

Path parameters
uguidstringRequired

Globally unique ID of the UL.

Responses
204

Deleted

*/*
Responseobject
delete
DELETE /gbds/v2/uls/{uguid}/links HTTP/1.1
Host: <ip>:8085
Accept: */*
{}

deleteListOfCandidates

post

This method deletes a list of specific candidates for a given UL.

Path parameters
uguidstringRequired

Globally unique ID of the UL.

Body
Responses
204

Deleted

*/*
Responseobject
post
POST /gbds/v2/uls/{uguid}/candidates HTTP/1.1
Host: <ip>:8085
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "data": {
    "uguid": "text",
    "candidates": [
      {
        "pguid": "text",
        "tguid": "text",
        "index": 1
      }
    ]
  }
}
{}

deleteAllCandidates

delete

This method deletes all candidates for a given UL.

Path parameters
uguidstringRequired

Globally unique ID of the UL.

Responses
204

Deleted

*/*
Responseobject
delete
DELETE /gbds/v2/uls/{uguid}/candidates HTTP/1.1
Host: <ip>:8085
Accept: */*
{}