Reference
Technicians
Your maintenance team, and who can be assigned work.
The people on your own team. Use this to resolve a name to an id before creating or assigning an operation — the `id` here is exactly the value `technician_id` expects everywhere else.
The technician object
iduuid- The technician profile id. This is what you pass as technician_id.
objectstring- Always "technician".
user_iduuid · nullable- Their user account.
namestring · nullable- Full name.
emailstring · nullable- Work email.
phone_numberstring · nullable- Contact number.
rolestring · nullable- Their access level in Nexa, not their trade.
skillsstring[]- The trades they are certified for. Match against an operation's required_skill.
is_activeboolean- False once offboarded.
{
"id": "3a91cc70-1b44-4e9f-bb02-77de55aa1122",
"object": "technician",
"user_id": "cc701b44-4e9f-4b02-a7de-55aa11223344",
"name": "Sami Ben Salah",
"email": "sami@example.com",
"phone_number": null,
"role": "Technician",
"skills": [
"mechanical",
"electrical"
],
"is_active": true
}Endpoints
List the maintenance team
GET
/techniciansScope
technicians:readPaginatedAccepts limit and cursor. See Pagination.
curl https://nexa.com.tn/api/v1/technicians \
-H "Authorization: Bearer $NEXA_API_KEY"const response = await fetch(
"https://nexa.com.tn/api/v1/technicians",
{
headers: {
Authorization: `Bearer ${process.env.NEXA_API_KEY}`,
},
},
);
if (!response.ok) {
const { error } = await response.json();
throw new Error(`${error.type}: ${error.message}`);
}
const { data } = await response.json();import os
import requests
headers = {
"Authorization": f"Bearer {os.environ['NEXA_API_KEY']}",
}
response = requests.get(
"https://nexa.com.tn/api/v1/technicians",
headers=headers,
)
response.raise_for_status()
data = response.json()["data"]Response
GET /v1/technicians
{
"data": [
{
"id": "3a91cc70-1b44-4e9f-bb02-77de55aa1122",
"object": "technician",
"user_id": "cc701b44-4e9f-4b02-a7de-55aa11223344",
"name": "Sami Ben Salah",
"email": "sami@example.com",
"phone_number": null,
"role": "Technician",
"skills": [
"mechanical",
"electrical"
],
"is_active": true
}
],
"pagination": {
"limit": 50,
"has_more": true,
"next_cursor": "eyJvIjo1MH0"
}
}