Skip to main content

Input Types

Complete reference for all input types used in mutations and queries.

HandbookRequest

Input for generating a handbook. Only 5 fields are required; all others are optional and will use defaults if not provided.

input HandbookRequest {
# Required Core Company Information
companyName: String!
myState: StateList!
numberOfEmployees: Int!
multiState: Boolean!
multiStateSelectedStates: [StateList!] # Required when multiState is true

# Optional Company Information
industry: Industry
hrManager: String
payrollManager: String
companyUrl: String
companyLogoId: String
handbookName: String

# Optional Employment Policies
fullTimeHours: Int
payPeriodFrequency: PayPeriodFrequency
performanceReviewPeriod: PerformanceReviewPeriod
trialPeriod: Boolean
trialPeriodDays: Int
trialPeriodTitle: Boolean

# Optional Benefits Configuration
paidHolidays: Boolean
paidHolidayNames: String
paidHolidaysTitle: Boolean
vacationBenefits: Boolean
vacationBenefitEligibleMonths: Int
vacationBenefitType: VacationBenefitType
vacationHoursEarned: Int
vacationBenefitCarryover: Boolean
vacationBenefitsTitle: Boolean
sickLeave: Boolean
sickHoursEarned: Int
maximumSickLeave: Int
sickLeaveTitle: Boolean
workersComp: Boolean
healthInsurance: Boolean
healthInsurancePlans: [String]
healthInsuranceTitle: Boolean
directDeposit: Boolean
directDepositTitle: Boolean

# Optional Policies and Features
industryPolicies: [String]
companyVehiclesPolicy: Boolean
companyVehiclesPolicyTitle: Boolean
socialMediaPolicy: Boolean
socialMediaPolicyTitle: Boolean
progressiveDisciplinePolicy: Boolean
progressiveDisciplinePolicyTitle: Boolean
recordingDevicePolicy: Boolean
recordingDevicePolicyTitle: Boolean
employeeDressPolicy: Boolean
employeeDressPolicyTitle: Boolean
travelAndExpensePolicy: Boolean
travelAndExpensePolicyTitle: Boolean
workFromHomePolicy: Boolean
workFromHomePolicyTitle: Boolean
virtualMeetingsPolicy: Boolean
virtualMeetingsPolicyTitle: Boolean

# Optional Mission Statement
missionStatement: Boolean
missionStatementTitle: Boolean
missionStatementText: String

# Optional Additional Configuration
appendixConditions: [AppendixConditionInput!]
}

input AppendixConditionInput {
question: AppendixConditionQuestion!
answer: Boolean!
}

Required Fields

FieldTypeDescription
companyNameString!Company name
myStateStateList!Primary state of operation
numberOfEmployeesInt!Number of employees
multiStateBoolean!Whether company operates in multiple states
multiStateSelectedStates[StateList!]Required when multiState is true

Optional Fields

FieldTypeRequiredDescription
appendixConditions[AppendixConditionInput!]NoOptional array of location-specific questions and answers. Used to include city-specific content in the handbook. Only include this field if you need city-specific compliance content. See AppendixConditionQuestion enum for available questions.

AppendixConditionInput

Input type for specifying location-specific appendix conditions.

FieldTypeRequiredDescription
questionAppendixConditionQuestion!YesThe location question (enum value). See AppendixConditionQuestion enum for all available questions.
answerBoolean!YesWhether the company has employees in this location (true) or not (false). Only include entries where answer is true.

Example:

# Optional: Only include if you need city-specific content
appendixConditions: [
{ question: BERKELEY_CA, answer: true }
{ question: SAN_FRANCISCO_CA, answer: true }
{ question: NEW_YORK_CITY_NY, answer: false }
]

Note: This field is optional. You can omit it entirely if you don't need city-specific content. Only include entries where answer is true.

CustomerInput

Input for creating a new customer.

input CustomerInput {
email: String!
name: String!
userId: String!
handbookLimit: Int
}

Fields

FieldTypeRequiredDescription
emailString!YesEmail address for the customer. Must be a valid email format.
nameString!YesFull name of the customer.
userIdString!YesExternal user ID from the reseller system. Must be unique per reseller.
handbookLimitIntNoPer-user handbook generation limit override (optional, null means use reseller's global default).

CustomerUpdateInput

Input for updating an existing customer. All fields are optional for partial updates.

input CustomerUpdateInput {
email: String
name: String
userId: String
handbookLimit: Int!
}

Fields

FieldTypeRequiredDescription
emailStringNoNew email address for the customer. Must be a valid email format if provided.
nameStringNoNew full name for the customer.
userIdStringNoNew external user ID from the reseller system. Must be unique per reseller if provided.
handbookLimitIntNoPer-user handbook generation limit override. Set to a positive integer to override, or omit/set to null to use reseller's global default.

PolicyFeedFilters

Filters for filtering policy updates by handbook ID and date range.

input PolicyFeedFilters {
handbookId: Int
startDate: String
endDate: String
}

Fields

FieldTypeDescription
handbookIdIntHandbook ID to filter updates for. Returns updates relevant to this handbook's states.
startDateStringStart date for filtering updates in YYYY-MM format. Returns updates from this month onwards.
endDateStringEnd date for filtering updates in YYYY-MM format. Returns updates up to this month.

ListHandbooksFilter

Filters for filtering handbooks by pagination.

input ListHandbooksFilter {
limit: Int
offset: Int
}

Fields

FieldTypeDescription
limitIntMaximum number of handbooks to return. Defaults to 50. Maximum is 100.
offsetIntNumber of handbooks to skip for pagination. Defaults to 0.

HandbookUpdatesFilters

Filters for retrieving handbook updates with full content.

input HandbookUpdatesFilters {
handbookId: Int!
}

Fields

FieldTypeRequiredDescription
handbookIdInt!YesHandbook ID to filter updates for. Returns updates relevant to this handbook's states.

ListHandbooksResellerFilter

Filters for filtering handbooks by customer and pagination (reseller only).

input ListHandbooksResellerFilter {
email: String
userId: String
limit: Int
offset: Int
}

Fields

FieldTypeDescription
emailStringCustomer's email address to filter handbooks (alternative to userId).
userIdStringCustomer's external user ID from the reseller system to filter handbooks (alternative to email).
limitIntMaximum number of handbooks to return. Defaults to 50. Maximum is 100.
offsetIntNumber of handbooks to skip for pagination. Defaults to 0.