Updated April 22, 2026
/api/v1/team
curl -X GET \
"https://app.recruitsome.com/api/v1/team" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/team', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json',
},
});
const data = await response.json();
console.log(data);
use Illuminate\Support\Facades\Http;
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->get('https://app.recruitsome.com/api/v1/team');
$data = $response->json();
List Team Members
Retrieve a paginated list of employed team members. Ideal for displaying your team on your website.
Endpoint
GET /api/v1/team
Default Filtering
This endpoint only returns currently employed internal team members. Former employees and external portal users are automatically excluded.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number for pagination |
per_page | integer | 20 | Items per page (max: 100) |
search | string | - | Search in name, email, and job title |
job_title | string | - | Filter by job title (partial match) |
role | string | - | Filter by role name (e.g. administrator, hr_manager) |
has_avatar | boolean | false | Only return members with an uploaded avatar |
sort | string | given_name | Sort field: given_name, family_name, job_title |
sort_direction | string | asc | Sort direction: asc or desc |
include_phone | boolean | false | Include phone number |
include_role | boolean | false | Include role label |
Response Fields
| Field | Type | Description | |
|---|---|---|---|
id | integer | Unique team member ID | |
given_name | string | First name | |
family_name | string | Last name | |
full_name | string | Full name | |
job_title | string\ | null | Job title |
email | string | Email address | |
phone | string\ | null | Phone number in E.164 format (only when include_phone=true) |
avatar | object | Avatar image URLs in multiple sizes | |
role | string\ | null | Role label (only when include_role=true) |
Avatar Object
Avatar images are provided in three sizes. Returns null for each size if no avatar has been uploaded.
{
"small": "https://...",
"medium": "https://...",
"large": "https://..."
}
| Size | Dimensions | Use Case |
|---|---|---|
small | 128x128 | Lists, cards |
medium | 256x256 | Profile sections, headers |
large | 512x512 | Full profile displays |
Example Request
curl -X GET "https://app.recruitsome.com/api/v1/team?has_avatar=true&include_role=true&sort=family_name" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
Example Response
{
"data": [
{
"id": 1,
"given_name": "Jane",
"family_name": "Doe",
"full_name": "Jane Doe",
"job_title": "HR Manager",
"email": "[email protected]",
"avatar": {
"small": "https://storage.example.com/avatars/1/small.jpg",
"medium": "https://storage.example.com/avatars/1/medium.jpg",
"large": "https://storage.example.com/avatars/1/large.jpg"
},
"role": "HR Manager"
}
],
"links": {
"first": "...?page=1",
"last": "...?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 20,
"to": 1,
"total": 1
}
}
Security
This endpoint is designed to safely expose team member data for public display. The following sensitive fields are never included in the response:
- Passwords and authentication tokens
- Account lockout data
- Login history
- Internal system IDs
- Timezone and locale preferences
- Employment status (used for filtering only)