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