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
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | ListHandbooksResellerFilter | No | Filters for filtering handbooks by customer and pagination. All fields are optional. |
ListHandbooksResellerFilter Input
| 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. |
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
| 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) |
HandbookListItemReseller
| 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 | Name of the handbook |
myState | String | Primary state of the company |
industry | String | Industry type |
subscriptionStatus | SubscriptionStatus | Subscription status of the handbook |
customer | Customer | Customer information who owns this handbook |
Notes
- Requires reseller API key authentication
- Maximum
limitis 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
getHandbookto retrieve full handbook with content - If no filter is provided, returns all handbooks for all customers under the reseller
- If
emailoruserIdis provided, only returns handbooks for that specific customer - For detailed information about response types and fields, see Types & Schema