Skip to main content

List Handbooks

List all handbooks for the authenticated reseller. Optionally filter by customer email or userId (external_user_id). Returns all handbooks for all customers if no filter is provided.

Query

query ListHandbooks($filter: ListHandbooksResellerFilter) {
listHandbooks(filter: $filter) {
handbooks {
handbookId
handbookType
createdAt
updatedAt
companyName
handbookName
myState
industry
subscriptionStatus
customer {
userId
email
name
createdAt
}
}
total
}
}

Parameters

ParameterTypeRequiredDescription
filterListHandbooksResellerFilterNoFilters for filtering handbooks by customer and pagination. All fields are optional.

ListHandbooksResellerFilter Input

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.

Response

{
"data": {
"listHandbooks": {
"handbooks": [
{
"handbookId": 123,
"handbookType": "comprehensive",
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-15T10:30:00Z",
"companyName": "Acme Corporation",
"handbookName": "Employee Handbook 2025",
"myState": "CA",
"industry": "PROFESSIONAL",
"subscriptionStatus": "SUBSCRIPTION",
"customer": {
"userId": "external_user_123",
"email": "[email protected]",
"name": "John Doe",
"createdAt": "2025-01-01T00:00:00Z"
}
}
],
"total": 25
}
}
}

Examples

Get All Handbooks (No Filter)

query {
listHandbooks {
handbooks {
handbookId
handbookType
createdAt
companyName
customer {
userId
email
}
}
total
}
}

Filter by Customer Email

query {
listHandbooks(filter: { email: "[email protected]", limit: 25 }) {
handbooks {
handbookId
companyName
subscriptionStatus
customer {
userId
email
}
}
total
}
}

Filter by Customer User ID

query {
listHandbooks(filter: { userId: "external_user_123" }) {
handbooks {
handbookId
companyName
subscriptionStatus
}
total
}
}

With Pagination

query {
listHandbooks(filter: { limit: 25, offset: 0 }) {
handbooks {
handbookId
handbookType
createdAt
companyName
industry
customer {
userId
email
}
}
total
}
}

Variables

{
"filter": {
"email": "[email protected]",
"limit": 25,
"offset": 0
}
}

Response Fields

HandbooksListReseller

FieldTypeDescription
handbooks[HandbookListItemReseller!]!Array of handbook metadata records (does not include content)
totalInt!Total number of handbooks matching the query (before pagination)

HandbookListItemReseller

FieldTypeDescription
handbookIdInt!Unique identifier for the handbook
handbookTypeString!Type of handbook: "basic" or "comprehensive"
createdAtString!ISO 8601 timestamp when the handbook was created
updatedAtStringISO 8601 timestamp when the handbook was last updated
companyNameStringCompany name from the handbook data
handbookNameStringName of the handbook
myStateStringPrimary state of the company
industryStringIndustry type
subscriptionStatusSubscriptionStatusSubscription status of the handbook
customerCustomerCustomer information who owns this handbook

Notes

  • Requires reseller API key authentication
  • Maximum limit is 100. If exceeded, it will be capped at 100
  • Results are ordered by creation date (newest first)
  • The response does not include handbook content. Use getHandbook to retrieve full handbook with content
  • If no filter is provided, returns all handbooks for all customers under the reseller
  • If email or userId is provided, only returns handbooks for that specific customer
  • For detailed information about response types and fields, see Types & Schema