# Searching for UID with Filter

**URL:** <https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582>\
**Category:** Implement & Extend\
**Tags:** technology, extensibility\
**Created:** [June 20, 2023, 11:55am UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582 "2023-06-20T11:55:56Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![lfmilhomem](https://avatars.discourse-cdn.com/v4/letter/l/b4bc9f/32.png) [@lfmilhomem](https://community.sailpoint.com/discuss/u/lfmilhomem)\
**Post date:** [June 20, 2023, 11:55am UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/1 "2023-06-20T11:55:56Z")

</div>

I’m trying to search about a specific UID in a application using Filter. Where’s the error? Some documentation or tip to get the correct name to filtering?

```java
QueryOptions qo = new QueryOptions();
  String uid = "kalia.horn";
  qo.add(Filter.and(
    Filter.eq("links.application.name","Enterprise Directory"),
    Filter.eq("attribute.uid",uid)
  )

```

---

<div class="post-metadata">

**Author:** ![mathieug](https://sea3.discourse-cdn.com/sailpoint2/discuss/user_avatar/community.sailpoint.com/mathieug/32/17366_2.png) [@mathieug](https://community.sailpoint.com/discuss/u/mathieug)\
**Post date:** [June 20, 2023, 3:41pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/2 "2023-06-20T15:41:46Z")

</div>

Hello,

Are you trying to do a QueryOptions for Link.class objects?

You can try the following, let me know if this help:

```java
QueryOptions qo = new QueryOptions();
  String uid = "kalia.horn";
  qo.add(Filter.and(
    Filter.eq("application.name","Enterprise Directory"),
    Filter.eq("nativeIdentity",uid)
  )

```

Regards,

Mathieu G

---

<div class="post-metadata">

**Author:** ![lfmilhomem](https://avatars.discourse-cdn.com/v4/letter/l/b4bc9f/32.png) [@lfmilhomem](https://community.sailpoint.com/discuss/u/lfmilhomem)\
**Post date:** [June 21, 2023, 1:22pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/3 "2023-06-21T13:22:36Z")

</div>

Hey Mathieu. Thank for you reply.

I tried your possible solution but it doesn’t work. When I use this code:

```markup
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Rule created="1686797398156" id="7f00000188bc17178188bcf5b08c0585" language="beanshell" modified="1687351472297" name="Search UID">
  <Source>
  import sailpoint.object.*;
  import sailpoint.api.SailPointContext;
  import javax.naming.directory.DirContext;
  import sailpoint.tools.ldap.LDAPUtil;
  import javax.naming.directory.InitialDirContext;

  QueryOptions qo = new QueryOptions();
  String uid = "emma.kennedy"; //"emma.kennedy"
  qo.add(Filter.and(
Filter.eq("links.application.name","Enterprise Directory")  
  )

        );

  List<Identity> links = context.getObjects(Identity.class, qo);
	return links;
  </Source>
</Rule>

```

Returns all Identity from this Application, but I want a specific Identity using _uid_ contained in _name_ attribute.

Regards,

L Filipe

---

<div class="post-metadata">

**Author:** ![DerekKuhnert](https://avatars.discourse-cdn.com/v4/letter/d/ce73a5/32.png) [@DerekKuhnert](https://community.sailpoint.com/discuss/u/DerekKuhnert)\
**Post date:** [June 21, 2023, 1:35pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/4 "2023-06-21T13:35:20Z")

</div>

It’s a bit unclear from your post and this response where exactly you’re looking for this value. If you’re looking for an identity whose identity name is some value, then you can just use `context.getObjectByName(Identity.class, nameValue)` to look that up. If you’re looking for the identity that has a link whose native identity (the app-side identifier for the account) is a value, then you can do a search on the Link class with a filter on the nativeIdentity value, and then call getIdentity() on the Link to get to the Identity.

If you’re trying to search for links on an app-specific attribute (i.e. not native identity or display name), you’d need to turn that into a searchable extended attribute on the Link class; otherwise you won’t be able to use it in a filter.

---

<div class="post-metadata">

**Author:** ![lfmilhomem](https://avatars.discourse-cdn.com/v4/letter/l/b4bc9f/32.png) [@lfmilhomem](https://community.sailpoint.com/discuss/u/lfmilhomem)\
**Post date:** [June 21, 2023, 2:01pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/5 "2023-06-21T14:01:10Z")

</div>

Thanks.

I’m trying to get an Identity Object from Application using Filter & QueryOptions.

---

<div class="post-metadata">

**Author:** ![mathieug](https://sea3.discourse-cdn.com/sailpoint2/discuss/user_avatar/community.sailpoint.com/mathieug/32/17366_2.png) [@mathieug](https://community.sailpoint.com/discuss/u/mathieug)\
**Post date:** [June 21, 2023, 2:37pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/6 "2023-06-21T14:37:31Z")

</div>

Ok I got it&nbsp; @lfmilhomem

This should work. Let me know.

```java
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<Rule created="1686797398156" id="7f00000188bc17178188bcf5b08c0585" language="beanshell" modified="1687351472297" name="Search UID">
  <Source>
  import sailpoint.object.*;
  import sailpoint.api.SailPointContext;
  import javax.naming.directory.DirContext;
  import sailpoint.tools.ldap.LDAPUtil;
  import javax.naming.directory.InitialDirContext;

  QueryOptions qo = new QueryOptions();
  String uid = "emma.kennedy"; //"emma.kennedy"
  qo.add(Filter.and(
Filter.eq("links.application.name","Enterprise Directory"),  
Filter.eq("links.nativeIdentity",uid),  
  ));

  List<Identity> links = context.getObjects(Identity.class, qo);
	return links;
  </Source>
</Rule>

```

Regards,

Mathieu G

---

<div class="post-metadata">

**Author:** ![lfmilhomem](https://avatars.discourse-cdn.com/v4/letter/l/b4bc9f/32.png) [@lfmilhomem](https://community.sailpoint.com/discuss/u/lfmilhomem)\
**Post date:** [June 21, 2023, 2:43pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/7 "2023-06-21T14:43:08Z")

</div>

Now it works as I wanted it to.

Thanks, Mathieu.

---

<div class="post-metadata">

**Author:** ![mathieug](https://sea3.discourse-cdn.com/sailpoint2/discuss/user_avatar/community.sailpoint.com/mathieug/32/17366_2.png) [@mathieug](https://community.sailpoint.com/discuss/u/mathieug)\
**Post date:** [June 21, 2023, 2:46pm UTC](https://community.sailpoint.com/discuss/t/searching-for-uid-with-filter/30582/8 "2023-06-21T14:46:37Z")

</div>

I am happy to help! 🙂

Regards,

Mathieu G
