Constituent search by email gets wrong record

Hi everyone

We are using the constituent api to search a constituent by email before we update a record.
On some very rare occasions we have found that the email is matched incorrectly. In our case the email we were matched to was different by just one character!

Even if the email was different by one character the api should not return it as a match surely?!

This is the endpoint we are using

$url = self::$baseUri . "constituents/search?search_field=email_address&search_text=$email&limit=1&include_inactive=true";

Any idea why this would happen?

Comments

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @Qamar Ramzan
    give strict_search=true a try and see if it make a difference

  • @Alex Wong
    Hi Alex
    I tried that in the 'Try it" of the api reference section and it did not work. This was a while ago so will need to try again.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge

    @Qamar Ramzan:

    I tried that in the 'Try it" of the api reference section and it did not work. This was a while ago so will need to try again.

    if by “it did not work” you mean this problem: https://community.blackbaud.com/forums/viewtopic/586/67881

    it should be fixed soon

  • @Alex Wong
    No, not because of that.

    I tried it before and am pretty sure it gave an error when i tried strict_search. Can't remember the exact error but something to do with strict_search will not work with email search. I may be wrong so will wait until I can check again