POST public-api/employees/save

This method allows saving the employee details. Requires both Create and Update Employee permission. It accepts a maximum of 500 records at a time. In case the employee does not exist, a new record is created and on creation, it returns the employee ID. In the case of updating the existing record, then only the columns specified in the request model's "ApplicableFields" field are updated. If this field is null/empty then "all" fields are assumed to be updateable. To create/update addresses please use the API public-api/addresses/employee/save.



Request Information

URI Parameters

None.

Body Parameters

EmployeeSaveRequest
NameDescriptionTypeAdditional information
ApplicableFields

Collection of string

None.

Data

Collection of EmployeeModelInfo

None.

Request Formats

application/json

Sample:
{
  "ApplicableFields": [
    "sample string 1",
    "sample string 2"
  ],
  "Data": [
    {
      "EmployeeMiddleName": "sample string 1",
      "RowNumber": 2,
      "EmployeeNumber": "sample string 3",
      "EmployeeFirstName": "sample string 4",
      "EmployeeLastName": "sample string 5",
      "EmployeeTitle": "sample string 6",
      "EmployeeEmail": "sample string 7",
      "DepartmentCode": "sample string 8",
      "SiteName": "sample string 9",
      "LocationCode": "sample string 10",
      "ManagerFullName": "sample string 11",
      "EmployeeReportsTo": "sample string 12",
      "Addresses": [
        {
          "AddressLine1": "sample string 1",
          "AddressLine2": "sample string 2",
          "AddressLine3": "sample string 3",
          "AddressLine4": "sample string 4",
          "AddressCity": "sample string 5",
          "AddressStateProvince": "sample string 6",
          "AddressCountry": "sample string 7",
          "AddressPostalCode": "sample string 8",
          "AddressTypeName": "sample string 9",
          "ContactPhone": "sample string 10",
          "ContactEmail": "sample string 11"
        },
        {
          "AddressLine1": "sample string 1",
          "AddressLine2": "sample string 2",
          "AddressLine3": "sample string 3",
          "AddressLine4": "sample string 4",
          "AddressCity": "sample string 5",
          "AddressStateProvince": "sample string 6",
          "AddressCountry": "sample string 7",
          "AddressPostalCode": "sample string 8",
          "AddressTypeName": "sample string 9",
          "ContactPhone": "sample string 10",
          "ContactEmail": "sample string 11"
        }
      ],
      "PhoneNumbers": [
        {
          "PhoneNumber": "sample string 1",
          "PhoneExtension": "sample string 2",
          "PhoneTypeName": "sample string 3"
        },
        {
          "PhoneNumber": "sample string 1",
          "PhoneExtension": "sample string 2",
          "PhoneTypeName": "sample string 3"
        }
      ],
      "EmployeeNote": "sample string 13",
      "EmployeeNotes": [
        {
          "NoteText": "sample string 1",
          "NoteDate": "2026-03-12T15:35:49.4272512+00:00",
          "UserLogon": "sample string 2"
        },
        {
          "NoteText": "sample string 1",
          "NoteDate": "2026-03-12T15:35:49.4272512+00:00",
          "UserLogon": "sample string 2"
        }
      ],
      "CustomFields": [
        {
          "ImportRowNumber": 1,
          "DcfLabel": "sample string 2",
          "DCFDataType": 1,
          "DcfTextValue": "sample string 3",
          "DcfNumberValue": 1.0,
          "DcfDateValue": "2026-03-12T15:35:49.4272512+00:00",
          "DcfValueRecordStatus": 0
        },
        {
          "ImportRowNumber": 1,
          "DcfLabel": "sample string 2",
          "DCFDataType": 1,
          "DcfTextValue": "sample string 3",
          "DcfNumberValue": 1.0,
          "DcfDateValue": "2026-03-12T15:35:49.4272512+00:00",
          "DcfValueRecordStatus": 0
        }
      ],
      "AttachmentsToAdd": [
        "sample string 1",
        "sample string 2"
      ],
      "AttachmentsToDelete": [
        "sample string 1",
        "sample string 2"
      ],
      "AttachmentNames": [
        {
          "Key": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Key": "sample string 1",
          "Value": "sample string 2"
        }
      ],
      "HasAttachment": true
    },
    {
      "EmployeeMiddleName": "sample string 1",
      "RowNumber": 2,
      "EmployeeNumber": "sample string 3",
      "EmployeeFirstName": "sample string 4",
      "EmployeeLastName": "sample string 5",
      "EmployeeTitle": "sample string 6",
      "EmployeeEmail": "sample string 7",
      "DepartmentCode": "sample string 8",
      "SiteName": "sample string 9",
      "LocationCode": "sample string 10",
      "ManagerFullName": "sample string 11",
      "EmployeeReportsTo": "sample string 12",
      "Addresses": [
        {
          "AddressLine1": "sample string 1",
          "AddressLine2": "sample string 2",
          "AddressLine3": "sample string 3",
          "AddressLine4": "sample string 4",
          "AddressCity": "sample string 5",
          "AddressStateProvince": "sample string 6",
          "AddressCountry": "sample string 7",
          "AddressPostalCode": "sample string 8",
          "AddressTypeName": "sample string 9",
          "ContactPhone": "sample string 10",
          "ContactEmail": "sample string 11"
        },
        {
          "AddressLine1": "sample string 1",
          "AddressLine2": "sample string 2",
          "AddressLine3": "sample string 3",
          "AddressLine4": "sample string 4",
          "AddressCity": "sample string 5",
          "AddressStateProvince": "sample string 6",
          "AddressCountry": "sample string 7",
          "AddressPostalCode": "sample string 8",
          "AddressTypeName": "sample string 9",
          "ContactPhone": "sample string 10",
          "ContactEmail": "sample string 11"
        }
      ],
      "PhoneNumbers": [
        {
          "PhoneNumber": "sample string 1",
          "PhoneExtension": "sample string 2",
          "PhoneTypeName": "sample string 3"
        },
        {
          "PhoneNumber": "sample string 1",
          "PhoneExtension": "sample string 2",
          "PhoneTypeName": "sample string 3"
        }
      ],
      "EmployeeNote": "sample string 13",
      "EmployeeNotes": [
        {
          "NoteText": "sample string 1",
          "NoteDate": "2026-03-12T15:35:49.4272512+00:00",
          "UserLogon": "sample string 2"
        },
        {
          "NoteText": "sample string 1",
          "NoteDate": "2026-03-12T15:35:49.4272512+00:00",
          "UserLogon": "sample string 2"
        }
      ],
      "CustomFields": [
        {
          "ImportRowNumber": 1,
          "DcfLabel": "sample string 2",
          "DCFDataType": 1,
          "DcfTextValue": "sample string 3",
          "DcfNumberValue": 1.0,
          "DcfDateValue": "2026-03-12T15:35:49.4272512+00:00",
          "DcfValueRecordStatus": 0
        },
        {
          "ImportRowNumber": 1,
          "DcfLabel": "sample string 2",
          "DCFDataType": 1,
          "DcfTextValue": "sample string 3",
          "DcfNumberValue": 1.0,
          "DcfDateValue": "2026-03-12T15:35:49.4272512+00:00",
          "DcfValueRecordStatus": 0
        }
      ],
      "AttachmentsToAdd": [
        "sample string 1",
        "sample string 2"
      ],
      "AttachmentsToDelete": [
        "sample string 1",
        "sample string 2"
      ],
      "AttachmentNames": [
        {
          "Key": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Key": "sample string 1",
          "Value": "sample string 2"
        }
      ],
      "HasAttachment": true
    }
  ]
}



Response Information

Resource Description

WaspResultOfResults
NameDescriptionTypeAdditional information
Data

Results

None.

Messages

Collection of WtResult

None.

BatchNumber

integer

None.

HasError

boolean

None.

HasHttpError

boolean

None.

HasMessage

boolean

None.

HasSuccessWithMoreDataRemaining

boolean

None.

TotalRecordsLongCount

integer

None.

Response Formats

application/json

Sample:
{
  "Data": {
    "ResultList": [
      {
        "ResultCode": 0,
        "Message": "sample string 1",
        "HttpStatusCode": 200,
        "FieldName": "sample string 2"
      },
      {
        "ResultCode": 0,
        "Message": "sample string 1",
        "HttpStatusCode": 200,
        "FieldName": "sample string 2"
      }
    ],
    "SuccessfullResults": 1,
    "TotalResults": 2,
    "ErrorCount": 0
  },
  "Messages": [
    {
      "ResultCode": 0,
      "Message": "sample string 1",
      "HttpStatusCode": 200,
      "FieldName": "sample string 2"
    },
    {
      "ResultCode": 0,
      "Message": "sample string 1",
      "HttpStatusCode": 200,
      "FieldName": "sample string 2"
    }
  ],
  "BatchNumber": 1,
  "HasError": false,
  "HasHttpError": false,
  "HasMessage": true,
  "HasSuccessWithMoreDataRemaining": false,
  "TotalRecordsLongCount": 1
}