Mentor Filter Service
API Contract
REST
/api/v1/mentor-filters
7 endpoints
GET
/api/v1/mentor-filters/api/v1/mentor-filters
List all saved filter presets for the organization
Public
Response Example
{
"data": [
{
"filter_id": "filter_x9q2r",
"name": "Available Tech Mentors",
"availability": "available",
"specializations": [
"tech-industry",
"engineering"
],
"created_by": "user_admin01",
"is_active": true,
"created_at": "2026-02-10T11:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/mentor-filters/api/v1/mentor-filters/:filter_id
Get a specific saved filter preset
Public
Response Example
{
"filter_id": "filter_x9q2r",
"name": "Available Tech Mentors",
"availability": "available",
"specializations": [
"tech-industry",
"engineering"
],
"created_by": "user_admin01",
"is_active": true,
"is_filtered": true,
"created_at": "2026-02-10T11:00:00Z"
}
POST
/api/v1/mentor-filters/api/v1/mentor-filters
Create a new filter preset or evaluate a filter criteria object
Public
Request Example
{
"name": "Career Changers Only",
"availability": "available",
"specializations": [
"career-transitions",
"job-search"
],
"created_by": "user_admin01"
}
Response Example
{
"filter_id": "filter_p3m7k",
"name": "Career Changers Only",
"availability": "available",
"specializations": [
"career-transitions",
"job-search"
],
"created_by": "user_admin01",
"is_active": true,
"is_filtered": true,
"created_at": "2026-03-26T09:30:00Z"
}
PUT
/api/v1/mentor-filters/api/v1/mentor-filters/:filter_id
Update a saved filter preset
Public
Request Example
{
"availability": "available",
"specializations": [
"career-transitions"
],
"is_active": false
}
Response Example
{
"filter_id": "filter_x9q2r",
"name": "Available Tech Mentors",
"availability": "available",
"specializations": [
"career-transitions"
],
"is_active": false,
"updated_at": "2026-03-26T09:35:00Z"
}
DELETE
/api/v1/mentor-filters/api/v1/mentor-filters/:filter_id
Delete a saved filter preset
Public
Response Example
{
"filter_id": "filter_x9q2r",
"deleted": true,
"deleted_at": "2026-03-26T09:40:00Z"
}
POST
/api/v1/mentor-filters/api/v1/mentor-filters/evaluate
Evaluate a filter criteria inline (stateless — returns whether criteria is non-default)
Public
Request Example
{
"availability": "available",
"specializations": [
"engineering"
]
}
Response Example
{
"is_filtered": true,
"active_criteria": {
"availability": "available",
"specializations": [
"engineering"
]
}
}
POST
/api/v1/mentor-filters/api/v1/mentor-filters/reset
Return the default (empty) filter criteria
Public
Request Example
{}
Response Example
{
"availability": null,
"specializations": [],
"is_filtered": false
}