{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-employeeresponse-schema.json",
  "title": "employeeresponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-employee-api-openapi.yml#/components/schemas/employeeresponse",
  "type": "object",
  "properties": {
    "PrimaryEmailAddr": {
      "allOf": [
        {
          "$ref": "#/$defs/emailaddress"
        }
      ],
      "description": "Primary email address.",
      "x-intuit-required": "Optional"
    },
    "DisplayName": {
      "type": "string",
      "description": "The name of the person or organization as displayed. Default Value: If not supplied, the system generates DisplayName by concatenating employee name components supplied in the request from the following list: Title, GivenName, MiddleName, FamilyName, and Suffix.\nWhen QuickBooks Payroll is enabled, this attribute is read-only and a concatenation of GivenName, MiddleName, and FamilyName.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "Title": {
      "type": "string",
      "description": "Title of the person.\nThis tag supports i18n, all locale.\nNot supported when QuickBooks Payroll is enabled.",
      "x-intuit-required": "Optional"
    },
    "BillableTime": {
      "type": "boolean",
      "description": "If true, this entity is currently enabled for use by QuickBooks.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "false"
    },
    "GivenName": {
      "type": "string",
      "description": "Given name or family name of a person. At least one of\nGivenName or FamilyName attributes is required.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "V4IDPseudonym": {
      "type": "string",
      "description": "Employee reference number. For internal use only."
    },
    "BirthDate": {
      "type": "string",
      "format": "date",
      "description": "Birth date of the employee.",
      "x-intuit-required": "Optional"
    },
    "MiddleName": {
      "type": "string",
      "description": "Middle name of the person. The person can have zero or more middle names.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "SSN": {
      "type": "string",
      "description": "Social security number (SSN) of the employee. If SSN is set, it is masked in the response with XXX-XX-XXXX. If  XXX-XX-XXXX is sent in the create or update request, XXX-XX-XXXX is ignored and the old value is preserved.\nThis attribute cannot be passed in a request when QuickBooks Payroll is enabled. Code for this field must be removed before submitting.",
      "x-intuit-required": "Optional"
    },
    "PrimaryAddr": {
      "allOf": [
        {
          "$ref": "#/$defs/physicaladdress"
        }
      ],
      "description": "Represents the physical street address for this employee. If QuickBooks Payroll is enabled for the company, the following PhysicalAddress fields are required:\nCity, maximum of 255 chars\n\nCountrySubDivisionCode, maximum of 255 chars\n\nPostalCode\n\n Required when QuickBooks Payroll is enabled.\n If a physical address is updated from within the transaction object, the QuickBooks Online API flows individual address components differently into the Line elements of the transaction response then when the transaction was first created:Line1 and Line2 elements are populated with the customer name and company name.\nOriginal Line1 through Line 5 contents, City, SubDivisionCode, and PostalCode flow into Line3 through Line5as a free format strings.",
      "x-intuit-required": "Conditionally required"
    },
    "PrimaryPhone": {
      "allOf": [
        {
          "$ref": "#/$defs/telephonenumber"
        }
      ],
      "description": "Primary phone number.",
      "x-intuit-required": "Optional"
    },
    "Active": {
      "type": "boolean",
      "description": "If true, this entity is currently enabled for use by QuickBooks.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "true",
      "x-intuit-filterable": true
    },
    "ReleasedDate": {
      "type": "string",
      "format": "date",
      "description": "Release date of the employee.",
      "x-intuit-required": "Optional"
    },
    "MetaData": {
      "allOf": [
        {
          "$ref": "#/$defs/modificationmetadata"
        }
      ],
      "description": "Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.",
      "x-intuit-required": "Optional"
    },
    "CostRate": {
      "type": "number",
      "description": "Pay rate of the employee",
      "x-intuit-required": "Optional"
    },
    "Mobile": {
      "allOf": [
        {
          "$ref": "#/$defs/telephonenumber"
        }
      ],
      "description": "Mobile phone number.",
      "x-intuit-required": "Optional"
    },
    "Gender": {
      "type": "string",
      "description": "Gender of the employee. To clear the gender value, set to Null in a full update request. Supported values include: Male or Female.",
      "x-intuit-required": "Optional"
    },
    "HiredDate": {
      "type": "string",
      "format": "date",
      "description": "Hire date of the employee.",
      "x-intuit-required": "Optional"
    },
    "BillRate": {
      "type": "number",
      "description": "This attribute can only be set if BillableTime is true.\nNot supported when QuickBooks Payroll is enabled.",
      "x-intuit-required": "Optional"
    },
    "Organization": {
      "type": "boolean",
      "description": "true--the object represents an organization.\nfalse--the object represents a person.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "false or null"
    },
    "SyncToken": {
      "type": "string",
      "description": "Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.",
      "x-intuit-required": "Required for update"
    },
    "Suffix": {
      "type": "string",
      "description": "Suffix of the name. For example, Jr.\nNot supported when QuickBooks Payroll is enabled.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "FamilyName": {
      "type": "string",
      "description": "Family name or the last name of the person. At least one of\nGivenName or FamilyName attributes is required.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "PrintOnCheckName": {
      "type": "string",
      "description": "Name of the person or organization as printed on a check. If not provided, this is populated from DisplayName.\nCannot be removed with sparse update.\nNot supported when QuickBooks Payroll is enabled.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "EmployeeNumber": {
      "type": "string",
      "description": "Specifies the ID number of the employee in the employer's directory.",
      "x-intuit-required": "Optional"
    },
    "Id": {
      "type": "string",
      "description": "Unique identifier for this object.",
      "x-intuit-required": "Required for update",
      "x-intuit-filterable": true
    }
  },
  "$defs": {
    "emailaddress": {
      "type": "object",
      "title": "emailaddress",
      "properties": {
        "Address": {
          "type": "string",
          "description": "An email address. The address format must follow the RFC 822 standard.",
          "x-intuit-required": "Optional"
        }
      }
    },
    "modificationmetadata": {
      "type": "object",
      "title": "modificationmetadata",
      "properties": {
        "CreateTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was created in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        },
        "LastUpdatedTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was last updated in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        }
      }
    },
    "physicaladdress": {
      "type": "object",
      "title": "physicaladdress",
      "properties": {
        "City": {
          "type": "string",
          "description": "City name.",
          "x-intuit-required": "Optional"
        },
        "Country": {
          "type": "string",
          "description": "For international addresses, the request can be an ISO alpha-3 code or the full name of the country. The response for update and read operations returns ISO alpha-3 country codes only.",
          "x-intuit-required": "Optional"
        },
        "Line5": {
          "type": "string",
          "description": "Fifth line of the address.",
          "x-intuit-required": "Optional"
        },
        "Line4": {
          "type": "string",
          "description": "Fourth line of the address.",
          "x-intuit-required": "Optional"
        },
        "Line3": {
          "type": "string",
          "description": "Third line of the address.",
          "x-intuit-required": "Optional"
        },
        "Line2": {
          "type": "string",
          "description": "Second line of the address.",
          "x-intuit-required": "Optional"
        },
        "Line1": {
          "type": "string",
          "description": "First line of the address.",
          "x-intuit-required": "Optional"
        },
        "PostalCode": {
          "type": "string",
          "description": "Postal code. For example, zip code for USA and Canada",
          "x-intuit-required": "Optional"
        },
        "CountrySubDivisionCode": {
          "type": "string",
          "description": "Region within a country. For example, state name for USA, province name for Canada.",
          "x-intuit-required": "Optional"
        },
        "Id": {
          "type": "string",
          "description": "Unique identifier of the QuickBooks object for the address, autoincremented when the address is changed. This is an internal value included for backwards compatibility and can be ignored.",
          "x-intuit-required": "Required for update"
        }
      }
    },
    "telephonenumber": {
      "type": "object",
      "title": "telephonenumber",
      "properties": {
        "FreeFormNumber": {
          "type": "string",
          "description": "Specifies the telephone number in free form.",
          "x-intuit-required": "Optional"
        }
      }
    }
  }
}