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
| Field | Type | Description |
|---|---|---|
companyName | String! | Company name |
myState | StateList! | Primary state of operation |
numberOfEmployees | Int! | Number of employees |
multiState | Boolean! | Whether company operates in multiple states |
multiStateSelectedStates | [StateList!] | Required when multiState is true |
Optional Fields
| Field | Type | Required | Description |
|---|---|---|---|
appendixConditions | [AppendixConditionInput!] | No | Optional 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.
| Field | Type | Required | Description |
|---|---|---|---|
question | AppendixConditionQuestion! | Yes | The location question (enum value). See AppendixConditionQuestion enum for all available questions. |
answer | Boolean! | Yes | Whether 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
| Field | Type | Required | Description |
|---|---|---|---|
email | String! | Yes | Email address for the customer. Must be a valid email format. |
name | String! | Yes | Full name of the customer. |
userId | String! | Yes | External user ID from the reseller system. Must be unique per reseller. |
handbookLimit | Int | No | Per-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
| Field | Type | Required | Description |
|---|---|---|---|
email | String | No | New email address for the customer. Must be a valid email format if provided. |
name | String | No | New full name for the customer. |
userId | String | No | New external user ID from the reseller system. Must be unique per reseller if provided. |
handbookLimit | Int | No | Per-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
| Field | Type | Description |
|---|---|---|
handbookId | Int | Handbook ID to filter updates for. Returns updates relevant to this handbook's states. |
startDate | String | Start date for filtering updates in YYYY-MM format. Returns updates from this month onwards. |
endDate | String | End 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
| Field | Type | Description |
|---|---|---|
limit | Int | Maximum number of handbooks to return. Defaults to 50. Maximum is 100. |
offset | Int | Number of handbooks to skip for pagination. Defaults to 0. |
HandbookUpdatesFilters
Filters for retrieving handbook updates with full content.
input HandbookUpdatesFilters {
handbookId: Int!
}
Fields
| Field | Type | Required | Description |
|---|---|---|---|
handbookId | Int! | Yes | Handbook 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
| Field | Type | Description |
|---|---|---|
email | String | Customer's email address to filter handbooks (alternative to userId). |
userId | String | Customer's external user ID from the reseller system to filter handbooks (alternative to email). |
limit | Int | Maximum number of handbooks to return. Defaults to 50. Maximum is 100. |
offset | Int | Number of handbooks to skip for pagination. Defaults to 0. |