# Staff Directories/Search

{% hint style="info" %}
Remember to change **:corporation** with your corporation id(found in the integrations section of the dashboard).
{% endhint %}

## Listing Employees Or Staff

<mark style="color:green;">`GET`</mark> [**`/v2/organization/:corporation/:type`**](https://public-api.expertfile.com/v2/organization/:corporation/:type)

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Url**

<table><thead><tr><th width="339.3333333333333">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>corporation</td><td>number</td><td>Corporation ID</td></tr><tr><td>username</td><td>string</td><td>Unique username</td></tr><tr><td>type</td><td>string</td><td>staff/employee</td></tr><tr><td>q</td><td>string</td><td>Keyword search term</td></tr><tr><td>access</td><td>string</td><td>public/private/all</td></tr><tr><td>status</td><td>string</td><td>published/unpublished/all</td></tr><tr><td>page_size</td><td>number</td><td>Size of page</td></tr><tr><td>page_from</td><td>number</td><td>Starting point</td></tr><tr><td>categories</td><td>string</td><td>Filter by categories. Array of categories(i.e. ["cat1","cat2"])</td></tr><tr><td>tags</td><td>string</td><td>Filter by tags. Array of tags(i.e. ["tag1","tag2"])</td></tr><tr><td>sort</td><td>string</td><td>Sorting order(name/featured)</td></tr><tr><td>searchfield</td><td>string</td><td>Fullname to query only name field.</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  data: {
    employees|staff: [],
    total: 10
  },
  success: true
}  
```

{% endtab %}
{% endtabs %}

**Code**

{% tabs %}
{% tab title="Node" %}

```javascript
const accessToken = `<ACCESS TOKEN>`

fetch('https://public-api.expertfile.com/v2/organization/:corporation/employee', {
    method: 'GET',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': `Bearer ${accessToken}`
    }
})
.then(response => response.json())
.then(json => {
    const { success, data } = json

    if (success) {
        const { employees, total } = data;
        console.log('Employees', employees, total);
    }

})
.catch(error => console.error(error));
```

{% endtab %}

{% tab title="PHP" %}

```php
$accessToken = urlencode('<ACCESS TOKEN>');
$url = 'https://public-api.expertfile.com/v2/organization/:corporation/employee';

$ch = curl_init($url);
curl_setopt(
    $ch,
    CURLOPT_HTTPHEADER,
    array('Content-Type: application/x-www-form-urlencoded', 'Authorization: Bearer ' . $accessToken)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$json = json_decode($response);

if($json->success){
    var_dump($json->data);
}

curl_close($ch);

```

{% endtab %}

{% tab title="Curl" %}

```
curl https://public-api.expertfile.com/v2/organization/:corporation/employee \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <ACCESS TOKEN>"
```

{% endtab %}
{% endtabs %}

## Applying Category Filter to Employees or Staff

<mark style="color:green;">`GET`</mark> [**/v2/organization/:corporation/:type**](https://public-api.expertfile.com/v2/organization/:corporation/:type)

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Url**

<table><thead><tr><th width="339.3333333333333">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>corporation</td><td>number</td><td>Corporation ID</td></tr><tr><td>type</td><td>string</td><td>staff/employee</td></tr><tr><td>categories</td><td>string</td><td>Filter by categories. Array of categories(i.e. ["cat1","cat2"])</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  data: {
    employees|staff: [],
    total: 10
  },
  success: true
}  
```

{% endtab %}
{% endtabs %}

**Code**

{% tabs %}
{% tab title="Node" %}

```javascript
const accessToken = `<ACCESS TOKEN>`

const params = {
    categories: JSON.stringify(['Advisors', 'Featured'])
};

const qs = new URLSearchParams(params).toString()

const path = `https://public-api.expertfile.com/v2/organization/:corporation/employee${qs ? '?' + qs : ''}`
fetch(path, {
    method: 'GET',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Authorization': `Bearer ${accessToken}`
    }
})
.then(response => response.json())
.then(json => {
    const { success, data } = json

    if (success) {
        const { employees, total } = data;
        console.log('Employees', employees, total);
    }

})
.catch(error => console.error(error));
```

{% endtab %}

{% tab title="PHP" %}

```php
$accessToken = urlencode('<ACCESS CODE>');
$parameters = array(
    'categories' => json_encode(['Advisors', 'Featured'])
);

$url = 'https://public-api.expertfile.com/v2/organization/:corporation/expert?' . http_build_query($parameters);

$ch = curl_init($url);
curl_setopt(
    $ch,
    CURLOPT_HTTPHEADER,
    array('Content-Type: application/x-www-form-urlencoded', 'Authorization: Bearer ' . $accessToken)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$json = json_decode($response);

if($json->success){
    var_dump($json->data);
}

curl_close($ch);
```

{% endtab %}

{% tab title="Curl" %}

```
curl --GET \
--data-urlencode 'categories=["Advisors","Featured"]' \
https://public-api.expertfile.com/v2/organization/:corporation/expert \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <ACCESS CODE>"
```

{% endtab %}
{% endtabs %}
