Skip to main content

Customer Types

Complete reference for all customer-related types in the GraphQL API.

Customer

A customer (SSO user) belonging to a reseller. The userId is the external user ID from the reseller system, not the internal database ID.

type Customer {
userId: String!
email: String!
name: String
createdAt: String!
customerHandbookLimit: Int
}

Fields

FieldTypeDescription
userIdString!External user ID from the reseller system. This is the identifier used by the reseller to reference this user.
emailString!Email address of the customer.
nameStringFull name of the customer.
createdAtString!ISO 8601 timestamp of when the customer was created.
customerHandbookLimitIntPer-user handbook generation limit for GraphQL API (null means use reseller's global default).

CustomersList

List of customers with pagination information.

type CustomersList {
customers: [Customer!]!
total: Int!
}

Fields

FieldTypeDescription
customers[Customer!]!Array of customer records
totalInt!Total number of customers matching the query (before pagination)

BearerTokenResponse

Response containing a generated bearer token (JWT) for customer authentication.

type BearerTokenResponse {
token: String!
issuedAt: String!
expiresAt: String!
expiresIn: Int!
}

Fields

FieldTypeDescription
tokenString!The JWT bearer token that can be used in Authorization header
issuedAtString!ISO 8601 timestamp when the token was issued
expiresAtString!ISO 8601 timestamp when the token expires
expiresInInt!Number of seconds until the token expires

UpdateDefaultCustomerHandbookLimitResponse

Response for updating reseller handbook limit.

type UpdateDefaultCustomerHandbookLimitResponse {
limit: Int!
usersUpdated: Int
}

Fields

FieldTypeDescription
limitInt!The updated global handbook limit
usersUpdatedIntNumber of users that had their custom limits updated (if updateAllUserCustomLimits was true)

HandbookVersionUser

User who created a handbook version.

type HandbookVersionUser {
id: String!
name: String
email: String
avatarUrl: String
}

Fields

FieldTypeDescription
idString!Internal user ID
nameStringUser's display name
emailStringUser's email address
avatarUrlStringURL to user's avatar image

HandbookVersionListItem

Handbook version metadata without content (used in list views).

type HandbookVersionListItem {
id: Int!
handbookId: Int!
handbookType: String!
createdAt: String!
versionNumber: Int!
user: HandbookVersionUser
}

Fields

FieldTypeDescription
idInt!Version ID. -1 represents the current/latest version
handbookIdInt!Handbook ID this version belongs to
handbookTypeString!Type of handbook (comprehensive or basic)
createdAtString!ISO 8601 timestamp when this version was created
versionNumberInt!Sequential version number
userHandbookVersionUserUser who created this version

HandbookVersionsList

List of handbook versions with total count.

type HandbookVersionsList {
versions: [HandbookVersionListItem!]!
total: Int!
}

Fields

FieldTypeDescription
versions[HandbookVersionListItem!]!Array of version metadata records
totalInt!Total number of versions

HandbookVersionDetail

Handbook version with full content.

type HandbookVersionDetail {
id: Int!
handbookId: Int!
handbookType: String!
content: String!
createdAt: String!
versionNumber: Int!
user: HandbookVersionUser
}

Fields

FieldTypeDescription
idInt!Version ID. -1 represents the current/latest version
handbookIdInt!Handbook ID this version belongs to
handbookTypeString!Type of handbook (comprehensive or basic)
contentString!Full HTML content of this version
createdAtString!ISO 8601 timestamp when this version was created
versionNumberInt!Sequential version number
userHandbookVersionUserUser who created this version

RestoreHandbookVersionResponse

Response from restoring a handbook version.

type RestoreHandbookVersionResponse {
success: Boolean!
restoredContent: String!
restoredVersion: HandbookVersionDetail
}

Fields

FieldTypeDescription
successBoolean!Whether the restore operation succeeded
restoredContentString!The restored HTML content now active on the handbook
restoredVersionHandbookVersionDetailThe version that was restored

UpdateHandbookContentResponse

Response from updating handbook content.

type UpdateHandbookContentResponse {
success: Boolean!
handbookId: Int!
handbookType: String!
updatedAt: String!
}

Fields

FieldTypeDescription
successBoolean!Whether the update succeeded
handbookIdInt!The handbook ID that was updated
handbookTypeString!The handbook type that was updated
updatedAtString!ISO 8601 timestamp when the update occurred

TranslateHandbookResponse

Response from requesting a handbook translation to Spanish. Translation runs asynchronously in the background.

type TranslateHandbookResponse {
success: Boolean!
handbookId: Int!
message: String!
}

Fields

FieldTypeDescription
successBoolean!Whether the translation request was accepted
handbookIdInt!The handbook ID being translated
messageString!Status message about the translation (includes instructions to poll getHandbook for contentEs)

SignatureSignee

A person who has been sent a signature request or has signed the handbook.

type SignatureSignee {
id: Int!
formId: String!
name: String!
email: String!
createdAt: String
updatedAt: String
signedAt: String
signedFileUrl: String
}

Fields

FieldTypeDescription
idInt!Unique identifier for the signature request
formIdString!Firma form ID for this signature request
nameString!Full name of the signee
emailString!Email address of the signee
createdAtStringISO 8601 timestamp when the signature was requested
updatedAtStringISO 8601 timestamp of the last update
signedAtStringISO 8601 timestamp when the signee signed. null if not yet signed
signedFileUrlStringURL to the signed PDF document. Only available after signing

SignatureSigneesList

List of signature signees for a handbook.

type SignatureSigneesList {
signees: [SignatureSignee!]!
total: Int!
}

Fields

FieldTypeDescription
signees[SignatureSignee!]!Array of signees with their signing status
totalInt!Total number of signees

SendSignatureResponse

Response from sending signature requests. Processing runs in the background.

type SendSignatureResponse {
success: Boolean!
handbookId: Int!
message: String!
}

Fields

FieldTypeDescription
successBoolean!Whether the signature request was accepted
handbookIdInt!The handbook ID the signature request was sent for
messageString!Status message (includes instructions to poll getSignatureSignees)

ResendSignatureResponse

Response from resending a signature request reminder.

type ResendSignatureResponse {
success: Boolean!
message: String!
}

Fields

FieldTypeDescription
successBoolean!Whether the resend succeeded
messageString!Status message

RemoveSignatureResponse

Response from removing signature requests.

type RemoveSignatureResponse {
success: Boolean!
message: String!
}

Fields

FieldTypeDescription
successBoolean!Whether the removal succeeded
messageString!Status message

SignatureRecipientInput

Input type for specifying a signature request recipient.

input SignatureRecipientInput {
name: String!
email: String!
}

Fields

FieldTypeDescription
nameString!Full name of the recipient
emailString!Email address of the recipient