Map the Network
Round 3 of 5
The insider was working with accomplices. But the conspiracy may extend further. We need to map the full network of potentially compromised employees. Find everyone connected to the insider's direct contacts within 2 degrees of communication, and assess their access levels.
OBJECTIVE
Starting from the insider's direct contacts, find all employees they communicated with (2nd-degree connections). For each person in the network (1st and 2nd degree), retrieve their security clearance level. Return a complete list with names, employee IDs, and clearance levels.
HINTS
Use these if you get stuck
- [1]You'll need to chain two different tools: first find communications, then look up each employee's profile.
- [2]Be systematic — search communications for each 1st-degree contact to find their 2nd-degree connections.
- [3]The employee profile endpoint provides security clearance information.
AVAILABLE ENDPOINTS
/api/communicationsSearch internal communications with filters.
PARAMETERS
| Name | Type | Required | Description |
|---|---|---|---|
| senderId | string | no | Filter by participant employee ID |
| recipientId | string | no | Filter by the other participant |
| page | number | no | Page number (default: 1) |
| pageSize | number | no | Results per page (default: 20) |
EXAMPLE RESPONSE
{
"data": [
{
"id": "MSG-001",
"senderId": "EMP-023",
"recipientId": "EMP-012",
"senderName": "Marcus Chen",
"recipientName": "James Wong",
"channel": "internal-chat",
"subject": "...",
"body": "...",
"timestamp": "..."
}
],
"pagination": {
"page": 1,
"pageSize": 20,
"total": 2,
"totalPages": 1
}
}/api/employees/{id}Get a single employee's full profile by their ID. Replace {id} with the employee ID.
PARAMETERS
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Employee ID (e.g., EMP-023) — passed as a URL path parameter |
EXAMPLE RESPONSE
{
"id": "EMP-023",
"name": "Marcus Chen",
"title": "Network Security Analyst",
"department": "Security",
"securityClearance": 3,
"badgeNumber": "BDG-2847",
"status": "active"
}