Objects

Object types are the most common type within GraphQL, they represent an object that can be fetched from the Worksome GraphQL API.

Address

An address.

Fields
addressString
The address.
postCodeString
The post code (ZIP code).
cityString
The city.
stateString
The state.
countryCountry
The country object.
formattedAddressString
The formatted address string.

Approval

An approval flow that defines a review process triggered by specific events on hires.

Approvals are configured by companies to require sign-off before certain actions take effect. Currently, approval flows can only be applied to hires. The supported automatic triggers are:

- HIRE_CREATED — require approval when a new hire is created (e.g. rate exceeds a budget threshold). - HIRE_CHANGED — require approval when an existing hire’s contract is modified (e.g. rate or end date changes). - CLASSIFICATION_CREATED — require approval when a worker classification (e.g. IR35, US worker classification) is completed on a hire.

A trigger of NONE means the approval flow will not be automatically evaluated.

Approval flows cannot currently be applied to jobs, payment requests, or other entities.

Each approval has a trigger (the event that starts the flow), one or more rules (conditions that determine when approval is needed), and approvers (user groups who must review and approve). When a matching event occurs, an approval request is created and the action is blocked until all required approvers have acted. The outcome of rejection depends on the trigger: for HIRE_CREATED, the hire is cancelled; for HIRE_CHANGED, the pending contract change is reverted; for CLASSIFICATION_CREATED, the classification result is discarded.

Use the Workflow type and its mutations (createWorkflow, updateWorkflow) to manage approvals as a complete tree structure (root + rules + approvers) in a single operation.

Fields
idID!
The ID of the approval flow.
nameString!
The display name of the approval flow.
versionInt!
The version number. Each update to an approval creates a new version.
statusApprovalStatus!
Whether this approval flow is currently active, inactive, or archived.

Only ACTIVE approvals are evaluated when triggering events occur.
triggerApprovalTrigger!
The event that triggers this approval flow. All triggers currently apply to hires only.

Possible values: - HIRE_CREATED — evaluated when a new hire is created. - HIRE_CHANGED — evaluated when a hire’s contract terms are modified. - CLASSIFICATION_CREATED — evaluated when a worker classification completes on a hire.

Approval flows for jobs, payment requests, or other entities are not currently supported.
descriptionString
A human-readable description of the approval flow’s purpose.
companyCompany!
The company that owns this approval flow.
approvalRules[ApprovalRule!]!
The rules that define conditions and approvers for this approval flow.

Each rule specifies conditions (e.g. “rate > 100”) and a sequence of approver groups. When the trigger fires, the system evaluates rules to determine which approval path applies.
createdAtDateTime!
The date and time that the approval was created.
updatedAtDateTime!
The date and time that the approval was last updated.
latestVersionIdString!
The ID of the latest version of this approval flow.

Approvals are versioned — when updated, a new version is created. Use this to navigate to the most recent version.

ApprovalApprovable

An approval request — a runtime instance created when a triggering event on a hire matches an approval rule.

Approval requests are currently only created for hires. The supported triggering events are: - A hire is created (HIRE_CREATED) - A hire’s contract is changed (HIRE_CHANGED) - A worker classification is completed on a hire (CLASSIFICATION_CREATED)

Jobs, payment requests, and other entities do not go through approval workflows.

When a trigger fires and an active approval rule’s conditions match, the system creates an ApprovalApprovable linking the hire to the matched rule. The outcome of rejection depends on the trigger: for HIRE_CREATED, the hire is cancelled; for HIRE_CHANGED, the pending contract change is reverted; for CLASSIFICATION_CREATED, the classification result is discarded.

Each approval request tracks its history of actions through approvalStates — showing who approved, rejected, or requested changes and when.

Fields
idID!
The ID of the approval request.
approvalApproval!
The approval flow that generated this request.
approvalRuleApprovalRule!
The specific rule whose conditions matched to create this request.
approvalStates[ApprovalState!]!
The history of actions taken on this request (approvals, rejections, change requests).

States are recorded in chronological order as each approver acts.
approvableApprovable
The item that requires approval (e.g. a hire).
viewerCanActionBoolean!
Whether the authenticated user can take action on this approval request.

Returns true when the user is a member of the next approver group in the sequence and the request is still pending their review.

ApprovalApprovablePaginator

A paginated list of ApprovalApprovable items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[ApprovalApprovable!]!
A list of ApprovalApprovable items.

ApprovalPaginator

A paginated list of Approval items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Approval!]!
A list of Approval items.

ApprovalRule

A rule within an approval flow that defines when approval is required and who must approve.

Each rule belongs to an approval and contains two key parts: 1. Conditions (rules): Variable comparisons that determine whether this rule applies. For example, “hourly rate > 100” or “budget >= 50000”. Conditions use workflow variables (system fields like rate/budget, or custom fields configured on the company). 2. Approvers: An ordered sequence of user groups who must review and approve items that match this rule’s conditions. Approvers are processed in position order.

When a triggering event occurs (e.g. a hire is created), the system evaluates each active rule’s conditions against the item. If a rule matches, approval requests are sent to its approvers.

Fields
idID!
The ID of the approval rule.
approvalApproval!
The approval flow that this rule belongs to.
fields[CustomField!]!
The custom fields referenced by this rule’s conditions.

These are the company-configured fields used as variables in the rule’s conditions.
rules[WorkflowVariableRule!]!
The variable conditions that determine when this rule applies.

Each condition compares a workflow variable (e.g. hourly rate, budget, or a custom field) against a value using an operator (e.g. greater than, equals). All conditions must be met for the rule to trigger.
approvers[Approver!]!
The user groups assigned to review items that match this rule, in approval order.
approverCountInt!
The number of approver groups assigned to this rule.
createdAtDate!
The date that the approval rule was created.
updatedAtDate!
The date that the approval rule was updated.

ApprovalRulePaginator

A paginated list of ApprovalRule items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[ApprovalRule!]!
A list of ApprovalRule items.

ApprovalState

A recorded action on an approval request — an entry in the approval audit trail.

Each time an approver acts on an approval request (approves, rejects, or requests changes), an ApprovalState is created to record the decision, the user who made it, and any message. The system also creates states when an approval is automatically cancelled (e.g. the hire was cancelled or the job was closed).

Fields
idID!
The ID of this approval action record.
stateApprovalApprovableState!
The action that was taken: REQUESTED, APPROVED, REJECTED, NEEDS_CHANGE, or CANCELLED.
actionedByUser!
The user who took this action.
messageString
An optional message provided by the reviewer explaining their decision.
cancellationReasonApprovalCancellationReason
The reason the approval was automatically cancelled, if applicable.

Only present when state is CANCELLED. For example, the hire may have been cancelled or the associated job closed before the approval was completed.
approverApprover!
The approver group that this action was taken on behalf of.
approvalApprovableApprovalApprovable!
The approval request that this action belongs to.
createdAtDateTime
The date and time that this action was recorded.

ApprovalStatePaginator

A paginated list of ApprovalState items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[ApprovalState!]!
A list of ApprovalState items.

Approver

An approver assignment — a user group assigned to review items that match an approval rule.

Approvers are ordered by position within a rule. When an approval request is created, the system notifies the first approver group (position 1). Once they approve, the next group (position 2) is notified, and so on. All approvers in the sequence must approve for the overall request to be approved.

Fields
idID!
The ID of the approver assignment.
approvalRuleApprovalRule!
The approval rule this approver is assigned to.
userGroupUserGroup!
The user group whose members can act on approval requests for this rule.
positionInt!
The position in the approval sequence (1-based). Lower positions are asked to approve first.
createdAtDate!
The date that the approver assignment was created.
updatedAtDate!
The date that the approver assignment was last updated.

ApproverPaginator

A paginated list of Approver items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Approver!]!
A list of Approver items.

BankDetail

Bank account details.

Fields
idID!
The ID of the bank account details.
nameString!
The display name for this bank account.
bankAddressString!
The address of this bank account.
bankCountryString!
The country of this bank account.
bankNameString!
The name of this bank account.
beneficiaryNameString!
The beneficiary name of this bank account.
bbanBban
The BBAN information, if applicable.
ibanString
The bank account IBAN, if applicable.
swiftString
The bank account SWIFT code, if applicable.

Batch

A batch of items for processing.

Batches are a way to group multiple items (such as payment requests) together so that you can perform bulk actions on them. They’re mainly intended for operational workflows inside the platform (e.g., approving or processing large sets of items at once). For most external integrations, batches are not usually needed – you’ll likely want to work directly with the individual items instead.

Fields
idID!
The ID of the batch.
nameString!
The name of the batch.
typeBatchType!
The type of batch.
accountAccount!
The account that owns the batch.
itemsCountByStatusInt!
The number of items in the batch that have the specified statuses.
createdAtDateTime!
The date and time when the batch was created.
updatedAtDateTime!
The date and time when the batch was last updated.
deletedAtDateTime
The date and time when the batch was deleted (if soft deleted).
itemsBatchItemPaginator!
The items in the batch.

BatchItemPaginator

A paginated list of BatchItem items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[BatchItem!]!
A list of BatchItem items.

BatchPaginator

A paginated list of Batch items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Batch!]!
A list of Batch items.

Bban

The BBAN type details.

Fields
bsbString
The Bank-State-Branch or BSB number.
bankIdString
The bank ID.
bankCodeString
The bank code.
branchIdString
The bank branch ID.
branchCodeString
The bank branch code.
accountNumberString
The bank account number.
accountSuffixString
The bank account suffix.
institutionNumberString
The bank institution number
transitNumberString
The bank transit number.
registrationNumberString
The bank registration number.
routingCodeString
The bank routing code.
sortCodeString
The bank sort code.
purposeOfPaymentString
The bank purpose of payment code.

Bid

Represents a bid sent on a job.

Fields
idID!
The ID of the bid.
statusBidStatus!
The status of the bid.
jobJob!
The job which the bid was made on.
conversationConversation!
The conversation which contains the bid.
messageMessage!
The message with the bid.
workerWorker!
The worker that this bid belongs to.
supplierAccount
The supplier account for this bid, if applicable.

BidPaginator

A paginated list of Bid items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Bid!]!
A list of Bid items.

BusinessEntity

A business entity.

Fields
idID!
The ID of the business entity.
typeBusinessEntityType!
The business entity type.
nameString!
The name of the business entity type.
localisedNameString!
The localised friendly name of the business entity type.
companyNameString
The company name for the business entity.
companyNumberString
The company number for the business entity.
taxNumberString
The tax number for the business entity.
nationalIdentifierString
The national identifier for the business entity (e.g. Canadian SIN).

BusinessEntityPaginator

A paginated list of BusinessEntity items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[BusinessEntity!]!
A list of BusinessEntity items.

Classification

A classification represents a worker classification (SDS/WCR) for a hire. This can be various types of classifications like IR35, US Worker Classification, etc.

Fields
idID!
The unique identifier of the classification
userUser!
The user who created this classification
hireHire!
The hire this classification belongs to
companyCompany!
The company that requested this classification
freelancerWorker!
The worker this classification is for.
typeClassificationType!
The type of classification (e.g., IR35, US Worker Classification)
descriptionString
Describes this classification type
complianceNameString!
The name of the compliance this classification is using
statusClassificationStatus!
The current status of the classification
acceptedStatusBoolean!
Whether this classification has been accepted by the company
resultClassificationResultDetails!
The result of the classification with detailed outcome information
pdfUrlString!
URL to download the PDF version of this classification (WCR/SDS)
overridesAnotherBoolean!
Whether this classification overrides another classification
overrideReasonString
The reason provided when this classification was overridden (null if not overridden)
overrideUserUser
The user who performed the override (null if not overridden)
disputesAnotherBoolean!
Whether this classification is the result of a dispute on another classification (when applicable)
hasUnknownAnswersBoolean!
Whether there are any questions with an unknown answer in the classification questionnaire
hasUpdatedAnswersBoolean!
Whether there are questions with an updated answer from the Worker in the classification questionnaire.
hasWorkerCompletedAnswersBoolean!
Whether all questions for the worker has been resolved.
canChangeBoolean!
Whether this classification is allowed to be changed
canOverrideBoolean!
Whether this classification can be overridden
hasHireBlockingConditionBoolean!
Whether the hire has blocking conditions that prevent the classification from continuing
currentApprovalStateApprovalState
The overall state for approvals on the classification with a given trigger.
hasPendingApprovalBoolean!
Whether there is an approval request pending for the classification on the hire
titleString!
The user-friendly title for this classification
wcrTermString!
The WCR term used in the UI for this classification
hasUpdatedHireBoolean! Deprecated
Whether the hire has been updated since the determination input was provided
isReclassificationRequiredBoolean!
Whether the hire requires a reclassification
isClassificationActionRequiredBoolean!
Whether the current classification requires action from the user to be completed.
createdAtDateTime
The date and time the classification was created.
updatedAtDateTime
The date and time the classification was last updated.

ClassificationPaginator

A paginated list of Classification items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Classification!]!
A list of Classification items.

ClassificationResultDetails

Detailed information about a classification result including outcome, label, and title.

Fields
outcomeClassificationResult!
Canonical enum value (business logic)
labelString!
Short, user-friendly single-word/phrase
titleString!
Longer descriptive title of outcome

Client

The relationship between a worker and a company as seen from the workers perspective.

An equivalent relationship can be found for companies called TrustedContacts.

Fields
idID!
The ID of the client.
companyCompany!
The client company account.
statusContactStatus!
Status of the client relationship.
statusUpdatedAtDate!
The date that the status of the contact was last updated.
invitedAtDate!
The date that an invite as a contact was sent.
tokenString!
The unique invite token used to accept invites from clients.
originTrustedContactOrigin!
The origin of the contact.
originChannelTrustedContactOriginChannel!
The channel of origin of the contact.
requiresOnboardingBoolean!
If the client has onboarding steps that need to be completed as part of the relationship.
canLeaveClientBoolean!
Whether it’s possible at this time for the worker to end their relationship with the client.
onboardingDocuments[OnboardingDocument!]!
The onboarding documents associated with the client relationship.
onboardingStatusTrustedContactOnboardingStatus
The onboarding status of the client relationship.
requiredCustomFieldsCompleteBoolean!
Whether all required worker-editable custom fields have been filled.
customFieldValues[CustomFieldValue!]!
The custom field values for the client relationship.

Company

A company account — the primary hiring entity on Worksome.

Companies create jobs, manage a Talent Pool of trusted contacts, make hires, and process payments. A company may belong to one or more organisations and can work with staffing agencies and partners.

Fields
idID!
The ID of the company.
nameString!
The name of the company.
currencyString!
The company preferred currency.
marketMarketCode!
The market that the company is in.
avatarURL
The avatar (or profile picture) for the company.
profileProfile
The profile that the company has.
contactInviteUrlString
The company full invite url.
personalInviteUrlString
The personal invite URL for the authenticated user.

This link allows auto-approval to the company’s Talent Pool.
settingsCompanySettings
The settings for the company.
addressAddress
The address of the company.
hasActiveWebhooksBoolean!
If the account has active webhooks.
hasMultipleBusinessEntitiesBoolean!
If the account has multiple business entities.
usedEngagementTypeSetups[EngagementTypeSetup!]!
All engagement type setups that the company has ever used when engaging with workers.
externalIdentifierString
An identifier associated with the company from an external system.
trustedContactsTrustedContactPaginator!
The trusted contacts that the company has.
teamMembersUserPaginator!
The team members that the company has.
teamMembersAndOwnersUserPaginator!
The team members and owners that the company has.
organisationsOrganisationPaginator!
The organisations that a company is a part of.
customFieldsCustomFieldPaginator!
The custom fields that the company owns.
staffingAgenciesCompanyRecruiterPaginator!
The staffing agencies that the company has relationships with.

CompanyPaginator

A paginated list of Company items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Company!]!
A list of Company items.

CompanyRecruiter

A company recruiter relationship.

Fields
idID!
The ID of the company recruiter.
emailString
The mail of the recruiter.
statusContactStatus!
Status of the company recruiter.
tokenString
The token used to invite the recruiter.
messageString
The message sent to the recruiter when inviting them.
recruiterFeeFloat
The fee of the recruiter for the relationship.
recruiterOwnershipDaysInt
The days of ownership of the recruiter.
recruiterOwnershipDaysLeftInt!
The amount of days left of the ownership.
recruiterManagesWorkersBoolean!
Whether the recruiter manages workers for this company relationship.

Resolved from the per-relationship override if set, otherwise falls back to the company-level default.
hasHiresBoolean!
Whether there are any hires between this recruiter and company.
recruiterRecruiter!
The recruiter for this company recruiter.
companyCompany!
The company recruiter company.
tags[Tag!]!
The tags applied to the relationship.
externalIdentifierString
An identifier associated with the company recruiter from an external system.
customFieldValues[CustomFieldValue!]!
The custom field values for the company recruiter.

CompanyRecruiterPaginator

A paginated list of CompanyRecruiter items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[CompanyRecruiter!]!
A list of CompanyRecruiter items.

CompanySettings

Company settings.

Fields
projectTrackingBoolean
Whether project tracking is enabled.
requiredJobBudgetBoolean
Whether job budget is required.
multiCurrencyContractsDisabledBoolean
Whether a company has enabled multi currency contracts.
staffingAgencyManagesWorkerBoolean
Whether a company has enabled managing of workers by staffing agencies (company-level default).

This can be overridden per staffing agency relationship and per hire.
defaultMessageRemindWorkerToBillString
The company default message for reminding workers to bill.

Compliance

A compliance requirement that must be met for business processes to proceed.

Fields
actorComplianceActorTypes!
The party responsible for completing this compliance
nameComplianceName!
Unique identifier for this compliance requirement
applicableBoolean!
Whether this compliance applies to the current context
completedBoolean!
Whether this compliance has been completed
typeString
Optional categorization of the compliance
titleString!
Human readable title describing the compliance
descriptionString!
Detailed description of what needs to be done
actionComplianceAction
Optional action details if user input is required
validationDetailsComplianceValidationDetails
Details about validation status and any blocking issues

ComplianceAction

A compliance action represents an action that can be taken to complete a compliance requirement.

Fields
actionString!
URL or route where the action can be performed.
titleString!
Title of the action button or link
descriptionString!
Description of what the action will do
buttonTextString
Optional button copy text
tooltipString
Optional tooltip text for additional context

ComplianceValidationDetails

Validation details for a compliance requirement.

Fields
isValidBoolean!
Whether the compliance passes all validation checks
issues[String!]!
List of validation issues preventing completion

Contract

A legal agreement between a company and a worker within a hire.

A hire may have multiple contracts over its lifetime (e.g. an initial draft, an active contract, and amended versions). The activeContract on a hire is the currently accepted agreement between the parties.

Fields
idID!
The ID of the contract.
jobNameString!
The name of the contract that the job is for.
jobDescriptionString!
The description of the contract that the job is for.
locationPreferenceLocationPreference
The location preference of the contract.
statusContractStatus!
The status of the contract.
startDateDate
The date that the contract started.
endDateDate
The date that the contract ended.
locationAddress
The address location associated to the contract.
addressString
The address of the contract.
currencyCurrency!
The type of currency.
rateTypeRateType
The unit of time when payment is due.
rateFloat
The payment amount per specified rate type.
purchaseOrderNumberString
The Purchase Order (PO) number.
companyCvrString
The company’s Central Virksomhed (Company) Registration (CVR) number.

For more information, visit: https://datacvr.virk.dk
pdfUrlURL
A URL of the actual contract.

This URL will link to a PDF for the contract. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the contract, it should be stored in the clients own system.
paymentTermMethodPaymentTermMethod!
The method of payment over the specified term.
paymentTermInt!
The term that the payment will be made within, in days.

Example paymentTerm: 10 means Worksome will pay the worker’s approved payment requests within 10 days.
termsAcceptedBoolean!
Whether the contract’s terms have been accepted.
termsAcceptedAtDateTime
The date that the terms were accepted.
workerAcceptedAtDateTime
The date that the terms were accepted by a worker.
workerSignatureString
The submitted signature of the accepted worker.
jobJob!
The job for which the contract is for.
workerWorker
The worker for which the contract is for.
companyCompany!
The company for which the contract is for.
companyContactUser
The company contact person for the contract.
businessEntityBusinessEntity
The business entity associated with the contract.
companyNameString
The company name associated with the contract.
companyLocationAddress
The company location associated with the contract.
files[File!]!
The files attached to the contract (e.g. SOW, NDA, supporting documents).
contractDocuments[ContractDocument!]!
The contract documents (e.g. KID, onboarding documents) generated for the contract.
milestoneDetailsMilestoneDetailPaginator!
The latest milestone details at the time of creation of the contract.

ContractDocument

A document associated with a contract (e.g. KID, onboarding document).

Fields
idID!
The ID of the contract document.
docTypeString
The type of document (e.g. Key Information Document, Contract Document, Onboarding Document).
pdfUrlString
URL to download the PDF version of this document.
createdAtDateTime
The date and time the document was created.
updatedAtDateTime
The date and time the document was last updated.

ContractPaginator

A paginated list of Contract items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Contract!]!
A list of Contract items.

Conversation

A conversation between a company and a worker.

Fields
idID!
The ID of the conversation.
subjectString!
The subject line of the conversation.
jobJob
The job that the conversation is related to.
latestMessageMessage
The latest message sent in the conversation.
urlURL!
The URL for the conversation.
createdAtDate!
The date that the conversation was created.
isClosedBoolean!
Whether the conversation is closed.
isUnreadBoolean!
Whether the conversation is unread by the authenticated user.
closedAtDate
The date that the conversation was closed.
messagesMessagePaginator!
The messages in the conversation.
participantsParticipantPaginator!
The participants involved in the conversation.

ConversationPaginator

A paginated list of Conversation items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Conversation!]!
A list of Conversation items.

Country

A country.

Fields
isoCodeCountryCode!
The ISO 3166 alpha-2 code.

This is a two-letter country identifier (e.g. US).
nameString
The full name of the country.

CreateCustomTimeSheetResponse

The response from creating a custom timesheet.

Fields
providedRegistrationsInt!
The number of timesheet registrations that were detected.
successfulRegistrationsInt!
The number of timesheet registrations that were successfully parsed.

CreateExportResponse

A response with data from the export creation.

Fields
statusExportResponseStatus!
The status of the export.
messageString!
A message explaining the result of the export.

CustomField

A custom field.

Fields
idID!
The ID of the field.
userUser
The user that created the field.

The user may have been deleted in which case we return null.
accountAccount!
The account that the field is owned by.
titleString!
The title of the field.
slugString
A unique human-readable key for the field, preferably in a slug format with lowercase and hyphens to replace spaces. The key is only unique within the same account.
descriptionString
The description of the field.
fieldTypeCustomFieldType!
The type of the field.
appliesToTypeSupportingCustomFieldValues!
The type of item that the field applies to.
customFieldOptions[CustomFieldOption!]!
The possible options for the field.
settingsCustomFieldSettings!
Additional custom field settings.

For example, validation rules.
visibilityCustomFieldVisibility!
To which people should the custom field be visible to.
customFieldValues[CustomFieldValue!]!
The custom field related values which were applied on an entity.
isUsedInFieldValuesBoolean!
Whether the field has been applied to an entity supporting custom fields.
ruleWorkflowVariableRule
Access to the approval rule field pivot, containing the operator and rule value.
approvalBoolean!
Whether the field is enabled for approval workflows.
viewerCanUpdateBoolean!
Whether the user querying the field can edit it.
apiOnlyBoolean!
Whether the field is enabled to be updated by the API only.
workerInputAllowedBoolean!
Whether workers are allowed to provide values for this field. When enabled, workers can update field values through the worker API.
recruiterInputAllowedBoolean!
Whether recruiters (staffing agencies) are allowed to provide values for this field. When enabled, recruiters can update field values through the recruiter API.
viewerCanManageFieldValuesBoolean!
Whether the user querying the field can edit the field value. Not to be confused with ‘viewerCanUpdate’ which indicates if the user can edit the field itself, not the field value.
createdAtDateTime!
The date and time that the field was created.
updatedAtDateTime
The date and time that the field was updated.
deletedAtDateTime
The date and time that the field was deleted.

CustomFieldOption

A custom field option.

Fields
idID!
The ID of the field option.
customFieldCustomField!
The field that the field option is valid for.
displayOrderInt!
The display order of the field option.

This is an unsigned integer.
valueString!
The value of the field option.

CustomFieldPaginator

A paginated list of CustomField items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[CustomField!]!
A list of CustomField items.

CustomFieldSettings

The settings for a custom field.

Fields
validation[CustomFieldValidationRules!]!
Validation rules for the custom field.

CustomFieldValue

A custom field value.

Those represents the custom fields value filled for an entity supporting custom fields.

e.g: You’ve defined a free-text “sector” custom field applying to Job entities. Say you have a job which is in the “IT” sector. You’d need to create a custom field value with field_id = <sector field id>, and content = "IT".

Fields
idID!
The ID of the field value.
accountAccount!
The account that the field value is owned by.
userUser!
The user who created the field value.
appliesToSupportsCustomFieldValue!
The entity to which the custom field value is applying to.
customFieldCustomField!
The field that the field value is valid for.
customFieldOptionCustomFieldOption
The field option which was applied for that field to the entity supporting custom fields.

This will be present for a single-select field type.
contentString
The content of the custom field value in the case of a custom field not using custom field options.

This will be present for a free-text field type.
displayValueString
A representation of the value for easier display.

This gives a “human” representation of the custom field value no matter the field type.

For example, this will return content for a free-text value, or will return the custom field option value for a single-select value.

Employment

An employment record for a worker engaged on payroll through Worksome or an Employer of Record (EoR) partner.

Employment records track the formal payroll relationship when a worker is employed rather than operating as an independent contractor. A hire may have an associated employment when the engagement uses a payroll arrangement; not all hires have one.

Fields
idID!
The ID of the employment.
workerWorker!
The worker that the employment relates to.
employerOfRecordAccount
The employer of record for this employment.
hiringManagers[User!]!
The hiring managers for this employment.
statusEmploymentStatus!
The employment status for the employment.
onboardingStatusEmployerRecordStatus!
The employer record status for the employment.
startDateDate
The start date of the employment.
endDateDate
The end date of the employment.
firstPayrolledAtDateTime
The date when the worker was first payrolled.
previouslyHiredBoolean
Indicates if the worker was previously hired.
createdAtDateTime
The date and time that the employment was created.
updatedAtDateTime
The date and time that the employment was updated.
isOnboardedBoolean
Whether the employment is onboarded.
onboardedAtDateTime
The date when the employment was onboarded (status set to Complete).
hiresHirePaginator!
The hires associated with this employment.
employmentCostsEmploymentCostPaginator!
The employment costs applied to the employment.

EmploymentCost

An employment cost.

Fields
idID!
The ID of the employment cost.
categoryEmploymentCostCategory!
The category of the employment cost.
typeEmploymentCostType!
The type of the employment cost.
frequencyEmploymentCostFrequency!
The frequency of the employment cost.
amountFloat!
The amount of the employment cost.
currencyString
The currency of the employment cost.
createdAtDateTime
The date and time that the employment cost was created.
updatedAtDateTime
The date and time that the employment cost was updated.

EmploymentCostPaginator

A paginated list of EmploymentCost items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[EmploymentCost!]!
A list of EmploymentCost items.

EmploymentPaginator

A paginated list of Employment items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Employment!]!
A list of Employment items.

Expense

An expense line item within an expense report.

Expenses represent individual costs incurred by a worker during an engagement, such as travel or materials. They are grouped into expense reports and submitted alongside payment requests for approval.

Fields
idID!
The ID of the expense.
descriptionString
The description of the expense.
currencyCurrency!
The currency of the expense.
amountFloat!
The amount of the expense.
vendorString!
The vendor of the expense.
expenseAtDateTime!
The date and time that the expense was expensed.
createdAtDateTime!
The date and time that the expense was created.
filesFilePaginator!
The files attached to this expense.

ExpensePaginator

A paginated list of Expense items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Expense!]!
A list of Expense items.

ExpenseReport

An expense report.

Fields
idID!
The ID of the expense report.
titleString
The title of the expense report.
descriptionString
The description of the expense report.
totalFloat!
The total of the expense report.
isDraftBoolean!
Whether the expense report is a draft.
createdAtDateTime
The date and time that the expense report was created.
expensesExpensePaginator!
The expenses on the expense report.

ExpenseReportPaginator

A paginated list of ExpenseReport items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[ExpenseReport!]!
A list of ExpenseReport items.

File

A file.

Fields
idID!
The ID of the file.
nameString!
The name of the file.
titleString
The title of the file (optional display name).
sizeInt!
The size of the file in bytes.
mimeTypeString!
The IANA MIME type of the file.
ownerAccount!
The account that the file belongs to.
urlString!
The URL that should be used to download the file.

This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the file, it should be stored in the clients own system.
createdAtDateTime
The date and time the file was created.
updatedAtDateTime
The date and time the file was last updated.

FilePaginator

A paginated list of File items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[File!]!
A list of File items.

Gate

A gate represents a collection of related compliance requirements.

Fields
actorComplianceActorTypes!
The primary party responsible for this gate’s requirements
nameComplianceName!
Unique identifier for this gate
compliances[Compliance!]!
List of individual compliance requirements in this gate
completedBoolean!
Whether all applicable compliances in this gate are complete
applicableBoolean!
Whether this gate applies to the current context
titleString!
Human readable title describing the gate’s purpose
descriptionString!
Detailed description of what needs to be done in this gate

Hire

A representation of an engagement between a company and a worker on a job.

A hire tracks the agreement between parties to work together. It is not itself a legal document — the contracts attached to the hire (Hire.contracts, Hire.activeContract) are the legal agreements.

A hire progresses through a lifecycle: DRAFTOFFEREDREADYACTIVEENDED. It may also be CANCELLED (before activation) or TERMINATED (ended early by the company).

Fields
idID!
The ID of the hire.
numberString!
The unique reference for the hire.
latestContractContract!
The latest contract, not necessarily the active one.

The latest contract could for example be a draft, if one of the parties wanted to make changes to the currently active contract. see hire.activeContract for the current active one.
activeContractContract
The currently active contract.

This has been accepted by all parties and is the active legal document between them.
pendingContractChangesBoolean!
If there are pending changes to the contract that are awaiting acceptance by the worker.
companyCompany!
The company which the worker will work with.
jobJob!
The job that the hire is on.
recruiterRecruiter
The recruiter attributed to the hire.
contractTypeContractType!
The contract type for the hire (e.g., ‘SOW’, ‘Sole Trader’, etc.).
engagementTypeEngagementType
The engagement type for the hire (e.g., ‘payroll’, ‘contractor’, ‘external’, ‘pending’). This represents the nature of the working relationship.
engagementTypeLabelString
A descriptive label for the engagement type (e.g. ‘Employee’, ‘Contractor’, etc.).
engagementTypeSetupEngagementTypeSetup
The engagement type setup for the hire (e.g. ‘W-2’, ‘InsideIR35’, ‘GlobalPayroll’, etc.).
engagementTypeSetupLabelString
A descriptive label for the engagement type setup (e.g. ‘PAYE’, ‘Inside IR35’, ‘Outside IR35’, etc.).
contractTypeShortString
A short code or abbreviation representing the contract type (e.g., ‘W2’, ‘IR35’, etc.).
contractTypeLabelString!
A descriptive label for the contract type. e.g. ‘Subject to Worksome Classify’.
usesClassificationBoolean!
If this hire is using Worksomes Classify for determining its classification.
wcrWcr Deprecated
The Worksome Classification Recommendation (WCR) currently linked to this hire.
classificationClassification
The worksome classification recommendation represents a worker classification (SDS/WCR) for a hire.

This can be various types of classifications like IR35, US Worker Classification, etc.
classificationResultClassificationResult! Deprecated
The result of classification.
classificationLabelString Deprecated
A context dependent label that helps interpret the classification result. It can return a much wider array of labels than the classificationResult can and therefore should be used when displaying the legal context for the classification.
classificationPdfUrlString! Deprecated
A URL of the classification documentation result.

This URL will link to a PDF for the classification result is present. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the classification result, it should be stored in the clients own system.
workerWorker!
The worker which the company is hiring.
conversationConversation
The conversation in which the hire is happening.

If the hire is stuck in an approval flow, there can exist a situation where no conversation exists yet.
employmentEmployment
The employment record for the worker on this hire when they are employed by Worksome or an EoR partner.

Note: This employment is not always tied to a specific hire.
createdAtDate!
The date that the hire was created.
startDateDate
The date that the hire started.
endDateDate
The date that the hire ended.
recruiterOwnershipStartDateDate
The date that recruiter ownership started.
recruiterFeePercentage
The recruiter’s fee.
recruiterOwnershipDaysInt
The number of ownership days for the recruiter.
recruiterOwnershipIsExpiredBoolean
Indicates whether or not the recruiter ownership has expired yet.
recruiterOwnershipDaysLeftInt
Number of days left in the recruiter’s ownership.
currencyString!
The currency of the hire.
rateFloat
The rate for the hire.
rateTypeString
The rate type for the hire.
statusHireActiveStatus!
The current lifecycle status of the hire.

See activeStatus for the same value. Possible values: DRAFT, OFFERED, READY, ACTIVE, ENDED, CANCELLED, TERMINATED.
offeredAtDate
The date that the hire became active.
externalIdentifierString
An identifier associated with the hire from an external system.
purchaseOrderNumberString
The assigned Purchase Order (PO) number, if one has been added.
recruiterManagesWorkersBoolean
Whether the assigned recruiter manages workers.
canRemoveRecruiterBoolean
Whether the assigned recruiter can be removed from the hire.
canRemindWorkerForBillingBoolean!
Whether the assigned worker can be reminded for billing.
userUser
The user who created the Hire.
activeStatusHireActiveStatus!
The current lifecycle status of the hire.

Possible values: DRAFT, OFFERED, READY, ACTIVE, ENDED, CANCELLED, TERMINATED.
canTerminateContractBoolean!
If the company can terminate the contract of the hire.
canCancelContractBoolean!
If the company can cancel the contract of the hire.
hasMilestonesBoolean!
If milestones exists for the hire.
hasEmploymentBoolean!
If an employment record exists for the hire.
hasDraftContractBoolean!
If there is a draft contract for the hire.
triggersApprovalBoolean
If the hire triggers approval
currentApprovalStateApprovalState
The overall state for approvals on the hire with a given trigger.
owners[User!]!
The owners of the hire.
endsWithinDaysBoolean!
Check if this hire ends within a given number of days.
tenureInt!
The number of days the hire has been active (tenure).
sourceHireHire
The source hire this hire was derived from.
supplierHireHire
The supplier-side hire derived from this source hire.
viewerCanAcceptContractBoolean!
Checks if the current viewer has the correct permissions to be able to accept the contract and that all blocking actions have been completed.
viewerCanCreatePaymentRequestBoolean!
Whether the current viewer can create a new payment request for this hire. Uses the createBill policy (worker or recruiter with access-placements) plus hire state.
contractsContractPaginator!
The contracts for the hire.

These are legal documents, however it can contain old contracts and drafts also.
paymentRequestsPaymentRequestPaginator!
The payment requests created on the hire.
milestonesMilestonePaginator!
The milestones for the hire.
approvalsApprovalPaginator!
The approvals on a hire.

HirePaginator

A paginated list of Hire items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Hire!]!
A list of Hire items.

Industry

An industry.

Fields
idID!
The ID of the industry.
nameString!
The name of the industry.

IndustryPaginator

A paginated list of Industry items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Industry!]!
A list of Industry items.

Invoice

An invoice issued to a company for approved worker payment requests.

An invoice is created when one or more worker payment requests are approved by a company user. It defines the total amount due from the company to Worksome and tracks the payment lifecycle.

Fields
idID!
The ID of the invoice.
numberString
A number referencing the invoice.

This is usually printed on the invoice itself and should be used by booking system and finance departments.

The invoice number is in a human readable format.
pdfUrlURL!
A URL of the actual invoice.

This URL will link to a PDF for the invoice. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the invoice, it should be stored in the clients own system.
currencyCurrency!
The type of currency.
grossAmountFloat!
The total amount including taxes etc.
grossOpenAmountFloat!
The total amount due on invoice minus credited amounts including taxes etc.
taxAmountFloat!
The total amount of taxes to be paid.
netAmountFloat!
The total amount without taxes.
markedPaidAtDate
The date that the invoice was marked paid by Worksome.

This date might vary from the actual date it was paid, as it takes time for a payment to go through and be validated.
dueDateDate!
The date that the invoice should be paid by.
companyCompany!
The company that the invoice is for.
dateDate!
The date that the invoice was created.
isBatchedBoolean!
Checks if the invoice is a batched invoice.

A batch invoice aggregates multiple payment requests together in one, summarised invoice over a period of time. This reduces the overhead of processing high volumes of payment requests and corresponding invoices.
transactionTypeInvoiceTransactionType!
The type of transaction to be used for the invoice.
isFullyCreditedBoolean!
Checks if the invoice has been fully credited.
isOverDueBoolean
Checks if the invoice is overdue.
creditNotes[Invoice!]!
The credit notes associated with the invoice.
originalInvoiceInvoice
The original invoice credited by this credit note.
externalIdentifierString
An external identifier for the invoice, used to reference it in external systems.
rowsInvoiceRowPaginator!
A paginated list of all the rows on the invoice.

This can be used to gather more information about the invoice than just the overall amount.

InvoicePaginator

A paginated list of Invoice items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Invoice!]!
A list of Invoice items.

InvoiceRow

A row on the invoice.

Fields
idID!
The ID of the invoice row.
paymentRequestPaymentRequest
The payment request which the row on the invoice is related to.
workerWorker
The worker that is linked to this row.
customTextString
A custom text which will be shown on the invoice PDF.

InvoiceRowPaginator

A paginated list of InvoiceRow items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[InvoiceRow!]!
A list of InvoiceRow items.

Job

A job posting created by a company on Worksome.

Jobs start in DRAFT status after creation via createJob, then move to ACTIVE once published via updateJob. A job can be shared with the marketplace, trusted contacts, or staffing agencies depending on its visibility settings. Workers can submit bids on published jobs, and the company can hire from those bids or directly hire a trusted contact.

Fields
idID!
The ID of the job.
numberInt!
The unique reference for the job.
nameString!
The name of the job.
skills[Skill!]!
The skills required for the job.
descriptionString
The description of the job.
marketMarketCode!
The market that the job is in.
statusJobStatus
The status of the job.
addressString Deprecated
The address of the job.
locationAddress!
The address location associated to the job.
currencyCurrency!
The type of currency.
rateTypeRateType
The unit of time when payment is due.
rateFloat
The payment amount per specified rate type.
minimumRateFloat
The minimum payment amount per specified rate type.
maximumRateFloat
The maximum payment amount per specified rate type.
paymentSchemePaymentScheme Deprecated
The payment scheme that the job will use.
companyFeeStrictPercentage
The company fee (as a percentage).
workerFeeStrictPercentage
The worker fee (as a percentage).
associationAssociation
The project type of the job.
projectProject
The project the job associated to.
internalBudgetFloat
Internal budget of the project.
spentFloat!
Total job spent.

Only enterprise company owning the job could access the budget.
expectedExperienceLevel[ExpectedExperienceLevel!]!
The expected experience levels required for the job.
locationPreferenceLocationPreference
The location preference of the job.
startDateDate
The date that the job started.
startDateTimeframeJobStartTimeframe
The timeframe within the job is likely to start
endDateTimeframeJobEndTimeframe
The timeframe within the job is likely to end
endDateDate
The date that the job ended.
attachments[File!]!
The files attached to the job.
isExtensionAvailableBoolean
Whether the job can be extended.
evaluationPeriodEvaluationPeriod
The period of time required to reply to candidates.
languages[Language!]!
The languages required for the job.
industries[Industry!]!
The industries that the worker requires experience in for the job.
requiredWorkersInt
The number of workers that are required for the job.

If excluded, the default is 1 profile.
owners[User!]!
The owners of the job posting.
customFieldValues[CustomFieldValue!]!
Additional custom fields values for the job.

Details specified in this will only be visible to you and your team members, not to workers.
visibility[JobVisibility!]!
The audiences that will be able to see the job listing.
approvedBoolean!
Whether the job has been approved by Worksome.
availableBoolean!
Whether the job is available to receive offers.
pausedBoolean!
Whether the job is currently paused.
completedBoolean!
Whether the job is completed.
publishedBoolean!
Whether the job has been published.
draftBoolean!
Whether the job is a draft.
removedBoolean!
Whether the job has been removed/discarded while being published and before having any hires.
removedCauseString
The cause for removal of the Job.
publishedAtDateTime
The date and time that the job was published.
companyCompany!
The company that the job is for.
regionString
The region for the job.
urlURL!
The URL for the job.
viewerCanDeleteBoolean!
Whether the viewer is able to delete the job.
viewerCanEditBoolean!
Whether the viewer is able to edit the job.
viewerCanShareBoolean!
Whether the viewer is able to share the job.
viewerCanCreateJobCandidateBoolean!
Whether the viewer is able to create a job candidate.
viewerCanCreateHireBoolean!
Whether the viewer is able to create a hire on the job.
createdAtDateTime!
The date and time that the job was created.
updatedAtDateTime!
The date and time that the job was updated.
isForContactsBoolean!
Whether the job is shared with contacts.
isForRecruitersBoolean!
Whether the job is shared with recruiters.
isForMarketplaceBoolean!
Whether the job is shared publicly on the marketplace.
externalIdentifierString
An identifier associated with the job from an external system.
canBePublishedBoolean!
Determines if the job can be published.
isJobPostBoolean
Whether the job is a job post.
isAvailableBoolean
Whether the job is available.
sourceJobJob
The source job this job was derived from.
supplierJobJob
The supplier-side job derived from this source job.
hiresHirePaginator!
The hires made on the job.
conversationsConversationPaginator!
The conversations involving the job.
notesNotePaginator!
The notes added to the job.
paymentRequestsPaymentRequestPaginator!
The payment requests created on the job.
bidsBidPaginator!
The bids submitted for the job.
sharesJobSharePaginator!
The contacts that this job was shared with.
jobCandidatesJobCandidatePaginator!
The workers candidates for this job.

JobCandidate

The relation between a job and a worker, making them a candidate for the job.

Fields
idID!
The ID of the approvals.
jobJob!
The job for which the worker is a candidate.
workerWorker!
The worker who is a candidate for the Job.
bidBid
The active bid made by the worker for the job.
hireHire
The hire created by the company for the job and worker pairing.
jobShareJobShare
The job share reference if the worker was invited to apply.
sourcingChannelSourcingChannel!
The sourcing channel that the worker came from as a job candidate.
ownerAccount
The owner of the submitted candidate. Only applies if the candidate was submitted.
stepJobCandidateHiringStep!
The step of the hiring process that the job candidate is in.
statusJobCandidateStatus!
The status of the job candidate.
statusReasonJobCandidateStatusReason
When not eligible anymore, indicates why the job candidate is not.
statusCommentString
Added comment regarding the reason for the job candidate not being eligible.
isPreferredBoolean!
Whether the candidate has been selected as preferred.
statusSetByUserUser!
The user that last changed the job candidate status.
stepSetByUserUser!
The user that last changed the job candidate step.
createdAtDateTime!
The date and time that the job candidate was created.
createdByUserUser!
The user that created the job candidate.
updatedAtDateTime
The date and time that the job candidate was last updated.
updatedByUserUser
The user that last updated the job candidate.
viewerCanUpdateStatusBoolean!
Whether the viewer can update the job candidate status.
viewerCanUpdatePreferredBoolean!
Whether the viewer can update the job candidate preferred.
sourceCandidateJobCandidate
The source candidate this was presented from in a mirror setup.

JobCandidatePaginator

A paginated list of JobCandidate items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[JobCandidate!]!
A list of JobCandidate items.

JobPaginator

A paginated list of Job items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Job!]!
A list of Job items.

JobShare

The contacts that the job was shared with.

Fields
idID!
The ID of the job share.
accountJobShareableAccount!
The account that the job share belongs to.
isActiveBoolean!
Whether the job share is active.
createdAtDateTime!
The date and time that the job share was created.
jobJob!
The job that the job share is related to.

JobSharePaginator

A paginated list of JobShare items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[JobShare!]!
A list of JobShare items.

Language

A language that is required for a job.

Fields
nameLanguageName!
The name of the language.
experienceFluency!
The required level of the language.

LegacyTimesheet

A legacy timesheet.

This is only for internal use within the Worksome platform.

Fields
formatLegacyTimesheetType Deprecated
The format of the legacy timesheet.
htmlString Deprecated
The HTML representation of the legacy timesheet.

Link

A link on a profile.

Fields
titleString!
The title of the link.
urlString!
The URL of the link.

Market

A geographic market in which Worksome operates (e.g. UK, US, Denmark).

Markets determine applicable compliance rules, currencies, and employment regulations for accounts and jobs.

Fields
codeMarketCode!
The market code.
nameString!
The name of the market.

Message

A message as part of a conversation.

Fields
idID!
The ID of the message.
bodyString
The body of the message.
authorUser
The author of the message.
urlURL!
The URL for the message.

MessagePaginator

A paginated list of Message items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Message!]!
A list of Message items.

Milestone

A deliverable-based milestone within a hire.

Milestones allow companies and workers to break an engagement into discrete deliverables, each with its own amount and completion status. Payment can be tied to milestone completion rather than time-based billing.

Fields
idID!
The ID of the milestone.
nameString!
The name of the milestone.
purchaseOrderNumberString
The Purchase Order (PO) number of the milestone.
statusMilestoneStatus!
The current status of the milestone.
detailsMilestoneDetail!
The current details of the milestone.
hireHire!
The hire that the milestone belongs to.
paymentRequestsPaymentRequestPaginator!
The payment requests that the milestone is related to.

MilestoneDetail

Milestone details.

Fields
idID!
The ID of the milestone details.
dueDateDate!
The due date of the milestone detail.
amountFloat!
The total amount of the milestone detail.
milestoneMilestone!
The milestone that the details belong to.
contractsContractPaginator!
The contracts that the details belong to.

MilestoneDetailPaginator

A paginated list of MilestoneDetail items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[MilestoneDetail!]!
A list of MilestoneDetail items.

MilestonePaginator

A paginated list of Milestone items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Milestone!]!
A list of Milestone items.

MultiFactorPaginator

A paginated list of MultiFactor items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[MultiFactor!]!
A list of MultiFactor items.

Note

A note for an entity.

Fields
idID!
The ID of the note.
titleString!
The title of the note.
bodyString!
The body of the note.
authorUser!
The author of the note.
notableNotable!
The entity that the note belongs to.
accountAccount!
The account that the note belongs to.
createdAtDateTime!
The date and time that the note was created.
updatedAtDateTime!
The date and time that the note was updated.
viewerCanUpdateBoolean!
Whether the viewer is able to update the note.
viewerCanDeleteBoolean!
Whether the viewer is able to delete the note.

NotePaginator

A paginated list of Note items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Note!]!
A list of Note items.

OnboardingDocument

An onboarding document for a trusted contact.

Fields
idID!
The ID of the onboarding document.
fileFile
The file associated with this document.
pdfUrlString
The URL to view or download the PDF document.
freelancerAcceptedAtDate
The date when the worker accepted the document.
isAcceptedBoolean!
Whether the document has been accepted by the worker.

Organisation

An organisation — a parent entity that groups one or more companies (divisions) under a shared structure.

Organisations provide a unified view across their divisions for talent pools, reporting, and governance. They do not create jobs or make hires directly; those actions are performed by the individual company divisions.

Fields
idID!
The ID of the organisation.
nameString!
The name of the organisation.
marketMarketCode!
The market that the organisation is in.
avatarURL
The avatar (or profile picture) for the organisation.
divisionsCompanyPaginator!
The divisions that an organisation contains.

OrganisationPaginator

A paginated list of Organisation items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Organisation!]!
A list of Organisation items.

Overtime

An overtime entry automatically calculated from a timesheet.

When a worker logs hours that exceed the standard threshold for a billing period, overtime entries are generated automatically. Each entry captures the duration, applicable rate multiplier, and the resulting total, and is linked to the timesheet that triggered it and the payment request where it is billed.

Fields
idID!
The ID of the overtime.
typeOvertimeType!
The type of the overtime.
durationFloat!
The duration of the overtime.
rateFloat!
The rate of the overtime.
rateMultiplierFloat!
The rate multiplier for the overtime.
totalInt!
The total of the overtime.
workerWorker
The worker that the overtime is for.
paymentRequestPaymentRequest
The payment request on which the overtime is charged.
timesheetTimesheet!
The timesheet which prompted the creation of overtime.
contributingPaymentRequestNumbers[ID!]!
The payment request numbers which contain contributing timesheets.
createdAtDateTime!
The date and time that the overtime was created.
updatedAtDateTime!
The date and time that the overtime was updated.

OvertimePaginator

A paginated list of Overtime items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Overtime!]!
A list of Overtime items.

PaginatorInfo

Information about pagination using a fully featured paginator.

Fields
countInt!
Number of items in the current page.
currentPageInt!
Index of the current page.
firstItemInt
Index of the first item in the current page.
hasMorePagesBoolean!
Are there more pages after this one?
lastItemInt
Index of the last item in the current page.
lastPageInt!
Index of the last available page.
perPageInt!
Number of items per page.
totalInt!
Number of total available items.

Participant

A participant in a conversation.

Fields
idID!
The ID of the participant.
conversationConversation!
The conversation that the participant is a part of.
accountAccount!
The account of the participant.

ParticipantPaginator

A paginated list of Participant items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Participant!]!
A list of Participant items.

Partner

A partner account — an employment or compliance partner that facilitates hiring on behalf of companies.

Partners provide services such as Employer of Record (EoR) and payroll management to companies using Worksome. They do not create jobs or hire workers directly.

Fields
idID!
The ID of the partner.
nameString!
The name of the partner.
slugString!
The slug of the partner.
currencyString!
The partner preferred currency.
marketMarketCode!
The market that the partner is in.
avatarURL
The avatar (or profile picture) for the partner.
addressAddress
The address of the partner.
primaryBusinessEntityBusinessEntity
The primary business entity of the partner.
primaryProfileProfile
The primary profile of the partner.

PaymentRequest

A payment request.

Fields
idID!
The ID of the payment request.
workerWorker!
The worker attached to the payment request.
recruiterRecruiter
The Recruiter, if any, attached to the payment request.
companyCompany!
The Company attached to the payment request.
numberString!
The unique reference for the payment request.
purchaseOrderNumberString
The purchase order number assigned to the payment request.
startDateDate
The date that the billing period started.
endDateDate
The date that the billing period ended.
currencyCurrency!
The currency used for this payment request.
rateFloat
The charged rate for this payment request.
rateTypeRateType
The rate type required for this payment request.
rateTypeNameString!
The human friendly rate type required for this payment request.
ratetypeNameSlashString
The abbreviated human friendly rate type required for this payment request.
rateQuantityFloat!
The quantity of the selected rate type for the payment request.

The rate type can be seen by looking at PaymentRequest.rateType and the rate can be seen by looking at PaymentRequest.rate.
serviceAmountFloat!
The fee for using the Worksome Platform. This will change depending on who is viewing the api.
expensesAmountFloat!
The total amount of expenses reported on the payment request.
invoiceInvoice
The invoice generated for this payment request.
netAmountFloat!
The total amount excluding taxes.
grossAmountFloat!
The total amount including taxes.
recruiterFeeAmountFloat!
The agreed fee on the payment request between the company and recruiter.

Only the company and recruiter can see this.
employmentCostAmountFloat!
The employment cost. The fee for payrolling a Worker.

Only the Company can see this.
billedAmountFloat!
The total amount excluding fees and expenses.
billedAmountWithExpensesFloat!
The total amount including fees and expenses.
dateDate!
The date that the payment request was created.
manuallyApprovedAtDate
The date that the payment request was manually approved.
approvedByUser
The user that approved the payment request.
autoApprovedAtDate
The date that the payment request was automatically approved (if applicable).
rejectedAtDate
The date that the payment request was rejected (if applicable).
prepaidAtDate
The date that the payment request was prepaid (if applicable).
issuedAtDate
The date that the payment request was issued (if applicable).
cancelledAtDate
The date that the payment request was cancelled (if applicable).
paidAtDate
The date that the payment request was paid (if applicable).
payrolledAtDate
The date that the payment request was payrolled (if applicable).
dueAtDate
The date that the payment request is or was due.
completedAtDate
The date that the payment request is or was completed (if applicable).
processedAtDate
The date that the payment request is or was processed (if applicable).
hireHire
The hire attached to the payment request.
jobJob!
The job attached to the payment request.
messageMessage
The message attached to the payment request.
commentsString
The comments relevant to the payment request.
workerStatusPaymentRequestWorkerStatus!
The worker status relevant to the payment request.
workerPayoutStatusPaymentRequestWorkerPayoutStatus!
The worker payout status for the payment request.

This represents whether the worker has been paid.
statusPaymentRequestStatus!
The approval status of the payment request.
timesheetTimesheet
The timesheet attached to the payment request.
legacyTimesheetLegacyTimesheet Deprecated
The legacy timesheet attached to the payment request.

This is only for internal use within the Worksome platform.
externalIdentifierString
An external identifier for the payment request, used to reference it in external systems.
sourcePaymentRequestPaymentRequest
The source payment request this record was derived from.
clientPaymentRequestPaymentRequest
The client-side payment request derived from this source.
filesFilePaginator!
The files attached to the payment request.

There could potentially be a timesheet stored as a separate file.
expenseReportsExpenseReportPaginator!
The expense reports for the payment request.
batchesBatchPaginator!
The batches for the payment request.
milestonesMilestonePaginator!
The milestones for the payment request.
overtimesOvertimePaginator!
The overtimes for the payment request.
supplierInvoicesSupplierInvoicePaginator!
The supplier invoices for the payment request.

Supplier invoices are only available to suppliers.

PaymentRequestPaginator

A paginated list of PaymentRequest items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[PaymentRequest!]!
A list of PaymentRequest items.

Profile

A public-facing profile for a worker or company on Worksome.

Profiles contain biographical information, descriptions, and other details that are visible to other users on the platform.

Fields
idID!
The ID of the profile.
urlURL!
The URL for the profile.
links[Link!]!
The links for the profile

Project

A project with a budget containing one or more jobs.

Fields
idID!
The ID of the project.
nameString!
The name of the project.
descriptionString
The description of the project.
currencyCurrency!
The currency used for this project.
creatorUser!
The creator of the project.
companyCompany!
The company that the project is for.
internalBudgetDecimal
The total internal budget for the project.
allocatedBudgetDecimal!
The sum of all associated job budgets that have been allocated to the internal budget of the project.
spentDecimal!
The amount that is spent out of the internal budget for the project. Spent for the project budget is registered when a bill is approved on an associated job.
endDateDate
The date that the project ended.

If this is set to null, we will assume that the project is not yet ended but active.
owners[User!]!
The owners of the project.
externalIdentifierString
An identifier associated with the project from an external system.
jobsJobPaginator!
Jobs added to this project.

ProjectPaginator

A paginated list of Project items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Project!]!
A list of Project items.

Recruiter

A staffing agency account that sources and manages workers on behalf of companies.

Staffing agencies can be attributed to hires, manage workers during engagements, and earn fees based on their ownership period. Companies establish relationships with staffing agencies to leverage their talent sourcing capabilities.

Fields
idID!
The ID of the recruiter.
nameString!
The name of the recruiter.
marketMarket!
The market that the recruiter is in.
initialsString!
The initials of the recruiter
avatarURL
The avatar (or profile picture) for the recruiter.
ownerUser
The owner of the recruiter account
clients[CompanyRecruiter!]!
The client relationships that the staffing agency has.
candidates[RecruiterCandidate!]!
The candidate relationships that the recruiter has.

RecruiterCandidate

A recruiter candidate relationship.

Fields
idID!
The ID of the recruiter candidate.
recruiterRecruiter!
The recruiter of the relationship.
workerWorker!
The candidate in the relationship.
emailString
The email of the candidate.
statusContactStatus!
The status of the candidate relationship.
tokenString
The token used to invite the candidate.
rateFloat
The rate of the candidate.
jobTitleString
The candidate job title
links[String!]!
The links attached to the relationship.
tags[Tag!]!
The tags applied to the relationship.
filesFilePaginator!
The files attached to the relationship.

RecruiterCandidatePaginator

A paginated list of RecruiterCandidate items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[RecruiterCandidate!]!
A list of RecruiterCandidate items.

RecruiterPaginator

A paginated list of Recruiter items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Recruiter!]!
A list of Recruiter items.

RunBatchActionResponse

The payload returned when running an action on a batch.

Fields
batchBatch
The batch the action was run against.
batchIdID!
The global ID of the batch. Always provided even if the batch was deleted.
actionBatchActionType!
The action that was requested.
batchDeletedBoolean!
Whether the batch was deleted as a result of the action.
resultUrlString
The URL of the result of the action.

Skill

A skill that is required for a job.

Fields
idID!
The ID of the skill.
nameString!
The name of the skill.

SkillPaginator

A paginated list of Skill items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Skill!]!
A list of Skill items.

SmsCreateMultiFactorPayload

A response payload for a newly-created SMS multi-factor authentication implementation.

Fields
multiFactorSmsMultiFactor!
The newly-created SMS multi factor.

SmsMultiFactor

An SMS multi-factor authentication implementation.

Fields
idID!
The ID of the SMS multi-factor authentication implementation.
nameString!
The name of the SMS multi-factor authentication implementation.
phoneNumberE164PhoneNumber!
The phone number for the SMS multi-factor authentication implementation.
statusMultiFactorStatus!
The status of the SMS multi-factor authentication implementation.
ownerUser!
The owner of the SMS multi-factor authentication implementation.
verifiedAtDateTime
When the SMS multi-factor authentication implementation was verified.
createdAtDateTime!
When the SMS multi-factor authentication implementation was created.
updatedAtDateTime!
When the SMS multi-factor authentication implementation was updated.

SupplierInvoice

A supplier invoice.

The invoice defines the amount due and is to be paid to the worker.

Fields
idID!
The ID of the supplier invoice.
numberString
A number referencing the supplier invoice.

This is usually printed on the supplier invoice itself and should be used by booking system and finance departments.

The supplier invoice number is in a human readable format.
pdfUrlURL!
A URL of the actual supplier invoice.

This URL will link to a PDF for the supplier invoice. This URL cannot be used for saving in external systems as it might change over time or be regenerated. If a permanent URL is needed for the supplier invoice, it should be stored in the clients own system.
externalIdentifierString
An external identifier for the supplier invoice, used to reference it in external systems.

SupplierInvoicePaginator

A paginated list of SupplierInvoice items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[SupplierInvoice!]!
A list of SupplierInvoice items.

Tag

A tag.

Fields
idID!
The ID of the tag.
nameString
The name of the tag.

TagPaginator

A paginated list of Tag items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Tag!]!
A list of Tag items.

TemporaryFileUploadResponse

The details for a temporary file upload.

Fields
idID!
The ID of the temporary file.
nameString!
The name of the file to be uploaded.
urlURL!
The temporary URL to upload the file to.

The temporary URL will expire after 1 week.

Timesheet

A timesheet submitted by a worker for a hire.

Timesheets record hours worked during a billing period and are used to generate payment requests. They may also trigger overtime calculations when logged hours exceed standard thresholds.

Fields
idID!
The ID of the timesheet.
workerWorker
The worker that the timesheet belongs to.
hireHire
The hire that the timesheet belongs to.
startDateDate
The start date of timesheet.
endDateDate
The end date of timesheet.
createdAtDateTime!
The date and time that the timesheet was created.
paymentRequestsPaymentRequestPaginator!
The payment requests created on the timesheet.
registrationsTimesheetRegistrationPaginator!
The timesheet registrations.
filesFilePaginator!
The files that are related to the timesheet.
overtimesOvertimePaginator!
The overtimes that the timesheet belongs to.

TimesheetPaginator

A paginated list of Timesheet items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Timesheet!]!
A list of Timesheet items.

TimesheetRegistration

A registration for a timesheet.

Fields
idID!
The ID of the timesheet registration.
typeTimesheetRegistrationType!
The type of the timesheet registration.
dateDate!
The date of the timesheet registration.
startTimeTime
The start time of the timesheet registration.
endTimeTime
The end time of the timesheet registration.
durationFloat!
The duration of the timesheet registration.
unitTimesheetRegistrationDurationUnit!
The unit of measurement for the timesheet registration.
commentsString
The comments for the timesheet registration.
invoiceReferenceNumberString
The invoice reference number associated with the timesheet registration.
externalIdentifierString
An identifier associated with the timesheet registration from an external system.
isBillableBoolean
Whether the timesheet registration is billable.
customFieldValues[CustomFieldValue!]!
The custom fields values for the timesheet registration.

TimesheetRegistrationPaginator

A paginated list of TimesheetRegistration items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[TimesheetRegistration!]!
A list of TimesheetRegistration items.

TotpCreateMultiFactorPayload

A response payload for a newly-created TOTP multi-factor authentication implementation.

Fields
multiFactorTotpMultiFactor!
The newly-created TOTP multi factor.
secretString!
The secret for the newly-created TOTP multi factor.
qrCodeURL!
A URL for the QR Code containing the secret.

This is not the QR Code itself, but the URL that the QR code should contain. The URL is in otpauth format.

TotpMultiFactor

A TOTP multi-factor authentication implementation.

Fields
idID!
The ID of the TOTP multi-factor authentication implementation.
nameString!
The name of the TOTP multi-factor authentication implementation.
statusMultiFactorStatus!
The status of the TOTP multi-factor authentication implementation.
ownerUser!
The owner of the TOTP multi-factor authentication implementation.
verifiedAtDateTime
When the TOTP multi-factor authentication implementation was verified.
createdAtDateTime!
When the TOTP multi-factor authentication implementation was created.
updatedAtDateTime!
When the TOTP multi-factor authentication implementation was updated.

TrustedContact

A trusted contact — a worker in a company’s Talent Pool.

Trusted contacts represent the relationship between a company and a worker. A worker must be added as a trusted contact before the company can hire them directly (without going through the marketplace). Trusted contacts go through an approval workflow and can have custom fields, skills, and onboarding documents.

Fields
idID!
The ID of the trusted contact.
workerWorker!
The trusted contact worker.
companyCompany!
The trusted contact company.
invitedByUserUser
The user who invited the worker as trusted contact of the company.

A null value here means the trusted contact was automatically added by a process.
viewerCanApproveBoolean!
Whether the viewer is able to approve the trusted contact.
viewerCanUpdateBoolean!
Whether the viewer is able to update the trusted contact.
viewerCanDeleteBoolean!
Whether the viewer is able to delete the trusted contact.
viewerCanReInviteBoolean!
Whether the viewer is able to re-invite the trusted contact.
links[String!]!
Links associated with the trusted contact.
attachments[File!]!
File attachments uploaded by the company that are related to the worker.
skills[Skill!]!
Skills associated with the trusted contact.
managedStatusTrustedContactManagedStatus
Trusted contact managed status.
statusContactStatus!
Status of the trusted contact.
statusUpdatedAtDate!
The date that the status of the trusted contact was last updated.
invitedAtDate!
The date that the trusted contact was invited.
approvedByUserUser
The user who approved the worker as trusted contact.
externalIdentifierString
An identifier associated with the trusted contact from an external system.
originTrustedContactOrigin!
The origin of the trusted contact
originChannelTrustedContactOriginChannel!
The channel of origin of the trusted contact
customFieldValues[CustomFieldValue!]!
The custom fields values for the trusted contact.
requiredCustomFieldsCompleteBoolean!
Whether all required worker-editable custom fields have been filled.
onboardingStatusTrustedContactOnboardingStatus
The onboarding status of the trusted contact.
onboardingDocuments[OnboardingDocument!]!
The onboarding documents associated with the trusted contact.
createdAtDate!
The date that the trusted contact was created.
tagsTagPaginator! Deprecated
The tags for a trusted contact.
notesNotePaginator!
Notes added to the trusted contact.

TrustedContactPaginator

A paginated list of TrustedContact items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[TrustedContact!]!
A list of TrustedContact items.

UpdateWorkerCustomFieldValuesPayload

The payload returned after updating custom field values as a worker.

Fields
fieldableSupportsCustomFieldValue!
The updated fieldable entity.
customFieldValues[CustomFieldValue!]!
The updated field values.

User

A user who can sign in to Worksome and act on behalf of one or more accounts.

Users are the people behind accounts — a single user may be a team member of a company, an owner of a staffing agency, or a worker. They authenticate and perform actions within their active account context.

Fields
idID!
The ID of the user.
nameString!
The name of the user.
emailString!
The email of the user
avatarURL
The avatar (or profile picture) for the user.
hasConsentedToWorksomeIntelligenceBoolean!
Whether the user has consented to use Worksome Intelligence.
canCreatePasswordBoolean!
Whether the user is allowed to create a password for their account.

The user might not be allowed if they already have a password, in which case they should use updatePassword or if they have SAML on their account.
missingAuthenticationBoolean!
Whether the user has any way of authenticating into the system.

This will check that the user has no password, social, SAML etc. way of authenticating into their account.
hasVerifiedEmailBoolean!
Checks whether the user has verified their email or not.
emailVerifiedAtDateTime
When the email was verified.
createdAtDateTime!
When the account was created.
updatedAtDateTime!
When the account was last updated.

UserGroup

A named group of company team members.

User groups are used to assign approvers in approval workflows — when an approval is required, the members of the assigned user group are notified and can take action.

Fields
idID!
The ID of the group.
nameString!
The name of the group.
descriptionString
The description of the group.
companyCompany!
The company that the group is for.
statusUserGroupStatus!
The status of the user group.
usersUserPaginator!
The users of the group.

UserGroupPaginator

A paginated list of UserGroup items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[UserGroup!]!
A list of UserGroup items.

UserPaginator

A paginated list of User items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[User!]!
A list of User items.

Wcr

Represents the Worksome Classification Recommendation (WCR) in the system.

Fields
idID!
The ID of the WCR.
userUser
The user associated with this WCR.
supersededByWcrSupersede
Reference to a supersede record, indicating a newer WCR that replaces or supersedes a previous one.
overridesAnotherBoolean!
Determines whether this WCR overrides another WCR. Details can be found in the WcrSupersede.

WcrSupersede

Represents the supersede relationship for an WCR, used when one WCR replaces or supersedes another.

Fields
typeWcrSupersedeType!
The specific type of the supersede (e.g., ‘DISPUTE’, ‘OVERRIDE’, etc.).
originalWcrWcr
Reference to the original WCR that is being superseded.
reasonString
The reason provided for the supersede by the user.
filedAtDate!
The date on which this supersede was filed.

Webhook

The webhook definition.

Fields
idID!
The ID of the webhook.
titleString!
The title of the webhook.
descriptionString
The description of the webhook.
ownerString!
The owner of the webhook (company name).
urlString!
The URL of the webhook.
secretString
The secret of the webhook.
isActiveBoolean
Whether the webhook is active or not.
clientIdString
The client ID of the webhook, when using OAuth.
clientSecretString
The client secret of the webhook, when using OAuth.
clientUrlString
The client URL of the webhook, when using OAuth.
subscribedEvents[WebhookEventType!]
The event types that this webhook is subscribed to.

If null, the webhook is subscribed to all event types. If an empty array, the webhook is not subscribed to any events.
createdAtDateTime!
The date and time that the webhook was created.
updatedAtDateTime!
The date and time that the webhook was updated.

WebhookEvent

The webhook event definition.

Fields
idID!
The ID of the webhook event.
keyString!
The unique key of the webhook event.
webhookIdID!
The ID of the webhook.
eventString!
The webhook event identifer.

Refer to the webhook event documentation for more information about which event values Worksome uses here.
descriptionString!
The webhook event description (human readable version of the event field).
statusString!
The latest status of the webhook sending attempts:

- pending: The webhook has not yet been sent. - success: The webhook was sent successfully. - failed-N: The webhook sending attempt failed for the N’th time. - failed-finally: The webhook sending attempt failed and will not be retried automatically.
payloadJSON!
The webhook event payload.
logs[WebhookEventLog!]!
The log entries of webhook event calls.
createdAtDateTime!
The date and time that the webhook event was created.
updatedAtDateTime!
The date and time that the webhook event was updated.

WebhookEventLog

The webhook event log definition.

Fields
idID!
The ID of the webhook event log.
keyString!
The unique key of the webhook event.
resultString!
The result of the webhook sending attempt:

- success: The webhook was sent successfully. - failed-N: The webhook sending attempt failed for the N’th time. - failed-finally: The webhook sending attempt failed and will not be retried automatically.
statusCodeInt
The HTTP status code of the the webhook sending attempt.
webhookWebhook!
The webhook.
webhookEventWebhookEvent!
The webhook event.
requestJSON!
The webhook event request.
responseJSON!
The webhook event response.
createdAtDateTime!
The date and time that the webhook event log was created.

WebhookEventLogPaginator

A paginated list of WebhookEventLog items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[WebhookEventLog!]!
A list of WebhookEventLog items.

WebhookEventPaginator

A paginated list of WebhookEvent items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[WebhookEvent!]!
A list of WebhookEvent items.

WebhookPaginator

A paginated list of Webhook items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Webhook!]!
A list of Webhook items.

Worker

A worker account — a freelancer or contractor who can be hired by companies on Worksome.

Workers maintain a profile with skills, experience, and business entity details. They can be hired in two ways: by submitting a bid on a published job (marketplace flow), or via a direct hire — which requires the worker to first be added as a trusted contact in the company’s Talent Pool.

Fields
idID!
The ID of the worker.
nameString!
The name of the worker.
firstNameString!
The first name of the worker.
lastNameString!
The last name of the worker.
middleNameString
The middle name of the worker.
emailString
The email of the worker.
phoneString
The phone of the worker.
avatarURL
The avatar (or profile picture) for the worker.
addressAddress
The address that the worker is registered to.
marketMarket!
The market that the worker is in.
skills[Skill!]!
The skills that the worker has.
profileProfile
The profile that the worker has.
jobTitleString
The job title that the worker has.
initialsString!
The initials for the worker name.
currencyString!
The currency that the worker uses.
dayRateFloat
The daily rate for the worker.
rtwVerifiedAtDateTime
Right to work verification and background checks have been made for this worker at this date.
rtwExpiresAtDateTime
Right to work verification and background checks for this worker will expire by this date. If the expire date is in the future the verification is still valid.
hiresWithAttribution[Hire!]!
The hires associated with the worker that has an attribution.
primaryBusinessEntityBusinessEntity
The business entity that the worker uses.
totalPaidFloat!
The total amount received/paid by the given company.
viewerIsClientBoolean
Whether the worker is a trusted contact for the current viewer.

Only companies can see this.
viewerCanContactBoolean!
Whether the viewer is able to contact the trusted contact.
viewerCanOfferJobBoolean!
Whether the viewer is able to offer jobs to the trusted contact
isCurrentlyHiredBoolean!
Determines if the worker is currently hired by the given company.
clients[Client!]!
A list of relations between the worker and a company as seen from the workers perspective.
insurances[WorkerInsurance!]!
The insurance information for the worker.
businessEntitiesBusinessEntityPaginator!
The business entities that the worker has.
hiresHirePaginator!
The hires associated with the worker.

WorkerInsurance

Insurance information for a worker.

Fields
typeString!
The insurance type.
titleString!
The human-readable title of the insurance type.
hasInsuranceBoolean!
Whether the worker has this insurance.
policyLimitInt
The policy limit amount in the smallest currency unit.
updatedAtDateTime
The date when the insurance information was last updated.
files[File!]!
The proof of insurance files.

Workflow

A workflow — an alternative tree-structured view of an approval flow for hires.

A Workflow is backed by the same data as an Approval, but exposes the structure as a tree of nodes (rules with their approvers). Use the workflow/workflows queries to read the tree structure, and createWorkflow/updateWorkflow to manage the entire approval flow as a single operation.

Workflows currently apply only to hires — they cannot be used for jobs, payment requests, or other entities. See the Approval type for supported trigger events.

Fields
idID!
The ID of the workflow (same as the underlying approval ID).
nodes[Nodeable!]!
The approval rules that form the branches of this workflow tree.

WorkflowPaginator

A paginated list of Workflow items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[Workflow!]!
A list of Workflow items.

WorkflowVariableOption

A selectable option for an option-type workflow variable.

Fields
displayOrderInt!
The display order of the option in the list.
labelString!
The human-readable label for this option.
valueString!
The value to use when creating a condition with this option.

WorkflowVariableOptionType

A workflow variable that accepts one of a predefined set of options for comparison.

For example, a classification result variable with options like “Employee” and “Independent Contractor”.

Fields
idID!
The identifier for this variable.
titleString!
The human-readable title of the variable.
descriptionString
A description of what the variable represents.
operators[WorkflowVariableOperator!]!
The comparison operators available for this variable.
options[WorkflowVariableOption!]!
The predefined options that can be selected as the comparison value.

WorkflowVariablePaginator

A paginated list of WorkflowVariable items.

Fields
paginatorInfoPaginatorInfo!
Pagination information about the list of items.
data[WorkflowVariable!]!
A list of WorkflowVariable items.

WorkflowVariableRule

A condition on an approval rule — compares a workflow variable against a threshold value.

For example, a rule might have a condition: “hourly rate greater than 100”. The variable field identifies what is being compared, operator defines the comparison type, and value is the threshold.

Fields
idID!
The ID of the condition.
fieldIdString!
The identifier of the variable or custom field being evaluated.
approvalRuleApprovalRule!
The approval rule that this condition belongs to.
variableWorkflowVariable!
The workflow variable being evaluated in this condition.
operatorWorkflowVariableOperator!
The comparison operator (e.g. equals, greater than, less than).
valueString!
The threshold value to compare against.
createdAtDate!
The date that this condition was created.
updatedAtDate!
The date that this condition was last updated.

WorkflowVariableStringType

A workflow variable that accepts free-text string values for comparison.

Fields
idID!
The identifier for this variable.
titleString!
The human-readable title of the variable.
descriptionString
A description of what the variable represents.
operators[WorkflowVariableOperator!]!
The comparison operators available for this variable.