Retrieve an employee

Changed on

Retrieves an employee by ID.

IMPORTANT: If you need to fetch multiple specific employees by ID, use the list endpoint instead with the ids parameter. It accepts an array of IDs so you can batch the request into a single call, which is significantly faster.

get/quickbooks-desktop/employees/{id}

Request

Path parameters

idstring required

The QuickBooks-assigned unique identifier of the employee to retrieve.

Example:80000001-1234567890

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

Response

Returns the specified employee.

idstring required

The unique identifier assigned by QuickBooks to this employee. This ID is unique across all employees but not across different QuickBooks object types.

objectType'qbd_employee' required

The type of object. This value is always "qbd_employee".

createdAtstring required

The date and time when this employee was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

updatedAtstring required

The date and time when this employee was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.

revisionNumberstring required

The current QuickBooks-assigned revision number of this employee object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber to ensure you're working with the latest data; otherwise, the update will return an error.

namestring required

The case-insensitive unique name of this employee, unique across all employees. A concatenation of the employee's firstName, middleName, and lastName fields.

NOTE: Employees do not have a fullName field because they are not hierarchical objects, which is why name is unique for them but not for objects that have parents.

isActiveboolean required

Indicates whether this employee is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to true.

salutationstring nullable required

The employee's formal salutation title that precedes their name, such as "Mr.", "Ms.", or "Dr.".

firstNamestring nullable required

The employee's first name.

middleNamestring nullable required

The employee's middle name.

lastNamestring nullable required

The employee's last name.

jobTitlestring nullable required

The employee's job title.

departmentstring nullable required

The employee's department. Found in the "employment job details" section of the employee's record in QuickBooks.

descriptionstring nullable required

A description of this employee. Found in the "employment job details" section of the employee's record in QuickBooks.

targetBonusstring nullable required

The target bonus for this employee, represented as a decimal string. Found in the "employment job details" section of the employee's record in QuickBooks.

printAsstring nullable required

The name to use when printing this employee from QuickBooks. By default, this is the same as the name field.

phonestring nullable required

The employee's primary telephone number.

mobilestring nullable required

The employee's mobile phone number.

pagerstring nullable required

The employee's pager number.

pagerPinstring nullable required

The employee's pager PIN.

alternatePhonestring nullable required

The employee's alternate telephone number.

faxstring nullable required

The employee's fax number.

ssnstring nullable required

The employee's Social Security Number. The value can be with or without dashes.

NOTE: This field cannot be changed after the employee is created.

emailstring nullable required

The employee's email address.

employeeType'officer' | 'owner' | 'regular' | 'statutory' nullable required

The employee type. This affects payroll taxes - a statutory employee is defined as an employee by statute. Note that owners/partners are typically on the "Other Names" list in QuickBooks, but if listed as an employee their type will be owner.

employmentStatus'full_time' | 'part_time' nullable required

Indicates whether this employee is a part-time or full-time employee.

overtimeExemptStatus'exempt' | 'non_exempt' nullable required

Indicates whether this employee is exempt from overtime pay. This classification is based on U.S. labor laws (FLSA).

keyEmployeeStatus'key_employee' | 'non_key_employee' nullable required

Indicates whether this employee is a key employee.

gender'male' | 'female' nullable required

This employee's gender.

hiredDatestring date nullable required

The date this employee was hired, in ISO 8601 format (YYYY-MM-DD).

originalHireDatestring date nullable required

The original hire date for this employee, in ISO 8601 format (YYYY-MM-DD).

adjustedServiceDatestring date nullable required

The adjusted service date for this employee, in ISO 8601 format (YYYY-MM-DD). This date accounts for previous employment periods or leaves that affect seniority.

terminationDatestring date nullable required

The date this employee's employment ended with the company, in ISO 8601 format (YYYY-MM-DD). This is also known as the released date or separation date.

birthDatestring date nullable required

This employee's date of birth, in ISO 8601 format (YYYY-MM-DD).

usCitizenshipStatus'citizen' | 'non_citizen' nullable required

Indicates whether this employee is a U.S. citizen.

ethnicity'american_indian' | 'asian' | 'black' | 'hawaiian' | 'hispanic' | 'white' | 'two_or_more_races' nullable required

This employee's ethnicity.

disabilityStatus'disabled' | 'non_disabled' nullable required

Indicates whether this employee is disabled.

disabilityDescriptionstring nullable required

A description of this employee's disability.

i9OnFileStatus'on_file' | 'not_on_file' nullable required

Indicates whether this employee's I-9 is on file.

workAuthorizationExpirationDatestring date nullable required

The date this employee's work authorization expires, in ISO 8601 format (YYYY-MM-DD).

usVeteranStatus'veteran' | 'non_veteran' nullable required

Indicates whether this employee is a U.S. veteran.

militaryStatus'active' | 'reserve' nullable required

This employee's military status if they are a U.S. veteran.

accountNumberstring nullable required

The employee's account number, which appears in the QuickBooks chart of accounts, reports, and graphs.

Note that if the "Use Account Numbers" preference is turned off in QuickBooks, the account number may not be visible in the user interface, but it can still be set and retrieved through the API.

notestring nullable required

A note or comment about this employee.

externalIdstring nullable required

A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system. This field is immutable and can only be set during object creation.

Example response

{
  "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

    • warning

      for the path request parameter id, the maxLength was set to 36

    • breaking

      response property accountNumber list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property additionalNotes/items/date list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property adjustedServiceDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property alternatePhone list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property birthDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property customContactFields/items/value list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property department list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property description list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property disabilityDescription list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property disabilityStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property email list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property employeeType list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property employmentStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property ethnicity list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property externalId list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property fax list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property firstName list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property gender list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property hiredDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property i9OnFileStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property jobTitle list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property keyEmployeeStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property lastName list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property middleName list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property militaryStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property mobile list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property note list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property originalHireDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property overtimeExemptStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property pager list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property pagerPin list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property phone list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property printAs list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property salutation list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property ssn list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property targetBonus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property terminationDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property usCitizenshipStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property usVeteranStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property workAuthorizationExpirationDate list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      the response's property type changed from object null to no type for status

    • breaking

      the response's property type changed from object null to no type for status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • info

      added subschema #2 to the response property anyOf list for the response status

    • info

      added subschema #2 to the response property anyOf list for the response status

    • info

      added subschema #2 to the response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the response property anyOf list for the response status

    • info

      removed the active enum value from the response property for the response status

    • info

      removed the american_indian enum value from the response property for the response status

    • info

      removed the asian enum value from the response property for the response status

    • info

      removed the black enum value from the response property for the response status

    • info

      removed the citizen enum value from the response property for the response status

    • info

      removed the disabled enum value from the response property for the response status

    • info

      removed the exempt enum value from the response property for the response status

    • info

      removed the female enum value from the response property for the response status

    • info

      removed the full_time enum value from the response property for the response status

    • info

      removed the hawaiian enum value from the response property for the response status

    • info

      removed the hispanic enum value from the response property for the response status

    • info

      removed the key_employee enum value from the response property for the response status

    • info

      removed the male enum value from the response property for the response status

    • info

      removed the non_citizen enum value from the response property for the response status

    • info

      removed the non_disabled enum value from the response property for the response status

    • info

      removed the non_exempt enum value from the response property for the response status

    • info

      removed the non_key_employee enum value from the response property for the response status

    • info

      removed the non_veteran enum value from the response property for the response status

    • info

      removed the not_on_file enum value from the response property for the response status

    • info

      removed the officer enum value from the response property for the response status

    • info

      removed the on_file enum value from the response property for the response status

    • info

      removed the owner enum value from the response property for the response status

    • info

      removed the part_time enum value from the response property for the response status

    • info

      removed the regular enum value from the response property for the response status

    • info

      removed the reserve enum value from the response property for the response status

    • info

      removed the statutory enum value from the response property for the response status

    • info

      removed the two_or_more_races enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the undefined enum value from the response property for the response status

    • info

      removed the veteran enum value from the response property for the response status

    • info

      removed the white enum value from the response property for the response status

    • info

      removed subschema #2 from the response property oneOf list for the response status

    • info

      removed subschema #2 from the response property oneOf list for the response status

    • info

      removed subschema #2 from the response property oneOf list for the response status