List all employees
Changed onReturns a list of employees.
NOTE: QuickBooks Desktop does not support pagination for employees; hence, there is no cursor parameter. Users typically have few employees.
Request
- Base URLhttps://api.conductor.is/v1
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Filter for specific employees by their QuickBooks-assigned unique identifier(s).
IMPORTANT: If you include this parameter, QuickBooks will ignore all other query parameters for this request.
NOTE: If any of the values you specify in this parameter are not found, the request will return an error.
[ "80000001-1234567890" ]
Filter for specific employees by their name(s), case-insensitive. Like id, name is a unique identifier for an employee.
IMPORTANT: If you include this parameter, QuickBooks will ignore all other query parameters for this request.
NOTE: If any of the values you specify in this parameter are not found, the request will return an error.
[ "John Doe" ]
The maximum number of objects to return.
IMPORTANT: QuickBooks Desktop does not support cursor-based pagination for employees, so this parameter only limits the response size. To page through employees by name, see Paging by name.
When this parameter is omitted, the endpoint returns all employees without limit, unlike paginated endpoints which default to 150 records.
Filter for employees that are active, inactive, or both.
Filter for employees updated on or after this date/time. Accepts the following ISO 8601 formats:
- date-only (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the start of the specified day in the local timezone of the end-user's computer (e.g., 2025-01-01 → 2025-01-01T00:00:00).
- datetime without timezone (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.
- datetime with timezone (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
Filter for employees updated on or before this date/time. Accepts the following ISO 8601 formats:
- date-only (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the end of the specified day in the local timezone of the end-user's computer (e.g., 2025-01-01 → 2025-01-01T23:59:59).
- datetime without timezone (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.
- datetime with timezone (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
Filter for employees whose name contains this substring, case-insensitive.
NOTE: If you use this parameter, you cannot also use nameStartsWith or nameEndsWith.
Filter for employees whose name starts with this substring, case-insensitive.
NOTE: If you use this parameter, you cannot also use nameContains or nameEndsWith.
Filter for employees whose name ends with this substring, case-insensitive.
NOTE: If you use this parameter, you cannot also use nameContains or nameStartsWith.
Filter for employees whose name sorts at or after this value (inclusive), compared case-insensitively in QuickBooks' sort order: punctuation first, then digits, then letters.
When you set nameFrom or nameTo, QuickBooks returns employees sorted by name in that order; without either, the order is not guaranteed. To page through employees by name, see Paging by name.
NOTE: If you use this parameter, you cannot also use nameContains, nameStartsWith, or nameEndsWith.
Filter for employees whose name sorts at or before this value (inclusive), compared case-insensitively in QuickBooks' sort order: punctuation first, then digits, then letters. If you also set nameFrom, it must not sort after this value, or QuickBooks returns an error.
When you set nameFrom or nameTo, QuickBooks returns employees sorted by name in that order; without either, the order is not guaranteed.
NOTE: If you use this parameter, you cannot also use nameContains, nameStartsWith, or nameEndsWith.
Headers
The ID of the End-User to receive this request.
Response
Returns a list of employees.
Example response
{
"objectType": "list",
"url": "/v1/quickbooks-desktop/employees",
"data": [
{
"id": "80000001-1234567890",
"objectType": "qbd_employee",
"createdAt": "2025-01-01T12:34:56+00:00",
"updatedAt": "2025-02-01T12:34:56+00:00",
"revisionNumber": "1721172183",
"name": "John Doe",
"isActive": true,
"salutation": "Dr.",
"firstName": "John",
"middleName": "A.",
"lastName": "Doe",
"jobTitle": "Purchasing Manager",
"supervisor": {
"id": "80000001-1234567890",
"fullName": "John Doe"
},
"department": "Sales",
"description": "This employee is a key employee.",
"targetBonus": "10000.00",
"address": {
"line1": "Conductor Labs Inc.",
"line2": "540 Market St.",
"line3": "Suite 100",
"city": "San Francisco",
"state": "CA",
"postalCode": "94110",
"country": "United States"
},
"printAs": "John Doe",
"phone": "+1-555-123-4567",
"mobile": "+1-555-555-1212",
"pager": "+1-555-555-1212",
"pagerPin": "1234",
"alternatePhone": "+1-555-987-6543",
"fax": "+1-555-555-1212",
"ssn": "123-45-6789",
"email": "employee@example.com",
"customContactFields": [
{
"name": "Main Phone",
"value": "555-123-4567"
}
],
"emergencyContact": {
"primaryContact": {
"name": "Main Phone",
"value": "555-123-4567",
"relation": "spouse"
},
"secondaryContact": {
"name": "Main Phone",
"value": "555-123-4567",
"relation": "spouse"
}
},
"employeeType": "regular",
"employmentStatus": "full_time",
"overtimeExemptStatus": "exempt",
"keyEmployeeStatus": "key_employee",
"gender": "male",
"hiredDate": "2024-01-01",
"originalHireDate": "2024-01-01",
"adjustedServiceDate": "2024-01-01",
"terminationDate": "2024-01-01",
"birthDate": "1990-01-01",
"usCitizenshipStatus": "citizen",
"ethnicity": "asian",
"disabilityStatus": "disabled",
"disabilityDescription": "Cerebral Palsy",
"i9OnFileStatus": "on_file",
"workAuthorizationExpirationDate": "2024-01-01",
"usVeteranStatus": "veteran",
"militaryStatus": "active",
"accountNumber": "1010",
"note": "This employee is a key employee.",
"additionalNotes": [
{
"id": 1,
"date": "2024-01-01",
"note": "This is a fun note."
}
],
"billingRate": {
"id": "80000001-1234567890",
"fullName": "Standard Rate"
},
"employeePayroll": {
"payPeriod": "weekly",
"class": {
"id": "80000001-1234567890",
"fullName": "Payroll"
},
"earnings": [
{
"payrollWageItem": {
"id": "80000001-1234567890",
"fullName": "Regular Pay"
},
"rate": "10.00",
"ratePercent": "10.5"
}
],
"useTimeDataToCreatePaychecks": "uses_time_data",
"sickHours": {
"hoursAvailable": "PT8H30M",
"accrualPeriod": "accrues_per_paycheck",
"hoursAccruedPerPeriod": "PT8H0M",
"maximumHours": "PT80H0M",
"hoursUsed": "PT2H45M",
"accrualStartDate": "2024-01-01"
},
"vacationHours": {
"hoursAvailable": "PT8H30M",
"accrualPeriod": "accrues_per_paycheck",
"hoursAccruedPerPeriod": "PT8H0M",
"maximumHours": "PT80H0M",
"hoursUsed": "PT2H45M",
"accrualStartDate": "2024-01-01"
}
},
"externalId": "12345678-abcd-1234-abcd-1234567890ab",
"customFields": [
{
"ownerId": "0",
"name": "Customer Rating",
"type": "string_1024_type",
"value": "Premium"
}
]
}
]
}Changes
- breaking
for the
queryrequest parameterstatus, default valueactivewas added
- breaking
- breaking
for the
queryrequest parameterstatus, default valueactivewas removed
- breaking