Update staff member
curl --request PATCH \
--url https://api.nexspace365.com/api/staff/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"specialty": "<string>",
"hourlyRate": 123,
"yearsExperience": 123,
"certifications": [
"<string>"
],
"skills": [
"<string>"
],
"isActive": true
}
'import requests
url = "https://api.nexspace365.com/api/staff/{id}"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"specialty": "<string>",
"hourlyRate": 123,
"yearsExperience": 123,
"certifications": ["<string>"],
"skills": ["<string>"],
"isActive": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
email: 'jsmith@example.com',
phone: '<string>',
specialty: '<string>',
hourlyRate: 123,
yearsExperience: 123,
certifications: ['<string>'],
skills: ['<string>'],
isActive: true
})
};
fetch('https://api.nexspace365.com/api/staff/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nexspace365.com/api/staff/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => '<string>',
'lastName' => '<string>',
'email' => 'jsmith@example.com',
'phone' => '<string>',
'specialty' => '<string>',
'hourlyRate' => 123,
'yearsExperience' => 123,
'certifications' => [
'<string>'
],
'skills' => [
'<string>'
],
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nexspace365.com/api/staff/{id}"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"specialty\": \"<string>\",\n \"hourlyRate\": 123,\n \"yearsExperience\": 123,\n \"certifications\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"isActive\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.nexspace365.com/api/staff/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"specialty\": \"<string>\",\n \"hourlyRate\": 123,\n \"yearsExperience\": 123,\n \"certifications\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nexspace365.com/api/staff/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"specialty\": \"<string>\",\n \"hourlyRate\": 123,\n \"yearsExperience\": 123,\n \"certifications\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"id": 42,
"firstName": "Ada",
"lastName": "Lovelace",
"email": "ada.lovelace@acme.example.com",
"phone": "+1-614-555-0199",
"specialty": "Forklift Operator",
"employmentType": "full_time",
"hourlyRate": 28.5,
"yearsExperience": 6,
"certifications": [
"Forklift Class II",
"OSHA 10"
],
"skills": [
"Inventory",
"Pallet Jack",
"RF Scanner"
],
"isActive": true,
"profilePhoto": null,
"emergencyContact": {
"name": "Grace Hopper",
"phone": "+1-614-555-0177",
"relationship": "Spouse"
},
"workHistory": [
{
"facility": "Westside Depot",
"position": "Warehouse Associate",
"startDate": "2020-03-01",
"endDate": "2023-11-30",
"description": "Fulfillment and receiving"
}
],
"education": [
{
"institution": "Columbus State",
"degree": "Associate, Logistics",
"graduationYear": 2019,
"gpa": 3.6
}
]
}{
"error": {
"message": "Invalid or revoked API key",
"code": "UNAUTHENTICATED",
"suggestion": "Send a valid `Authorization: Bearer <token>` (nex_live_/nex_pat_ key, JWT, or OAuth access token).",
"retryable": false
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": {},
"suggestion": "<string>",
"retryable": true
},
"requestId": "<string>"
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": {},
"suggestion": "<string>",
"retryable": true
},
"requestId": "<string>"
}{
"error": {
"message": "Rate limit exceeded for this API key",
"code": "API_KEY_RATE_LIMITED",
"suggestion": "Wait until X-RateLimit-Reset before retrying, or batch operations.",
"retryable": true
}
}Staff
Update staff member
Update staff member information. Required API-key scope: staff:write
PATCH
/
api
/
staff
/
{id}
Update staff member
curl --request PATCH \
--url https://api.nexspace365.com/api/staff/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"specialty": "<string>",
"hourlyRate": 123,
"yearsExperience": 123,
"certifications": [
"<string>"
],
"skills": [
"<string>"
],
"isActive": true
}
'import requests
url = "https://api.nexspace365.com/api/staff/{id}"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"email": "jsmith@example.com",
"phone": "<string>",
"specialty": "<string>",
"hourlyRate": 123,
"yearsExperience": 123,
"certifications": ["<string>"],
"skills": ["<string>"],
"isActive": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
email: 'jsmith@example.com',
phone: '<string>',
specialty: '<string>',
hourlyRate: 123,
yearsExperience: 123,
certifications: ['<string>'],
skills: ['<string>'],
isActive: true
})
};
fetch('https://api.nexspace365.com/api/staff/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nexspace365.com/api/staff/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => '<string>',
'lastName' => '<string>',
'email' => 'jsmith@example.com',
'phone' => '<string>',
'specialty' => '<string>',
'hourlyRate' => 123,
'yearsExperience' => 123,
'certifications' => [
'<string>'
],
'skills' => [
'<string>'
],
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nexspace365.com/api/staff/{id}"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"specialty\": \"<string>\",\n \"hourlyRate\": 123,\n \"yearsExperience\": 123,\n \"certifications\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"isActive\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.nexspace365.com/api/staff/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"specialty\": \"<string>\",\n \"hourlyRate\": 123,\n \"yearsExperience\": 123,\n \"certifications\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nexspace365.com/api/staff/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"<string>\",\n \"specialty\": \"<string>\",\n \"hourlyRate\": 123,\n \"yearsExperience\": 123,\n \"certifications\": [\n \"<string>\"\n ],\n \"skills\": [\n \"<string>\"\n ],\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"id": 42,
"firstName": "Ada",
"lastName": "Lovelace",
"email": "ada.lovelace@acme.example.com",
"phone": "+1-614-555-0199",
"specialty": "Forklift Operator",
"employmentType": "full_time",
"hourlyRate": 28.5,
"yearsExperience": 6,
"certifications": [
"Forklift Class II",
"OSHA 10"
],
"skills": [
"Inventory",
"Pallet Jack",
"RF Scanner"
],
"isActive": true,
"profilePhoto": null,
"emergencyContact": {
"name": "Grace Hopper",
"phone": "+1-614-555-0177",
"relationship": "Spouse"
},
"workHistory": [
{
"facility": "Westside Depot",
"position": "Warehouse Associate",
"startDate": "2020-03-01",
"endDate": "2023-11-30",
"description": "Fulfillment and receiving"
}
],
"education": [
{
"institution": "Columbus State",
"degree": "Associate, Logistics",
"graduationYear": 2019,
"gpa": 3.6
}
]
}{
"error": {
"message": "Invalid or revoked API key",
"code": "UNAUTHENTICATED",
"suggestion": "Send a valid `Authorization: Bearer <token>` (nex_live_/nex_pat_ key, JWT, or OAuth access token).",
"retryable": false
}
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": {},
"suggestion": "<string>",
"retryable": true
},
"requestId": "<string>"
}{
"error": {
"message": "<string>",
"code": "<string>",
"details": {},
"suggestion": "<string>",
"retryable": true
},
"requestId": "<string>"
}{
"error": {
"message": "Rate limit exceeded for this API key",
"code": "API_KEY_RATE_LIMITED",
"suggestion": "Wait until X-RateLimit-Reset before retrying, or batch operations.",
"retryable": true
}
}Authorizations
bearerAuthapiKeyAuth
JWT token authentication
Path Parameters
Staff ID
Body
application/json
Response
Staff member updated successfully
Unique staff identifier
First name
Last name
Email address
Phone number
Worker specialty or role classification (industry-specific)
Type of employment
Available options:
full_time, part_time, contract, per_diem Hourly pay rate
Years of experience
Professional certifications
Skills and competencies
Whether the staff member is active
URL to profile photo
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I

