Skip to content

Technicians API

Enterprise feature

The REST API is available on Enterprise plans. Compare plans to find the right fit for your team.

The Technicians API provides read-only access to your technician workforce data. Retrieve technician profiles, skills, availability schedules, and current status to build integrations with external scheduling tools, dispatch systems, or analytics dashboards.


Endpoints summary

Method Path Scope Description
GET /api/v1/technicians technicians:read List technicians
GET /api/v1/technicians?id={id} technicians:read Get a single technician

Read-only

The Technicians API is read-only. Technician management (create, update, deactivate) is handled through the FSM Navigator web application.


List technicians

GET /api/v1/technicians
Scope: technicians:read

Returns a paginated list of technicians in your company.

Query parameters

Parameter Type Default Description
page integer 1 Page number
per_page integer 50 Results per page (max 100)
status string Filter by account status: Active or Inactive
availability_status string Filter by availability: Available, Busy, or Offline

Response

{
  "data": [
    {
      "technician_id": 6,
      "first_name": "Mike",
      "last_name": "Johnson",
      "status": "Active",
      "availability_status": "Available",
      "vehicle_type": "Van",
      "transport_modes": ["driving"],
      "created_at": "2025-11-28T14:00:00Z",
      "updated_at": "2026-01-15T09:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 3,
    "total_pages": 1
  },
  "request_id": "a1b2c3d4e5f6"
}

Fields

Field Type Description
technician_id integer Unique technician identifier
first_name string First name
last_name string Last name
status string Account status — Active or Inactive
availability_status string Current availability — Available, Busy, or Offline
vehicle_type string | null Assigned vehicle type
transport_modes array Transportation modes (e.g., ["driving"])
created_at string ISO 8601 creation timestamp
updated_at string ISO 8601 last-update timestamp

Get a single technician

GET /api/v1/technicians?id={id}
Scope: technicians:read

Returns a detailed profile for a specific technician, including contact information, skills, and weekly schedule.

Response

{
  "data": {
    "technician_id": 6,
    "first_name": "Mike",
    "last_name": "Johnson",
    "email": "[email protected]",
    "phone": "+15551234567",
    "status": "Active",
    "availability_status": "Available",
    "vehicle_type": "Van",
    "transport_modes": ["driving"],
    "skills": [
      {
        "skill_category_id": 1,
        "skill_name": "HVAC Repair",
        "skill_level": 5
      },
      {
        "skill_category_id": 2,
        "skill_name": "Electrical",
        "skill_level": 3
      }
    ],
    "schedule": [
      {
        "day_of_week": 1,
        "start_time": "08:00:00",
        "end_time": "17:00:00",
        "is_available": true
      },
      {
        "day_of_week": 2,
        "start_time": "08:00:00",
        "end_time": "17:00:00",
        "is_available": true
      }
    ],
    "created_at": "2025-11-28T14:00:00Z",
    "updated_at": "2026-01-15T09:30:00Z"
  },
  "request_id": "a1b2c3d4e5f6"
}

Additional detail fields

Field Type Description
email string Contact email address
phone string | null Contact phone number in E.164 format
skills array Assigned skill categories with proficiency levels (1–5)
skills[].skill_category_id integer Skill category identifier
skills[].skill_name string Skill category name
skills[].skill_level integer Proficiency level (1 = beginner, 5 = expert)
schedule array Weekly availability schedule
schedule[].day_of_week integer ISO day of week (1 = Monday, 7 = Sunday)
schedule[].start_time string Shift start time (HH:MM:SS)
schedule[].end_time string Shift end time (HH:MM:SS)
schedule[].is_available boolean Whether the technician works this day

Error responses

Status Error code Description
401 unauthorized Missing or invalid API key
403 insufficient_scope API key lacks technicians:read scope
404 not_found Technician does not exist or belongs to another company
405 method_not_allowed Only GET is supported
429 rate_limit_exceeded Too many requests — see Rate limits

Rate limits

Action Limit Window
List technicians 60 requests 1 minute
Get technician 120 requests 1 minute

See Rate limits for global API limits.