Remote Asset Recovery - Bulk Upload

Add multiple employees to a recovery campaign in one request.

POST
/api/v1/recover/campaign/employee/bulk-add

Description

The Bulk Upload API enables customers to add multiple employees (up to 100) to a recovery campaign in one request. This simplifies large-scale data entry by accepting employee objects under a single campaign. A successful upload returns unique recovery codes for each entry.

Request

Headers

HeaderValueRequired
AuthorizationBearer <token>Yes
Content-Typeapplication/jsonYes

Request Body

ParameterTypeRequiredDescription
campaign_numbernumberYesUnique identifier of the recovery campaign
usersarrayYesArray of employee objects (1-100 employees recommended)

Employee Object Fields

ParameterTypeRequiredDescription
users[].campaign_numbernumberYesUnique identifier of the recovery campaign
users[].firstnamestringYesFirst name of the employee
users[].lastnamestringYesLast name of the employee
users[].send_notifications_tostringNoWhere recovery email and SMS updates are sent: work or personal. Defaults to work
users[].work_emailstringConditionalEmployee work email address. Required when send_notifications_to is work; optional when personal
users[].personal_emailstringConditionalEmployee personal email address. Required when send_notifications_to is personal; optional when work
users[].work_phonestringConditionalWork phone number. Required when send_notifications_to is work; optional when personal
users[].personal_phonestringConditionalPersonal phone number (digits; without country code). Required when send_notifications_to is personal; optional when work. Dial country is taken from address country
users[].address_line_1stringYesPrimary address line
users[].address_line_2stringNoSecondary address line
users[].citystringYesCity of the employee address
users[].statestringConditionalState name. Required when is_state_required is true for country. See GET /api/v1/countries.
users[].zipstringYesZIP or postal code
users[].countrystringYesISO 2-letter country code
users[].recovery_reasonnumberNoRecovery Reason for the user. 1 = Refresh, 2 = Break-Fix, 3 = Offboarding, 4 = Other
users[].recovery_reason_notestringNoRecovery reason note is required only if recovery_reason is 4 (Other)
users[].departmentstringNoDepartment name (not ID). Matched case-insensitively for the company; created if missing (minimum 2 characters when creating). Stored as department_id on the recovery employee

Item Object Fields

ParameterTypeRequiredDescription
users[].items[].itemstringYesDevice/item name
users[].items[].item_serial_nostringNoSerial number
users[].items[].item_asset_idstringNoAsset ID
users[].items[].item_imeistringNoIMEI number
users[].items[].custom_field_1stringNoCustom field 1
users[].items[].custom_field_2stringNoCustom field 2
users[].items[].is_legal_holdnumberNoSend 1 to mark device for legal hold

Response

Response Fields

FieldTypeDescription
recovery_codesarrayGenerated recovery codes for each uploaded user

Notes

  • The maximum recommended batch size is 100 employees per request to ensure optimal performance and reliability.
  • Each employee receives a unique recovery code that can be used to track their individual recovery status.
  • Required employee fields include firstname, lastname, city, zip, and country. work_email and work_phone are required when send_notifications_to is work (or omitted); optional when personal. state is required only when GET /api/v1/countries marks the selected country with is_state_required: true. zip is required for all countries.
  • personal_email and personal_phone are required when send_notifications_to is personal; optional when preference is work. Personal phone country is stored from address country. send_notifications_to is optional (defaults to work) and accepts work or personal, and applies to both email and SMS.
  • Optional department on each user is a department name (not ID). The API finds an active department for the company by case-insensitive name, or creates one (name must be at least 2 characters), then stores department_id on the recovery employee.
  • If any employee in the batch has validation errors, the entire request may fail. Ensure all data is properly formatted before submission.
  • Recovery codes are generated automatically and returned in the response for record-keeping and tracking purposes.

Related Endpoints

Did this page help you?