Documentation
API

Our API documentation provides a comprehensive guide to integrating and using our platform’s features efficiently.

Heads up — we’re upgrading to API version v2.3.1!

As part of our ongoing improvements to the Unduit platform, we began work in February 2025 on upgrading our API platform. we’re rolling out API v2.3.1, built on our next-gen tech stack to improve scalability, security, and dev experience.

During this transition, a few endpoints may be temporarily unavailable or in read-only mode.
No action is required for customers already integrated — all existing APIs will remain stable and fully supported.

Unduit APIs

Welcome to the Unduit API Collection

The Unduit API collection enables developers to seamlessly integrate their platforms with the Unduit system. Using these APIs, you can access and interact with data related to your company on the Unduit platform.

Purpose

This collection provides endpoints to:

  • Authenticate and manage access securely using tokens.
  • Fetch and manage records relevant to your company.
  • Support seamless integrations with high efficiency and security.

Key Features

  • Secure Access: Every request requires proper authentication, ensuring secure data handling.
  • Company-Specific Data: All APIs are scoped to provide data that is specific to your company in the Unduit system.
  • Ease of Use: Example requests and detailed documentation included for each endpoint.
  • Scalable Integration: Built to handle multiple integrations and high-volume requests efficiently.
  • Standardized Error Handling: Clear error codes are provided for better debugging and integration management.

Error Codes

The Unduit API follows standard HTTP status codes for responses:

CodeDescription
200Successful response.
400 Bad request (e.g., missing parameters).
401 Unauthorized (e.g., invalid or expired token).
404Not found (e.g., invalid endpoint or resource).
422Validation error (e.g., invalid input format).
500Server error (e.g., an unexpected issue).

Getting Started

  1. Import this Postman collection into your workspace.
  2. Set up an environment with the following variables:
    • base_urlhttps://dev-api.unduit.com/api/v1
    • auth_token: The Bearer Token obtained from the Login API.
  3. Follow the detailed instructions provided in each API folder to understand specific functionality.

Support

If you have any questions or need assistance, feel free to reach out to the Unduit team at [email protected].

Authentication

The Authentication folder contains endpoints required to securely access the Unduit API. These APIs help you manage your access tokens and ensure secure interactions with the platform.

Endpoints in this Folder

  1. Login API: Obtain an access token by authenticating with your email and password.
  2. Refresh Token API: Renew your access token when it is about to expire.

1. Login API

Purpose:

Authenticate a user and retrieve a JSON Web Token for subsequent API requests. This token is required to authorize every request to the Unduit APIs.

Endpoint:

POST https://dev-api.unduit.com/api/v1/auth/login

Request Structure

				
					{ "email": "your-email@example.com", "password": "your-password"}
				
			

Response

On successful login, you’ll receive a token valid for 4 hours.
Example Response:

				
					{
  "message": "Login successful",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiZW1haWwiOiJmYWlyd2F5aW5kZXBlbmRlbnRtb3J0Z2FnZWNvcnBvcmF0aW9uQHVuZHVpdC5jb20iLCJjb21wYW55X2lkIjozMTcsImlhdCI6MTczMzMxNTY4OCwiZXhwIjoxNzMzMzE5Mjg4fQ.RNon3WMwoBrz0C0HZxi3TDSt-LjIwL38Wnrue6yvCVw"
}
				
			

Error Handling

If the credentials are invalid, you’ll receive an error response:

				
					{
  "message": "Invalid email or password"
}
				
			

2. Refresh Token API

Purpose:

Renew an expired or soon-to-expire token to maintain uninterrupted access to the API.

Endpoint:

POST https://dev-api.unduit.com/api/v1/refresh-token

Request Structure:

  • Body: (Raw JSON)

Example Request

				
					{
  "refresh_token": "your_current_token"
}
				
			

Response

On success, you’ll receive a new token valid for the next 4 hours.
Example Response:

				
					{
  "message": "Token refreshed successfully",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiZW1haWwiOiJmYWlyd2F5aW5kZXBlbmRlbnRtb3J0Z2FnZWNvcnBvcmF0aW9uQHVuZHVpdC5jb20iLCJjb21wYW55X2lkIjozMTcsImlhdCI6MTczMzIxNTc4OCwiZXhwIjoxNzMzMzE5Mjg4fQ.RNon3WMwoBrz0C0HZxi3TDSt-LjIwL38Wnrue6yvCVw"
}
				
			

Error Handling:

If the token is invalid or expired, you’ll receive an error response

				
					{
  "message": "Invalid token"
}
				
			

Usage Notes

  • Always include the Bearer Token in the Authorization header for secured endpoints.
  • Tokens expire after 4 hours. Use the Refresh Token API to renew them before expiry.
  • Ensure secure storage of tokens on the client-side to prevent unauthorized access.

Example Request

				
					curl --location 'https://dev-api.unduit.com/api/v1/auth/login' \
--data-raw '{
  "email": "jane.smith@example.com",
  "password": "password"
}'
				
			

Example Response

				
					{
  "message": "Login successful",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiZW1haWwiOiJmYWlyd2F5aW5kZXBlbmRlbnRtb3J0Z2FnZWNvcnBvcmF0aW9uQHVuZHVpdC5jb20iLCJjb21wYW55X2lkIjozMTcsImlhdCI6MTczMzM5Mzk5NSwiZXhwIjoxNzMzMzk3NTk1fQ.qvWAgXO-AUr5-JurBC_cBMJ1y-SWJmkcTlihS-n5gjw"
}
				
			

Example Request

				
					curl --location 'https://dev-api.unduit.com/api/v1/refresh-token' \
--data '{
    "refresh_token": "<token>"
}'
				
			

Example Response

				
					{
  "message": "Token has been refreshed successfully.",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MiwiZW1haWwiOiJmYWlyd2F5aW5kZXBlbmRlbnRtb3J0Z2FnZWNvcnBvcmF0aW9uQHVuZHVpdC5jb20iLCJjb21wYW55X2lkIjozMTcsImlhdCI6MTczMzM5Mzk5NSwiZXhwIjoxNzMzMzk3NTk1fQ.qvWAgXO-AUr5-JurBC_cBMJ1y-SWJmkcTlihS-n5gjw"
}
				
			

Manage

The Manage folder provides APIs to manage users and assets associated with a company on the Unduit platform. These APIs enable developers to retrieve lists of users and assets, view detailed information, and filter assets based on specific criteria. Below is a detailed breakdown of the APIs within this folder:

API Endpoints

1. Users List

  1. Endpoint: https://dev-api.unduit.com/api/v1/users
  2. Description: Retrieves a paginated list of users associated with the company. Each page contains up to 10 records by default. Developers can apply filters, such as by email, to narrow down the results. Each user object includes an AssignedAssets array, which contains all assets assigned to the user. If no asset is assigned, this array will be empty.

Example Request:

Method: GET

  1. Get all users (default behaviour)
  2. Filter by email:

Query Parameters:

ParameterTypeDescription
pageNumber Specifies the page number for pagination. Default is 1.
emailString(Optional) Filters users by email address. Returns matching users only.

Example Response

				
					{
    "totalUsers": 465,
    "totalPages": 47,
    "currentPage": 1,
    "users": [
        {
            "FirstName": "John",
            "LastName": "Doe",
            "LocationName": null,
            "PhoneCountryCode": "US",
            "ContactInfo": "1234567890",
            "Email": "john.doe@example.com",
            "Country": "US",
            "State": "CA",
            "City": "Los Angeles",
            "Zip": "90001",
            "LocationType": "Remote Employee",
            "Address_1": "1234 Elm Street",
            "Address_2": "",
            "AssignedAssets": []
        },
        {
            "FirstName": "Jane",
            "LastName": "Smith",
            "LocationName": null,
            "PhoneCountryCode": "US",
            "ContactInfo": "0987654321",
            "Email": "jane.smith@example.com",
            "Country": "US",
            "State": "NY",
            "City": "New York",
            "Zip": "10001",
            "LocationType": "Remote Employee",
            "Address_1": "5678 Oak Avenue",
            "Address_2": "Unit 202",
            "AssignedAssets": [
                {
                    "assetId": "LEN-0000-ABCD1234",
                    "modelName": "Demo Laptop",
                    "modelNumber": "DL-1234",
                    "productType": "Laptop",
                    "purchaseDate": "2024-10-31",
                    "serialNumber": "SN-ABCD1234",
                    "imei": "",
                    "imei2": "",
                    "sku": "",
                    "assetStatus": "In Use",
                }
            ]
        }
    ]
}
				
			

2. Asset List

Method: GET

Endpoint: https://dev-api-v1.unduit.com/api/v1/assets

Description: Retrieves a paginated list of all assets associated with the company. Each page contains up to 10 records by default. Developers can apply filters such as serialNumber and assetId to narrow down the results. Each asset object includes an AssignedUser object, which contains the name and email of the user to whom the device is assigned. If the device is unassigned, the AssignedUser object will be null.

Example Request:

Method: GET

  • Get all assets (default behaviour):
  • Filter by serial number:
  • Filter by asset ID:
    • https://dev-api-v1.unduit.com/api/v1/assets?page=1&assetId=101
    • Retrieves assets with the specified asset ID.
  • Filter by both serial number and asset ID:
    • https://dev-api-v1.unduit.com/api/v1/assets?page=1&serialNumber=MBP2022XYZ&assetId=101
    • Retrieves assets that match both the specified serial number and asset ID.

Query Parameters:

ParameterTypeDescription
pageNumber Specifies the page number for pagination. Default is 1.
serialNumberString(Optional) Filters assets by serial number.
assetId String(Optional) Filters assets by ID.

Example Response

				
					{
    "currentPage": 1,
    "totalPages": 53,
    "totalItems": 523,
    "assets": [
        {
            "assetId": "DEMO-ASSET-123",
            "modelName": "Demo Device",
            "modelNumber": "Model X",
            "productType": "Laptop",
            "purchaseDate": "2024-01-01",
            "serialNumber": "SN123456",
            "imei": "",
            "imei2": "",
            "sku": "SKU123",
            "assetStatus": "In Use",
            "AssignedUser": {
                "firstname": "John",
                "lastname": "Doe",
                "username": "John Doe",
                "email": "john.doe@example.com"
            }
        },
        {
            "assetId": "DEMO-ASSET-456",
            "modelName": "Demo Device",
            "modelNumber": "Model Y",
            "productType": "Tablet",
            "purchaseDate": "2024-02-01",
            "serialNumber": "SN654321",
            "imei": "",
            "imei2": "",
            "sku": "SKU456",
            "assetStatus": "In Use",
            "AssignedUser": {
                "firstname": "Jane",
                "lastname": "Smith",
                "username": "Jane Smith",
                "email": "jane.smith@example.com"
            }
        }
    ]
}
				
			

Key Notes

  • These APIs allow developers to efficiently manage user and asset data for their company on the Unduit platform.
  • Be mindful of user and asset identifiers when making requests to ensure accurate results.
  • Always secure your API calls with a valid token as described in the Authentication section.

GET Users List

Example Request

				
					curl --location 'https://dev-api.unduit.com/api/v1/users?page=1' \
--header 'Authorization: Bearer <token>'
				
			

Example Response

				
					{
    "totalUsers": 465,
    "totalPages": 47,
    "currentPage": 1,
    "users": [
        {
            "FirstName": "John",
            "LastName": "Doe",
            "LocationName": null,
            "PhoneCountryCode": "US",
            "ContactInfo": "1234567890",
            "Email": "john.doe@example.com",
            "Country": "US",
            "State": "CA",
            "City": "Los Angeles",
            "Zip": "90001",
            "LocationType": "Remote Employee",
            "Address_1": "1234 Elm Street",
            "Address_2": "",
            "AssignedAssets": []
        },
        {
            "FirstName": "Jane",
            "LastName": "Smith",
            "LocationName": null,
            "PhoneCountryCode": "US",
            "ContactInfo": "0987654321",
            "Email": "jane.smith@example.com",
            "Country": "US",
            "State": "NY",
            "City": "New York",
            "Zip": "10001",
            "LocationType": "Remote Employee",
            "Address_1": "5678 Oak Avenue",
            "Address_2": "Unit 202",
            "AssignedAssets": [
                {
                    "assetId": "LEN-0000-ABCD1234",
                    "modelName": "Demo Laptop",
                    "modelNumber": "DL-1234",
                    "productType": "Laptop",
                    "purchaseDate": "2024-10-31",
                    "serialNumber": "SN-ABCD1234",
                    "imei": "",
                    "imei2": "",
                    "sku": "",
                    "assetStatus": "In Use",
                }
            ]
        }
    ]
}

				
			

GETAssets List

Example Request

				
					curl --location 'https://dev-api.unduit.com/api/v1/assets?page=1' \
--header 'Authorization: Bearer <token>'
				
			

Example Response

				
					{
  "currentPage": 1,
  "totalPages": 53,
  "totalItems": 523,
  "assets": [
    {
      "assetId": "DEMO-ASSET-123",
      "modelName": "Demo Device",
      "modelNumber": "Model X",
      "productType": "Laptop",
      "purchaseDate": "2024-01-01",
      "serialNumber": "SN123456",
      "imei": "",
      "imei2": "",
      "sku": "SKU123",
      "assetStatus": "In Use",
      "AssignedUser": {
        "firstname": "John",
        "lastname": "Doe",
        "username": "John Doe",
        "email": "john.doe@example.com"
      }
    },
    {
      "assetId": "DEMO-ASSET-456",
      "modelName": "Demo Device",
      "modelNumber": "Model Y",
      "productType": "Tablet",
      "purchaseDate": "2024-02-01",
      "serialNumber": "SN654321",
      "imei": "",
      "imei2": "",
      "sku": "SKU456",
      "assetStatus": "In Use",
      "AssignedUser": {
        "firstname": "Jane",
        "lastname": "Smith",
        "username": "Jane Smith",
        "email": "jane.smith@example.com"
      }
    }
  ]
}
				
			

Recover

The Recover folder provides APIs to manage IT asset recovery workflows on the Unduit platform. These APIs allow users to create recovery orders, retrieve lists of users participating in campaigns, view asset and order information, monitor recovery statuses, and access shipment tracking details. The APIs offer full visibility into the recovery process, helping organizations efficiently track and manage returning assets without modifying asset records.

GETCampaign List

1. Recover Campaigns List API

  1. Endpoint: GET https://dev-api.unduit.com/api/v1/recover/campaigns
  2. Description: Retrieves a paginated list of Recover Campaigns associated with the company. By default, the response includes up to 10 campaigns per page. The API also supports filtering options to narrow down the results as needed.

Query Parameters:

Method: GET

Endpoint: https://dev-api.unduit.com/api/v1/recover/campaigns

Query Parameters:

ParameterTypeDescriptionExample
pageNumberPage number for pagination1
limitNumber(Optional) Number of records per page (default is 10)10

Example Request

				
					curl --location 'https://dev-api.unduit.com/api/v1/recover/campaigns' \
--header 'Authorization: Bearer <token>'
				
			

Example Response

				
					{
  "total_records": 10,
  "total_pages": 1,
  "currentPage": 1,
  "campaigns": [
    {
      "campaign_number": "17458430682853",
      "compain_title": "Rolling Campaign for Desktops",
      "start_date": "Apr 28th, 2025",
      "country": {
        "name": "France",
        "code": "FR"
      },
      "total_device_count": 120,
      "total_employee": 57
    },
    {
      "campaign_number": "17448093142852",
      "compain_title": "Rolling Campaign for Network Devices",
      "start_date": "Apr 11th, 2025",
      "country": {
        "name": "India",
        "code": "IN"
      },
      "total_device_count": 13,
      "total_employee": 5
    },
    {
      "campaign_number": "17448094992831",
      "compain_title": "Rolling Campaign for MacBooks",
      "start_date": "Feb 5th, 2025",
      "country": {
        "name": "India",
        "code": "IN"
      },
      "total_device_count": 14,
      "total_employee": 6
    },
    {
      "campaign_number": "17448094992830",
      "compain_title": "Rolling Campaign for SmartPhones ",
      "start_date": "Feb 5th, 2025",
      "country": {
        "name": "United States",
        "code": "US"
      },
      "total_device_count": 16,
      "total_employee": 9
    },
    {
      "campaign_number": "17448094992829",
      "compain_title": "UK Cmapaign",
      "start_date": "Feb 5th, 2025",
      "country": {
        "name": "United Kingdom",
        "code": "GB"
      },
      "total_device_count": 7,
      "total_employee": 6
    },
    {
      "campaign_number": "17448094992654",
      "compain_title": "Rolling Campaign for Printer",
      "start_date": "Oct 25th, 2023",
      "country": {
        "name": "United States",
        "code": "US"
      },
      "total_device_count": 20,
      "total_employee": 5
    },
    {
      "campaign_number": "17448094992450",
      "compain_title": "Rolling Campaign",
      "start_date": "Jan 27th, 2023",
      "country": {
        "name": "United States",
        "code": "US"
      },
      "total_device_count": 8017,
      "total_employee": 3422
    },
    {
      "campaign_number": "17448094992391",
      "compain_title": "Equipment Return - Corp",
      "start_date": "Dec 21st, 2022",
      "country": {
        "name": "United States",
        "code": "US"
      },
      "total_device_count": 64,
      "total_employee": 25
    },
    {
      "campaign_number": "17448094992384",
      "compain_title": "Wholesale",
      "start_date": "Dec 12th, 2022",
      "country": {
        "name": "United States",
        "code": "US"
      },
      "total_device_count": 39,
      "total_employee": 23
    },
    {
      "campaign_number": "17448094992365",
      "compain_title": "Corp RIF - Dec 2022",
      "start_date": "Jan 30th, 2023",
      "country": {
        "name": "United States",
        "code": "US"
      },
      "total_device_count": 131,
      "total_employee": 57
    }
  ]
}
				
			

Key Notes for Recover Campaigns List API

  • This API allows developers to retrieve and manage Recover Campaign data associated with their company on the Unduit platform.
  • Campaign data includes details such as campaign number, title, start date, country, total devices, and total employees.
  • Results are paginated by default, with 10 campaigns per page unless otherwise specified via query parameters.
  • The response structure includes country information (name and ISO code) to help with region-specific filtering or analytics.
  • The assignedAssets array is present in associated employee’s data, indicating which devices are tied to specific employees (if applicable).
  • Ensure your API calls are secured using a valid Bearer token, as outlined in the Authentication section.
  • Use the page query parameter to navigate through multiple pages of campaign records.
  • Be consistent with date formatting, and consider converting human-readable dates to a machine-parsable format if needed on the client side.
  • Always validate the campaign number and associated identifiers when integrating with other modules or systems to maintain data integrity

GETCampaign Details

Description:

This API retrieves detailed information about a specific Recover Campaign, including:

  • Campaign metadata (title, country, start date)
  • Return address information
  • A list of employee associated with the campaign
  • Assets assigned to each employee
  • Tracking information for each employee

Path Parameters

ParameterTypeRequiredDescription
campaign_numberString✅ YesUnique identifier of the recover campaign

Query Parameters (for pagination)

ParameterTypeRequiredDefaultDescription
pageNumber❌ No1 Page number to retrieve (for paginated employee results)
limit Number❌ No10Number of employees to return per page

Example Request

				
					curl --location 'https://dev-api.unduit.com/api/v1/recover/employees/details/17449821332893'
				
			

Example Response

				
					{
    "campaign_number": "17458430682853",
    "title": "Rolling Campaign for Desktops",
    "country": {
        "name": "France",
        "code": "FR"
    },
    "start_date": "Apr 28th, 2025",
    "helpdesk_email": null,
    "return_address": [
        {
            "name": "John Doe",
            "title": "Rolling Campaign for Desktops",
            "company": "xxxxx",
            "country": {
                "name": "France",
                "code": "FR"
            },
            "state": null,
            "city": "xxxx",
            "zip_code": "xxxx",
            "address": "xxxxx",
            "phone": "xxxxxxxx",
            "email": "xxxxxxxx",
            "packages": [
                {
                    "device": "Laptop",
                    "qty": 1,
                    "incomingWeight": 10,
                    "length": 16,
                    "width": 12,
                    "height": 4
                },
                {
                    "device": "Monitor 32\"",
                    "qty": 1,
                    "incomingWeight": 30,
                    "length": 30,
                    "width": 30,
                    "height": 12
                }
            ]
        }
    ],
    "employees": [
        {
            "recovery_id": "174584241251583",
            "email": "xxxxxx",
            "firstname": "John",
            "lastname": "Doe",
            "phone_country": "FR",
            "phone_number": "xxxxxxx",
            "country": {
                "name": "France",
                "code": "FR"
            },
            "state": {
                "name": "Paris",
                "code": "PR",
                "country_code": "FR"
            },
            "city": "paris",
            "zip": "xxxx",
            "address_line_1": "xxxxxxxx",
            "address_line_2": "xxxxxxxxx",
            "items": [
                {
                    "item": "Imogene Ortega",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "Dacey Baldwin",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "Hilary Farley",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "Martin Maldonado",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "Mercedes Gates",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                }
            ],
            "status": "Order Received",
            "tracking": [
                {
                    "carrier_name": "ups",
                    "forward_shipping": {
                        "tracking_number": "xxxxxxxx",
                        "tracking_link": "null"
                    },
                    "return_shipping": {
                        "return_tracking_number": "xxxxxxxxxx",
                        "return_tracking_link": "https://wwwapps.ups.com/WebTracking/processRequest?HTMLVersion=5.0&Requester=NES&loc=en_US&tracknum=xxxxxxxx"
                    }
                },
                {
                    "carrier_name": "ups",
                    "forward_shipping": {
                        "tracking_number": "",
                        "tracking_link": null
                    },
                    "return_shipping": {
                        "return_tracking_number": "xxxxxxxxx",
                        "return_tracking_link": "https://wwwapps.ups.com/WebTracking/processRequest?HTMLVersion=5.0&Requester=NES&loc=en_US&tracknum=xxxxxx"
                    }
                },
            ],
            "last_updated": "Apr 28th, 2025"
        },
        {
            "recovery_id": "174590984551584",
            "email": "dihip3@mailinator.com",
            "firstname": "John",
            "lastname": "Dec",
            "phone_country": "FR",
            "phone_number": "xxxx",
            "country": {
                "name": "France",
                "code": "FR"
            },
            "state": {
                "name": "Paris",
                "code": "PR",
                "country_code": "FR"
            },
            "city": "paris",
            "zip": "xxxxx",
            "address_line_1": "xxxxxxx",
            "address_line_2": null,
            "items": [
                {
                    "item": "123",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "123",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "123",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "2134",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                },
                {
                    "item": "2314",
                    "item_serial_no": null,
                    "item_asset_id": null,
                    "item_imei": null,
                    "custom_field_1": null,
                    "custom_field_2": null
                }
            ],
            "status": "Order Received",
            "tracking": [],
            "last_updated": "Apr 29th, 2025"
        },
    
    ],
    "total_employees": 2,
    "total_pages": 1,
    "current_page": 1
}
				
			

POSTAdd Employee

This API is used to add a new employee to an existing Recover Campaign, along with their return address and assigned asset details. The employee will be associated with the specified campaign and will be expected to return the listed items.

Request Body

FieldTypeRequiredDescription
campaign_numberString✅ YesUnique identifier of the recover campaign
emailString✅ YesEmployee's email address
firstnameString✅ YesFirst name of the employee
lastnameString✅ YesLast name of the employee
phoneString✅ YesEmployee's phone number (with country code if international)
address_line_1String✅ YesPrimary address line
address_line_2String❌ NoSecondary address line
cityString✅ YesCity of the employee’s address
stateString✅ YesState or province code
zipString✅ YesZIP or postal code
countryString✅ YesISO 2-letter country code (e.g., US, IN, GB)
shipping_optionString✅ YesDefines how the recovery will proceed. Options:
• create_prepaid_shipping_label • send_recovery_kit
callback_urlString⚠️ Conditionally RequiredRequired only if shipping_option is create_prepaid_shipping_label.
The shipping label will be sent to the provided callback URL. Not required for send_recovery_kit.
itemsArray✅ YesList of items/assets assigned to the employee (at least one item is required)

⚠️ Max limit: You can assign a maximum of 5 items per employee.

🔁 Items Object (each item in items array)

FieldTypeRequiredDescription
itemString✅ YesName/label of the asset
item_serial_noString❌ NoSerial number of the asset
item_asset_idString❌ NoInternal asset ID
item_imeiString❌ NoIMEI number (for mobile devices)
custom_field_1String❌ NoCustom metadata field 1
custom_field_2String❌ NoCustom metadata field 2

Example Request

				
					curl --location --request GET 'https://dev-api.unduit.com/api/v1/recover/user/add' \
--data-raw '{
  "campaign_number": 17449821332893,
  "email": "john.doe@company.com",
  "firstname": "John",
  "lastname": "Doe",
  "phone": "1632960123",
  "address_line_1": "123 Business Park",
  "address_line_2": "Suite 200",
  "city": "London",
  "state": "LDN",
  "zip": "10001",
  "country": "GB",
  "items": [
    {
      "item": "MacBook Pro 16\"",
      "item_serial_no": "C02XL0XXXXX1",
      "item_asset_id": "IT-APPLE-001",
      "item_imei": "",
      "custom_field_1": "2023-issue",
      "custom_field_2": "Finance Dept"
    },
    {
      "item": "iPhone 15 Pro",
      "item_serial_no": "DNXXXXXX1JKL",
      "item_asset_id": "IT-APPLE-002",
      "item_imei": "35693803564XXXX",
      "custom_field_1": "Mobile Plan: Corp",
      "custom_field_2": "Manager Approval"
    }
  ]
}'
				
			

Example Response

				
					{
  "success": true,
  "message": "Employee added successfully"
}
				
			
Scroll to Top

🍪 Our website uses cookies

Our website use cookies. By continuing, we assume your permission to deploy cookies as detailed in our Privacy Policy.