[API] SearchOption
When searching contacts by phone number through the API, the searchOptions.phone filter only matches the Phone field of a contact. It does not match MobilePhone, even though both fields are part of the same
contact record and both are valid phone numbers for that contact.
Use case
We are building an automation that needs to identify the calling end-user from their phone number and resolve them to an Atera contact in order to retrieve their tickets,
post comments on their behalf, etc. In real customer data, the mobile number is stored in MobilePhone for the majority of contacts (landline goes to Phone when present). With the current behavior, those
contacts cannot be found via the API search and we have to fall back to listing all contacts and filtering client-side, which is slow and does not scale.
Steps to reproduce
- Create or pick a contact whose MobilePhone = 600101010 and whose Phone is empty (or different).
- Call: GET /api/v3/contacts?searchOptions.phone=600101010
- Expected: the contact is returned.
- Actual: empty result. The same call works only if you put the number in Phone.
We have tried number variants (600101010, 34600101010, +34600101010) and combinations of EnableContactsSearch/EnablePartialSearch flags — none of them make the search look at MobilePhone.
Suggested fix
searchOptions.phone should match against Phone and MobilePhone (logical OR), the same way the in-app contact search does. Alternatively, expose searchOptions.mobilePhone as a separate filter so callers can
choose.
Current workaround
We list contacts page by page and filter client-side on Phone || MobilePhone. This means N requests per identification and we hit rate limits on tenants with many contacts.
Environment
- Atera REST API v3 (https://app.atera.com/api/v3)
- Tested 2026-04-16
Thanks!