Skip to content

QuickBooks: Create an employee

QuickBooks employee.create: arguments, response, policy and SDK examples.

← employee operations · Get started · OpenAPI downloads

Contract 2026-10-20 · Operation quickbooks.employee.create_an_employee

Provider route: POST /v3/company/{realmID}/employee. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/quickbooks with npm, or alter-sdk-quickbooks with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { QuickBooksIntegration } from "@alter-ai/quickbooks";
async function execute(input: Parameters<QuickBooksIntegration["employee"]["create"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new QuickBooksIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.employee.create(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_quickbooks import QuickBooksIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = QuickBooksIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.employee.create(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
queryobjectOptionalAdditional keys: not allowed
query.minorversionintegerOptionalMust equal: 75
query.requestidstringOptionalMinimum length: 1
bodyobjectRequired within parentFields not accepted: Id, SyncToken
Additional keys: not allowed
body.ActiveJSONOptionalIf true, this entity is currently enabled for use by QuickBooks.
body.Active (anyOf 1)booleanAlternative
body.Active (anyOf 2)stringAlternativeOne of: true, false
body.BillRateJSONOptionalThis attribute can only be set if BillableTime is true. Not supported when QuickBooks Payroll is enabled.
Decimal string
body.BillRate (anyOf 1)numberAlternative
body.BillRate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?$
body.BillableTimeJSONOptionalIf true, this entity is currently enabled for use by QuickBooks.
body.BillableTime (anyOf 1)booleanAlternative
body.BillableTime (anyOf 2)stringAlternativeOne of: true, false
body.BirthDatestringOptionalBirth date of the employee.
body.CostRateJSONOptionalPay rate of the employee
Decimal string
body.CostRate (anyOf 1)numberAlternative
body.CostRate (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?$
body.DisplayNamestringOptionalThe 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 . When QuickBooks Payroll is enabled, this attribute is read-only and a concatenation of GivenName , MiddleName , and FamilyName .
body.EmployeeNumberstringOptionalSpecifies the ID number of the employee in the employer’s directory.
body.FamilyNamestringOptionalFamily name or the last name of the person. At least one of GivenName or FamilyName attributes is required.
body.GenderstringOptionalGender of the employee. To clear the gender value, set to Null in a full update request. Supported values include: Male or Female .
body.GivenNamestringOptionalGiven name or Family name of a person. At least one of GivenName or FamilyName attributes is required.
body.HiredDatestringOptionalHire date of the employee.
body.MetaDataModelOptionalExpand Read a bill — response body — Bill Meta Data
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
body.MiddleNamestringOptionalMiddle name of the person. The person can have zero or more middle names.
body.MobileModelOptionalExpand Create a vendor — request body — body Fax
Mobile phone number.
body.OrganizationJSONOptionaltrue —the object represents an organization. false —the object represents a person.
body.Organization (anyOf 1)booleanAlternative
body.Organization (anyOf 2)stringAlternativeOne of: true, false
body.PrimaryAddrModelOptionalExpand Create a vendor — request body — body Bill Addr
Represents the physical street address for this employee. If QuickBooks Payroll is enabled for the company, the following PhysicalAddress fields are required: City , maximum of 255 chars CountrySubDivisionCode , maximum of 255 chars PostalCode Required when QuickBooks Payroll is enabled. 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. Original Line1 through Line 5 contents, City , SubDivisionCode , and PostalCode flow into Line3 through Line5 as a free format strings.
Conditionally required
body.PrimaryEmailAddrModelOptionalExpand Full update companyinfo — request body — body Email
Primary email address.
body.PrimaryPhoneModelOptionalExpand Create a vendor — request body — body Fax
Primary phone number.
body.PrintOnCheckNamestringOptionalName of the person or organization as printed on a check. If not provided, this is populated from DisplayName . Cannot be removed with sparse update. Not supported when QuickBooks Payroll is enabled.
body.ReleasedDatestringOptionalRelease date of the employee.
body.SSNstringOptionalSocial 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. This attribute cannot be passed in a request when QuickBooks Payroll is enabled. Code for this field must be removed before submitting.
body.SuffixstringOptionalSuffix of the name. For example, Jr . Not supported when QuickBooks Payroll is enabled.
body.TitlestringOptionalTitle of the person. This tag supports i18n, all locale. Not supported when QuickBooks Payroll is enabled.
body.V4IDPseudonymstringOptionalEmployee reference number. For internal use only.
Read only: true
body.domainstringOptional
body.sparsebooleanOptional

Referenced models: Full update companyinfo — request body — body Email, Read a bill — response body — Bill Meta Data, Create a vendor — request body — body Bill Addr, Create a vendor — request body — body Fax

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$objectRootAdditional keys: allowed
timestringOptional
EmployeeModelOptionalExpand Read an employee — response body — Employee

Referenced models: Read an employee — response body — Employee

SDK function policy ID: quickbooks.employee.create_an_employee. Catalog operation: employee/create_an_employee. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.