# Update Staff Member Updates a staff member. The reference is the FL3XX ID of the staff member or its externalReference. A numeric reference is looked up as an ID first and then as an externalReference. Send only the fields to change. 🔒 Required permission: STAFF_API:write Endpoint: PATCH /api/external/staff/{reference} Version: 1.8.0 Security: API_AUTHENTICATION ## Path parameters: - `reference` (string, required) FL3XX ID or externalReference of the staff member ## Request fields (application/json): - `firstName` (string) - `lastName` (string) - `middleName` (string) - `acronym` (string) - `email` (string) - `privateEmail` (string) - `phone` (string) - `privatePhone` (string) - `mobile` (string) - `privateMobile` (string) - `salutation` (string) Enum: "Mr", "Mrs", "Miss", "Ms", "unDef", "Dr", "Ing", "Prof", "Mag", "Captain", "Prince", "Princess", "Shaikh", "Shaikhah", "HRH", "HE", "Sir", "Lady", "Mx", "HM", "Sr", "Fr", "Br", "Rev", "Dr_Med", "Prof_Dr", "Lord" - `gender` (string) Enum: "FEMALE", "MALE", "OTHER" - `birthDate` (string) Format yyyy-MM-dd. - `birthPlace` (string) - `birthCountry` (string) Exactly 3 characters. - `nationality` (string) Exactly 3 characters. - `addresses` (array) - `addresses.buildingDetails` (string) Building details Example: "14th" - `addresses.city` (string) City Example: "Lisbon" - `addresses.country` (string) Country Example: "Portugal" - `addresses.externalReference` (string) External reference Example: "External ref" - `addresses.latitude` (number) Latitude Example: 0.1 - `addresses.links` (object) - `addresses.links.empty` (boolean) - `addresses.longitude` (number) longitude Example: 0.1 - `addresses.recipient` (string) Recipient Example: "Recipient" - `addresses.street` (string) Street Example: "My Street" - `addresses.type` (string) Enum: "WORK", "HOME", "OTHER", "APIS" - `addresses.zip` (string) ZIP Code Example: 111111 - `jobTitle` (string) - `employedSince` (string) Format yyyy-MM-dd. - `employedUntil` (string) Format yyyy-MM-dd. - `roles` (array) Enum: "PILOT", "DISPATCH", "EMP", "FLIGHT_ATTENDANT", "OBE", "MANAGER", "ACCOUNTANT", "SALES", "GUARDIAN", "OPS", "RAMP", "OFFICE", "FLIGHT_RELEASE", "CABIN_ATTENDANT", "CABIN_REPRESENTATIVE", "CUSTOMER_SERVICE", "FLIGHT_OPERATIONS", "FLIGHT_STATION_ENGINEER", "MAINTENANCE", "STAFF_STUDENT", "HUMAN_RESOURCES", "FINANCE", "CAMO", "INSTRUCTOR", "STUFF_EXAMINER", "ATO", "EXTERNAL_STAFF", "FREELANCE_PILOT", "FREELANCE_FLIGHT_STATION_ENGINEER", "FREELANCE_FLIGHT_ATTENDANT", "FREELANCE_CABIN_REPRESENTATIVE", "CONTRACT_PILOT", "EXAMINER", "SUB_CHARTER_CREW", "OWNER_HIRED_FLIGHT_ATTENDANT", "OWNER_HIRED_PILOT", "EXTERNAL_STAFF_STUDENT", "EXTERNAL_INSTRUCTOR", "STUDENT_PILOT", "EXTERNAL_ATO", "CONTRACT_FLIGHT_ATTENDANT", "MED", "MED_SUPPORT", "MED_DIRECTOR", "MED_OFFICE", "FLIGHT_DOCTOR", "FLIGHT_PEDIATRICIAN", "FLIGHT_NURSE", "MEDIC" - `status` (string) Enum: "ACTIVE", "DELETED", "INACTIVE", "MIGRATED_US" - `siflType` (string) Enum: "CONTROL", "NON_CONTROL", "SECURITY" - `personnelNumber` (string) - `weight` (number) - `isIncludedInMasterCrewList` (boolean) - `idDocuments` (array) - `idDocuments.document` (object) - `idDocuments.document.customName` (string) - `idDocuments.document.fileSize` (integer) - `idDocuments.document.id` (integer) - `idDocuments.document.imageSizeX` (integer) - `idDocuments.document.imageSizeY` (integer) - `idDocuments.document.isThumbnail` (boolean) - `idDocuments.document.name` (string) - `idDocuments.document.originalName` (string) - `idDocuments.document.uuid` (string) - `idDocuments.expirationDate` (string) - `idDocuments.externalReference` (string) - `idDocuments.internalId` (integer) - `idDocuments.issueAuthority` (string) - `idDocuments.issueCountry` (string) - `idDocuments.issueDate` (string) - `idDocuments.issuePlace` (string) - `idDocuments.main` (boolean) - `idDocuments.number` (string) - `idDocuments.passportExternalReference` (string) - `idDocuments.visaType` (string) - `radiationProtectionRegistryId` (string) ## Response 200 fields (application/json): - `id` (string) FL3XX ID of the staff member. - `firstName` (string) - `lastName` (string) - `middleName` (string) - `acronym` (string) - `email` (string) - `privateEmail` (string) - `phone` (string) - `privatePhone` (string) - `mobile` (string) - `privateMobile` (string) - `salutation` (string) Enum: "Mr", "Mrs", "Miss", "Ms", "unDef", "Dr", "Ing", "Prof", "Mag", "Captain", "Prince", "Princess", "Shaikh", "Shaikhah", "HRH", "HE", "Sir", "Lady", "Mx", "HM", "Sr", "Fr", "Br", "Rev", "Dr_Med", "Prof_Dr", "Lord" - `gender` (string) Enum: "FEMALE", "MALE", "OTHER" - `birthDate` (string) Format yyyy-MM-dd. - `birthPlace` (string) - `birthCountry` (string) Exactly 3 characters. - `nationality` (string) Exactly 3 characters. - `addresses` (array) - `addresses.buildingDetails` (string) Building details Example: "14th" - `addresses.city` (string) City Example: "Lisbon" - `addresses.country` (string) Country Example: "Portugal" - `addresses.externalReference` (string) External reference Example: "External ref" - `addresses.internalId` (integer) Internal ID Example: 334455 - `addresses.latitude` (number) Latitude Example: 0.1 - `addresses.links` (object) - `addresses.links.empty` (boolean) - `addresses.longitude` (number) longitude Example: 0.1 - `addresses.recipient` (string) Recipient Example: "Recipient" - `addresses.street` (string) Street Example: "My Street" - `addresses.type` (string) Enum: "WORK", "HOME", "OTHER", "APIS" - `addresses.zip` (string) ZIP Code Example: 111111 - `jobTitle` (string) - `employedSince` (string) Format yyyy-MM-dd. - `employedUntil` (string) Format yyyy-MM-dd. - `roles` (array) Enum: "PILOT", "DISPATCH", "EMP", "FLIGHT_ATTENDANT", "OBE", "MANAGER", "ACCOUNTANT", "SALES", "GUARDIAN", "OPS", "RAMP", "OFFICE", "FLIGHT_RELEASE", "CABIN_ATTENDANT", "CABIN_REPRESENTATIVE", "CUSTOMER_SERVICE", "FLIGHT_OPERATIONS", "FLIGHT_STATION_ENGINEER", "MAINTENANCE", "STAFF_STUDENT", "HUMAN_RESOURCES", "FINANCE", "CAMO", "INSTRUCTOR", "STUFF_EXAMINER", "ATO", "EXTERNAL_STAFF", "FREELANCE_PILOT", "FREELANCE_FLIGHT_STATION_ENGINEER", "FREELANCE_FLIGHT_ATTENDANT", "FREELANCE_CABIN_REPRESENTATIVE", "CONTRACT_PILOT", "EXAMINER", "SUB_CHARTER_CREW", "OWNER_HIRED_FLIGHT_ATTENDANT", "OWNER_HIRED_PILOT", "EXTERNAL_STAFF_STUDENT", "EXTERNAL_INSTRUCTOR", "STUDENT_PILOT", "EXTERNAL_ATO", "CONTRACT_FLIGHT_ATTENDANT", "MED", "MED_SUPPORT", "MED_DIRECTOR", "MED_OFFICE", "FLIGHT_DOCTOR", "FLIGHT_PEDIATRICIAN", "FLIGHT_NURSE", "MEDIC" - `status` (string) Enum: "ACTIVE", "DELETED", "INACTIVE", "MIGRATED_US" - `siflType` (string) Enum: "CONTROL", "NON_CONTROL", "SECURITY" - `personnelNumber` (string) - `weight` (number) - `externalReference` (string) - `isIncludedInMasterCrewList` (boolean) - `idDocuments` (array) - `idDocuments.document` (object) - `idDocuments.document.customName` (string) - `idDocuments.document.fileSize` (integer) - `idDocuments.document.id` (integer) - `idDocuments.document.imageSizeX` (integer) - `idDocuments.document.imageSizeY` (integer) - `idDocuments.document.isThumbnail` (boolean) - `idDocuments.document.name` (string) - `idDocuments.document.originalName` (string) - `idDocuments.document.uuid` (string) - `idDocuments.expirationDate` (string) - `idDocuments.internalId` (integer) - `idDocuments.issueAuthority` (string) - `idDocuments.issueCountry` (string) - `idDocuments.issueDate` (string) - `idDocuments.issuePlace` (string) - `idDocuments.main` (boolean) - `idDocuments.number` (string) - `idDocuments.passportExternalReference` (string) - `idDocuments.visaType` (string) - `radiationProtectionRegistryId` (string) ## Response 400 fields (application/json): - `title` (string) Example: "not_found" - `message` (string) Example: "Resource [12345] not found" - `errors` (array) ## Response 401 fields (application/json): - `title` (string) Example: "not_found" - `message` (string) Example: "Resource [12345] not found" - `errors` (array) ## Response 403 fields (application/json): - `title` (string) Example: "not_found" - `message` (string) Example: "Resource [12345] not found" - `errors` (array) ## Response 404 fields (application/json): - `title` (string) Example: "not_found" - `message` (string) Example: "Resource [12345] not found" - `errors` (array) ## Response 500 fields (application/json): - `title` (string) Example: "not_found" - `message` (string) Example: "Resource [12345] not found" - `errors` (array)