# Bulk Resolve Directory Entities by Name

> Bulk Resolve Directory Entities by Name API in Test Cloud for resolving multiple same-type directory entities in a single request by organization ID.

Resolves multiple directory entities by their names in a single request, based on the organization ID. All entities in the request must be of the same type.

## API Endpoint

`POST` `{accessURL}/{organizationName}/identity_/api/Directory/BulkResolveByName/{partitionGlobalId}`

Replace `{accessURL}` in all endpoint paths with the base URL for your cloud platform:

| Cloud platform | Access URL |
| --- | --- |
| Test Cloud | `https://cloud.uipath.com/` |
| Test Cloud Public Sector | `https://govcloud.uipath.us/` |
| Test Cloud Dedicated | `https://{customURL}.dedicated.uipath.com/` |

## Scopes

Requires the following scopes:

* PM.Directory

## Request Headers

```
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
```

:::note
To obtain the `{access_token}`, make sure to authenticate through one of the methods described [here](https://docs.uipath.com/test-cloud/automation-cloud/latest/api-guide/authentication-methods#authentication-methods).
:::

## Path Parameters

| Path param | Data type | Description |
| --- | --- | --- |
| `partitionGlobalId` (required) | String (GUID) | The ID of the organization to resolve the entities within. |

## Request Body

The request body specifies the entity names to resolve. Unlike BulkResolve, all entities must be of the same type.

```json
{
    "entityNames": [
        "john.doe@example.com",
        "jane.smith@example.com"
    ],
    "entityType": "User",
    "scope": null
}
```

| Property | Data type | Description |
| --- | --- | --- |
| `entityNames` (required) | Array of strings | The names of the directory entities to resolve (e.g., email addresses for users, group names for groups). |
| `entityType` (required) | String | The type of all entities in the request. Valid values: `User`, `Group`, `Application`. |
| `scope` (optional) | String | Optional scope for active directory entities. |

## Responses

### 200 OK

Returns a dictionary mapping each entity name to its resolved directory entity. Entities that could not be resolved are returned as `null`.

```json
{
    "john.doe@example.com": {
        "objectType": "DirectoryUser",
        "source": "aad",
        "identifier": "aad|a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "john.doe@example.com",
        "email": "john.doe@example.com",
        "displayName": "John Doe",
        "firstName": "John",
        "lastName": "Doe"
    },
    "jane.smith@example.com": null
}
```

### 400 Bad Request

Returned when required parameters are missing or invalid.

## Example Request

Let's say you gathered all the information needed to build the API call.

* Your `{baseURL}` is: https://cloud.uipath.com/{organizationName}/identity_
* Your `{access_token}` is: `1234` (for length considerations).
* The `{partitionGlobalId}` is: `3fa85f64-5717-4562-b3fc-2c963f66afa6`
* You want to resolve two users by their email addresses.

The call should resemble the following example (cURL):

```
curl --location --request POST 'https://cloud.uipath.com/{organizationName}/identity_/api/Directory/BulkResolveByName/3fa85f64-5717-4562-b3fc-2c963f66afa6' \
--header 'Authorization: Bearer 1234' \
--header 'Content-Type: application/json' \
--data-raw '{
    "entityNames": [
        "john.doe@example.com",
        "jane.smith@example.com"
    ],
    "entityType": "User"
}'
```

Here's the response body for a successful call:

```json
{
    "john.doe@example.com": {
        "objectType": "DirectoryUser",
        "source": "aad",
        "identifier": "aad|a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "name": "john.doe@example.com",
        "email": "john.doe@example.com",
        "displayName": "John Doe",
        "firstName": "John",
        "lastName": "Doe"
    },
    "jane.smith@example.com": null
}
```
