Handbook Types
Complete reference for all handbook-related types in the GraphQL API.
Handbook
A handbook entry containing both the generated content and the input data.
type Handbook {
handbookId: Int!
content: String
contentEs: String
createdAt: String!
updatedAt: String
data: HandbookData!
}
Fields
| Field | Type | Description |
|---|---|---|
handbookId | Int! | Unique identifier for the handbook |
content | String | The full generated handbook content (HTML) |
contentEs | String | The Spanish translation of the handbook content (HTML). Null if not yet translated. |
createdAt | String! | ISO 8601 timestamp when the handbook was created |
updatedAt | String | ISO 8601 timestamp when the handbook was last updated |
data | HandbookData! | Input data used to generate this handbook |
HandbookResponse
Response from handbook generation mutation.
type HandbookResponse {
content: String!
contentType: String
subscriptionType: SubscriptionType
}
Fields
| Field | Type | Description |
|---|---|---|
content | String! | The handbook content (HTML, base64-encoded DOCX, or plain text) |
contentType | String | The MIME type for the content |
subscriptionType | SubscriptionType | The subscription type: SUBSCRIPTION or ONE_TIME |
HandbookListItem
Lightweight handbook metadata for list views (does not include content).
type HandbookListItem {
handbookId: Int!
handbookType: String!
createdAt: String!
updatedAt: String
companyName: String
industry: String
subscriptionStatus: SubscriptionStatus
}
Fields
| Field | Type | Description |
|---|---|---|
handbookId | Int! | Unique identifier for the handbook |
handbookType | String! | Type of handbook: "basic" or "comprehensive" |
createdAt | String! | ISO 8601 timestamp when the handbook was created |
updatedAt | String | ISO 8601 timestamp when the handbook was last updated |
companyName | String | Company name from the handbook data |
industry | String | Industry type |
subscriptionStatus | SubscriptionStatus | Subscription status of the handbook |
HandbookListItemReseller
Reseller version of handbook list item with customer information.
type HandbookListItemReseller {
handbookId: Int!
handbookType: String!
createdAt: String!
updatedAt: String
companyName: String
handbookName: String
myState: String
industry: String
subscriptionStatus: SubscriptionStatus
customer: Customer
}
Fields
| Field | Type | Description |
|---|---|---|
handbookId | Int! | Unique identifier for the handbook |
handbookType | String! | Type of handbook: "basic" or "comprehensive" |
createdAt | String! | ISO 8601 timestamp when the handbook was created |
updatedAt | String | ISO 8601 timestamp when the handbook was last updated |
companyName | String | Company name from the handbook data |
handbookName | String | Handbook name if set |
myState | String | Primary state for the handbook |
industry | String | Industry type |
subscriptionStatus | SubscriptionStatus | Subscription status of the handbook |
customer | Customer | Customer (user) this handbook belongs to |
HandbookData
Input data used to generate a handbook. Contains all the configuration and settings.
type HandbookData {
# System Fields
subscriptionStatus: SubscriptionStatus
createdAt: String!
updatedAt: String
updateOnlyStage: String
# Core Information
myState: String
companyName: String
numberOfEmployees: String
multiState: String
multiStateSelectedStates: [StateList!]
industry: String
handbookName: String
# Employment Policies
fullTimeHours: Int
payPeriodFrequency: String
performanceReviewPeriod: String
trialPeriod: Boolean
trialPeriodDays: Int
# Benefits
paidHolidays: Boolean
paidHolidayNames: String
vacationBenefits: Boolean
vacationBenefitEligibleMonths: Int
vacationBenefitType: String
vacationHoursEarned: Int
vacationBenefitCarryover: Boolean
sickLeave: Boolean
sickLeaveDays: Int
sickHoursEarned: Int
maximumSickLeave: Int
workersComp: Boolean
healthInsurance: Boolean
healthInsurancePlans: [String!]
directDeposit: Boolean
# Policies
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
# Policy Title Fields
trialPeriodTitle: Boolean
paidHolidaysTitle: Boolean
vacationBenefitsTitle: Boolean
sickLeaveTitle: Boolean
healthInsuranceTitle: Boolean
directDepositTitle: Boolean
# Custom Content
missionStatement: Boolean
missionStatementTitle: Boolean
missionStatementText: String
"""
Appendix conditions as JSON object. When querying, this returns the stored JSON format.
When creating/updating handbooks, use the structured [AppendixConditionInput!] format
in HandbookRequest. See [Input Types](/docs/graphql-api/types/input-types/) for details.
"""
appendixConditions: JSON
# Additional Fields
hrManager: String
payrollManager: String
industryPolicies: [String!]
features: [String!]
waivercat_form_id: [String!]
}
Key Fields
| Field | Type | Description |
|---|---|---|
subscriptionStatus | SubscriptionStatus | Subscription status of the handbook (set by system) |
createdAt | String! | ISO 8601 timestamp when the data was created |
updatedAt | String | ISO 8601 timestamp when the data was last updated |
updateOnlyStage | String | Internal field for update workflow |
Note: Most fields in HandbookData correspond to fields in HandbookRequest input type. See the Input Types documentation for the complete list of input fields. The subscriptionStatus field is set by the system based on the subscriptionType parameter provided during handbook generation.
HandbooksList
List of handbooks with pagination information.
type HandbooksList {
handbooks: [HandbookListItem!]!
total: Int!
}
Fields
| Field | Type | Description |
|---|---|---|
handbooks | [HandbookListItem!]! | Array of handbook metadata records (does not include content) |
total | Int! | Total number of handbooks matching the query (before pagination) |
HandbooksListReseller
Reseller version of handbooks list with customer information.
type HandbooksListReseller {
handbooks: [HandbookListItemReseller!]!
total: Int!
}
Fields
| Field | Type | Description |
|---|---|---|
handbooks | [HandbookListItemReseller!]! | Array of handbook metadata records (does not include content) |
total | Int! | Total number of handbooks matching the query (before pagination) |
PolicyFeedResponse
Response from the policyFeed query containing policy updates.
type PolicyFeedResponse {
total: Int!
policyUpdates: [PolicyUpdateItem!]!
}
Fields
| Field | Type | Description |
|---|---|---|
total | Int! | Total number of policy updates found |
policyUpdates | [PolicyUpdateItem!]! | Array of policy updates with full HTML content |
PolicyUpdateItem
A single policy update item with full HTML content ready for insertion into handbooks.
type PolicyUpdateItem {
date: String!
month: Int!
year: Int!
scope: String!
title: String!
content: String!
summary: String
instructions: String
conditions: String
}
Fields
| Field | Type | Description |
|---|---|---|
date | String! | The date of the update in YYYY-MM-DD format |
month | Int! | Month of the update (1-12) |
year | Int! | Year of the update |
scope | String! | State code (e.g., CA, NY, TX) or US for federal updates that apply to all states |
title | String! | Title of the policy update |
content | String! | Full HTML content of the policy update ready to be inserted into a handbook |
summary | String | Brief summary of the policy update from the related compliance update |
instructions | String | Instructions for how to apply this update to your handbook |
conditions | String | Context about when/why this update applies |