get-logins-custom-search
POST
Performs a KeePass “Find” using custom search options and returns matching entries. See common-fields.
Request
Fields:
| Field | Description / Value | Default | Required |
|---|---|---|---|
RequestType | “get-logins-custom-search” | — | Yes |
Id | Associated key Id | — | Yes |
Nonce | 16-byte Base64 random | — | Yes |
Verifier | Nonce encrypted with key | — | Yes |
SearchString | Search text (encrypted) | — | Yes |
SearchInTitles | Search in entry titles | true | Optional |
SearchInUserNames | Search in usernames | true | Optional |
SearchInPasswords | Search in passwords | false | Optional |
SearchInUrls | Search in URLs | true | Optional |
SearchInNotes | Search in notes / comments | true | Optional |
SearchInOther | Search other standard fields | true | Optional |
SearchInStringNames | Search in custom string field names | false | Optional |
SearchInTags | Search in entry tags | true | Optional |
SearchInUuids | Search in entry UUIDs | false | Optional |
SearchInGroupPaths | Search in full group paths | false | Optional |
SearchInGroupNames | Search in group names | false | Optional |
SearchInHistory | Search in entry history items | false | Optional |
SearchMode | KeePass search mode (Simple, RegularExpression, XPath.) | Simple | Optional |
ExcludeExpired | Exclude expired entries from results | false | Optional |
RespectEntrySearchingDisabled | Honor per-group “search entries in this group” option | true | Optional |
ComparisonMode | String comparison mode (e.g. InvariantCultureIgnoreCase) | InvariantCultureIgnoreCase | Optional |
Hmac | Base64 HMAC-SHA256 of (IV + ciphertext) | Optional |
Example:
{
"RequestType": "get-logins-custom-search",
"Id": "client1",
"Nonce": "ReqNonce==",
"Verifier": "EncryptedReqNonce==",
"Hmac": "Base64Hmac==",
"SearchString": "EncryptedSearchText==",
"SearchInTitles": true,
"SearchInUserNames": true,
"SearchInUrls": true,
"SearchInNotes": true,
"SearchInTags": true,
"ExcludeExpired": false,
"RespectEntrySearchingDisabled": true
}
Response
Success may be true with empty Entries.
See common-fields for the common response envelope.
Successful:
{
"RequestType": "get-logins-custom-search",
"Success": true,
"Id": "client1",
"Count": 2,
"Entries": [
{
"Name": "EncryptedTitle1==",
"Login": "EncryptedUser1==",
"Password": "EncryptedPass1==",
"Uuid": "EncryptedUuidHex1=="
},
{
"Name": "EncryptedTitle2==",
"Login": "EncryptedUser2==",
"Password": "EncryptedPass2==",
"Uuid": "EncryptedUuidHex2=="
}
],
"Nonce": "RespNonce==",
"Verifier": "EncryptedRespNonce==",
"Hmac": "Base64Hmac==",
"Version": "x.y.z",
"Hash": "dbHashSha1"
}
Failure:
{
"Error": "Exception message describing the failure",
"RequestType": "get-logins-custom-search",
"Success": false,
"Version": "x.y.z",
"Hash": "dbHashSha1"
}
Notes
- Uses KeePass’ internal search engine with fine-grained flags.
- Empty result still returns
Success: trueif the request was valid.