Input Objects

Input Objects represent input to a query or mutation.

AcceptBidInput

The input used for hiring.

Fields
bidID!
The ID of the bid which the hire should be based on.
contactPersonID
The ID of the person in the company which is responsible for the contact.

If not supplied, the currently authenticated user will be used.
billingContactPersonID
The ID of the person in the company which is responsible for the billing.

If not supplied, the currently authenticated user will be used.
startDateDate
The date that the contract should start.

This date is used on the draft contract.
endDateDate
The date that the contract should end.

This date is used on the draft contract.
jobTitleString
The title of the job the person will be hired to do.

If not filled out, the job title from the job of the bid will be used. This title is used on the draft contract.
jobDescriptionString
The description of the hire job.

If not filled out, the job description from the job of the bid will be used. This title is used on the draft contract.
paymentTermMethodPaymentTermMethod
The payment term method for the contract.
paymentTermDaysPaymentTermDays
The amount of days to use with the payment term method for the contract.
purchaseOrderNumberString
The Purchaser Order Number for the contract.
additionalTermsString
Any additional terms to the contract.

The contract is always subject to the terms and conditions for Worksome’s platform.
workplaceAddressString
The address for where the work will be taken place.

This will be part of the contract also. The Address should be a full address, with city and postal code.
customInvoiceTextString
Any text which should be included in all invoices that are part of this hire.

This text will be shown on the top of each invoice once they are created.
companyNameString
The company name used on the contract.

If not set the current company name will be used instead.
companyAddressString
The company address used on the contract.

If not set the current company address will be used instead.
companyZipCodeString
The company zip code used on the contract.

If not set the current company zip code will be used instead.
companyCityString
The company city used on the contract.

If not set the current company city will be used instead.
companyCountryString
The company country used on the contract.

If not set the current company country will be used instead.
recruiterRecruiterInput
The recruiter for which will be attributed to the hire.
closeOtherConversationsBoolean
Close other conversations if true.
closingMessageString
Message to send when closing other conversations.
attachments[ID!]
Attached documents.
externalIdentifierString
An identifier associated with the hire from an external system.

ActionApprovalApprovableInput

The input for taking action on an approval request.

Fields
idID!
The ID of the approval request to act on.
statusApprovalApprovableState
The action to take: APPROVED, REJECTED, or NEEDS_CHANGE.
reasonString
An optional message explaining the decision (required when rejecting or requesting changes).

AddressInput

An input for storing the given address.

Fields
addressString
The address.
postCodeString
The post code (ZIP code).
cityString
The city.
countryString
The country alpha2-code.
stateString
The state alpha2-code, if applicable.

ApprovalApprovablesOrderByClauseInput

The input for sorting approval requests.

Fields
fieldApprovalApprovableOrderByColumn
The field to sort by.
orderSortOrder
The sort direction.

ApproveEmploymentChangesInput

Input for approving employment changes.

Fields
employmentID!
The ID of the employment to approve changes for.

ApproveTrustedContactInput

The details for approving a trusted contact.

Fields
idID!
The ID of the trusted contact to be deleted.

ArgsInput

An input for additional arguments for the export.

Fields
companies[Int!]!
A list of company IDs to include in the export.
dateFromDate
The date for the start of the export.
dateToDate
The date for the end of the export.
metaString
Additional information and metadata.

AttachJobsToProjectInput

The input used for attaching one or more jobs to a project.

Fields
jobs[ID!]!
Jobs to be added to the project.
projectID!
The project containing jobs.

AttachUsersToUserGroupInput

The input used for attaching one or more users to a group.

Fields
userGroupID!
The user group containing users.
users[ID!]
Users to be attached to the group.

AttributeRecruiterToHireInput

The input object used for attributing a recruiter to a hire.

Fields
hireID!
The ID of the hire.
recruiterID!
The ID of the recruiter.
feeStrictPercentage
The fee the recruiter is taking as a percentage.
ownershipDaysInt!
The amount of days the recruiters ownership period exist in.
ownershipStartDateDate!
The date that the ownership starts.

BatchActionScopeInput

Scope for selecting which items in the batch to target.

Fields
ids[ID!]
Only operate on these item IDs.
excludeIds[ID!]
Exclude these item IDs from the operation.
statusBatchItemStatus
Only operate on items with this status.

BbanInput

The BBAN input 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.

BlockTrustedContactInput

The details for blocking a trusted contact.

Fields
idID!
The ID of the trusted contact to be blocked.
accountID!
The account performing the block.

CancelHireInput

The input object used for all the information required to cancel a hire.

Fields
hireID!
The ID of the hire.
messageString!
The reason for canceling the hire.

ChangeEmailInput

The details required for changing the email.

Fields
userID
The ID of the user whose email address should be updated.

If this is null or excluded, the currently authenticated user’s email will be changed.
emailString!
The new email for the user.

CreateApprovalInput

The input for creating a new approval flow.

After creating the approval, use createApprovalRule to add conditions and then createApprover to assign user groups who will review matching items.

Alternatively, use createWorkflow to create the entire approval flow (root, rules, and approvers) in a single operation.

Fields
nameString!
The display name for the approval flow.
statusApprovalStatus!
Whether the approval should be active immediately.

Only ACTIVE approvals are evaluated when triggering events occur.
triggerApprovalTrigger!
The event that triggers this approval flow (e.g. hire created, contract changed).
descriptionString
A human-readable description of the approval flow’s purpose.
companyID!
The company that the approval flow belongs to.

CreateApprovalRuleInput

The input for adding a rule to an approval flow.

Fields
approvalID!
The ID of the approval flow to add this rule to.
rules[CreateWorkflowVariableFieldInput!]!
The conditions that determine when this rule triggers. Each condition compares a workflow variable against a threshold value.

CreateApproverInput

The input for assigning a user group as an approver on an approval rule.

Fields
approvalRuleID!
The ID of the approval rule to assign this approver to.
userGroupID!
The ID of the user group whose members will review approval requests.
positionInt!
The position in the approval sequence (1-based). Lower positions are notified first.

CreateBatchInput

The input used for creating batches.

Fields
accountID!
The account that the batch is for.
typeBatchType!
The type of batch to create.
items[ID!]
A list of items to add to the batch.

CreateCompanyRecruiterInput

The details for adding and inviting a recruiter.

Fields
companyID!
The company that the recruiter relationship is for.
nameString!
The invited recruiter name.
emailString!
The recruiter email.
recruiterFeeFloat
The recruiter fee.
recruiterOwnershipDaysInt
The ownership days of the recruiter.
messageString
The message that will be sent to the recruiter.
tags[String!]
The tags to associate with the recruiter.
externalIdentifierString
An identifier associated with the company recruiter from an external system.
managesWorkersBoolean
Whether the recruiter manages workers for this company relationship.

When null, the company-level default is used.
customFieldValues[CustomFieldTypeValueInput!]
The custom fields for the company recruiter.

CreateCustomFieldInput

The input for creating a custom field.

Fields
accountID!
The account that will own the custom field.
fieldTypeCustomFieldType!
SINGLE_SELECT
The custom field type.
appliesToTypeSupportingCustomFieldValues!
The type to which the custom field is applying to.
titleString!
The title or label of the custom field.
slugString
A unique human-readable key for the custom 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 custom field.
settingsCustomFieldSettingsInput!
The settings to apply to the custom field.
visibilityCustomFieldVisibility!
INTERNAL
The visibility of the custom field.
approvalBoolean
Whether the field is enabled for approval workflows.
apiOnlyBoolean
Configures the field to be enabled for api updates only.
workerInputAllowedBoolean
Configures the field to allow worker input. When enabled, workers can provide values for this field through the worker API.
recruiterInputAllowedBoolean
Configures the field to allow recruiter (staffing agency) input. When enabled, recruiters can provide values for this field through the recruiter API.
options[CustomFieldCustomFieldOptionInput!]
The list of options which will be available for custom field values.

Only applies to some custom field types (e.g. SINGLE_SELECT)

CreateCustomTimesheetInput

An input for creating a custom timesheet.

Fields
schemaString!
The schema for the data format of the submitted timesheet data.

Contact Worksome to obtain information on supported schemas.
dataString!
The custom data for the timesheet.

CreateExportInput

An input for creating an export.

Fields
userIdInt!
The ID of the user to create an export for.
impersonatorIdInt
The ID of the impersonator that is creating the export.
accountIdInt!
The ID of the account to create an export for.
accountTypeString!
The type of account to create an export for.
typeString!
The type of processor to use for the export.
generatorTypeString!
The type of generator (format) that is creating the export.
deliveries[String!]!
The methods and locations that the export should be delivered to.
argsArgsInput!
Additional arguments to record for the export.

CreateJobCandidateInput

The details for creating a job candidate.

Fields
jobID!
The job for which the candidates are for.
workers[ID!]!
The workers that should be candidates for the specified job.
sourcingChannelSourcingChannel!
The sourcing channel that the candidates are from.

CreateJobInput

The input for creating a new job.

createJob is a minimal first step that creates the job in DRAFT status with only the required fields. Use updateJob afterwards to set the full job details (description, rates, dates, location, visibility, etc.) and to publish the job when it is ready.

Fields
companyID!
The company that the job is for.
nameString!
The title of the job.
owners[ID!]
The owners of the job posting. If omitted, the authenticated user becomes the owner.
skills[String!]!
The skills required for the job.

CreateJobShareInput

An input for creating a job share.

Fields
jobID!
The job that the job share is for.
accounts[ID!]!
The accounts to share the job with.

CreateMilestoneInput

The input for creating a milestone.

Fields
nameString!
The name of the milestone.
purchaseOrderNumberString
The Purchase Order (PO) number for the milestone.
dueDateDate!
The due date for the milestone.
amountFloat!
The total cost for the milestone.
hireID!
The ID of the hire that the milestone is for.

CreateMilestonesInput

The input for creating one or more milestones.

Fields
milestones[CreateMilestoneInput!]!
The milestones to create.

CreateNoteInput

An input for creating a note.

Fields
bodyString!
The body of the note.
titleString
The title of the note.
accountIdID!
The account that the note is related to.
notableIdID!
The entity that the note is for.

CreatePasswordInput

The details required for creating a password.

Fields
passwordString!
The password which will be set on the user.

CreatePaymentRequestInput

An input for creating a payment request.

Fields
workerID!
The worker that is creating the payment request.
jobID!
The job that the payment request is for.
companyID!
The company that the payment request is for.
hireID!
The hire that the payment request is for.
startDateDate!
The date that the payment request started.
endDateDate
The date that the payment request ended (if applicable).
expenseReports[ID!]
The expense reports for the payment request.
rateFloat
The rate for the payment request.
billableTimeFloat
The billable time for the payment request.
billableTotalFloat
The billable total for the payment request.
commentsString!
Comments related to the payment request.
taxLines[TaxLineInput!]
A list of tax lines.
timesheetID
The timesheet to link to the payment request.

CreateProjectInput

The input used for projects.

Fields
nameString!
The name of the project.
descriptionString
The description of the project.
internalBudgetFloat
The internal budget of the project.
companyID!
The company that the project is for.
owners[ID!]
The owners of the project.
externalIdentifierString
An identifier associated with the project from an external system.

CreateRecruiterCandidateInput

The details for adding and inviting a recruiter candidate.

Fields
recruiterID!
The recruiter that the recruiter candidate relationship is for.
firstNameString!
The invited candidate first name
middleNameString
The invited candidate middle name
lastNameString!
The invited candidate last name
emailString!
The candidate email.
jobTitleString
The candidate job title.
currencyString!
The candidates currency.
hourlyRateFloat
The hourly rate of the candidate.
dailyRateFloat
The daily rate of the candidate.
monthlyRateFloat
The monthly rate of the candidate.
tags[String!]!
The tags to associate to the candidate.
links[String!]!
The links related tot he candidate.
files[ID!]
The files attached to the relationship.

CreateSmsMultiFactorInput

An input for creating a new SMS multi-factor authentication implementation.

Fields
nameString
An optional name for the SMS multi-factor authentication implementation.

CreateTimesheetInput

The input used for creating timesheets.

Fields
workerID!
The worker that the timesheet is for.
hireID!
The hire that the timesheet is for.
startDateDate!
The start date of the timesheet.
endDateDate!
The end date of the timesheet.
registrations[TimesheetRegistrationInput!]
A list of registrations to add to the timesheet.
files[ID!]
A list of files to add to the timesheet.

CreateTotpMultiFactorInput

An input for creating a new TOTP multi-factor authentication implementation.

Fields
nameString
An optional name for the TOTP multi-factor authentication implementation.

CreateTrustedContactInput

The details for adding & inviting a trusted contact.

Fields
companyID!
The company that the trusted contact is for.
firstNameString!
The invited trusted contact first name.
middleNameString
The invited trusted contact middle name.
lastNameString!
The invited trusted contact last name.
nameString
The invited trusted contact full name.
emailString!
The invited trusted contact email.
countryString
The invited trusted contact country.
stateString
The invited trusted contact country state, if applicable.
links[String!]!
The invited trusted contact links.
attachments[ID!]!
The invited trusted contact attachments.
skills[String!]!
The skills to associate with the trusted contact.
messageString
The message that will be sent to the trusted contact.
notifyWorkerBoolean!
1
Whether the worker should be notified that they have been added to the platform.
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[CustomFieldTypeValueInput!]
The custom fields for the trusted contact.

BETA. Custom fields on Workers are currently available for a subset of users.

CreateUserGroupInput

The input used for groups.

Fields
nameString!
The name of the group.
descriptionString
The description of the group.
statusUserGroupStatus!
The status of the user group.
companyID!
The company that the group is for.
users[ID!]
The users of the group.

CreateWebhookInput

The input used for creating a webhook.

Fields
titleString!
The title of the webhook.
descriptionString
The description of the webhook.
urlString!
The URL of the webhook.
secretString
The secret of the webhook. If using OAuth this is the client secret
isActiveBoolean
Whether the webhook is active or not.
clientIdString
The client ID of the webhook, when using OAuth.
clientUrlString
The client URL of the webhook, when using OAuth.
subscribedEvents[WebhookEventType!]
The event types that this webhook should be subscribed to.

If null or not provided, the webhook will be subscribed to all event types. If an empty array, the webhook will not receive any events.
companyID!
The company that the webhook is for.

CreateWorkflowApproverInput

An approver node in the workflow tree — assigns user groups to a rule.

Fields
idID
A temporary ID for this node.
parentID
The temporary ID of the parent rule node.
children[ID!]
The temporary IDs of any child nodes.
data[ID!]!
The user groups whose members will review approval requests matching the parent rule.

CreateWorkflowInput

The input for creating a complete workflow tree (approval + rules + approvers) in one operation.

The tree is structured using temporary node IDs: each node has an id that its children reference via parent, and the node references its children via children. This allows the entire approval structure to be submitted as a flat list of connected nodes.

Fields
rootCreateWorkflowRootInput!
The root node — defines the approval flow (name, trigger, status).
rules[CreateWorkflowRuleInput!]
The rule nodes — each defines conditions that determine when approval is needed. Connected to the root via parent.
approvers[CreateWorkflowApproverInput!]
The approver nodes — each assigns user groups to review matching items. Connected to rules via parent.

CreateWorkflowRootInput

The root node of a workflow tree — contains the approval flow definition.

Fields
idID
A temporary ID for this node, used by child nodes to reference it via parent.
children[ID!]
The temporary IDs of rule nodes that are direct children of this root.
dataCreateApprovalInput!
The approval flow details (name, trigger, status, company).

CreateWorkflowRuleInput

A rule node in the workflow tree — defines conditions for when approval is required.

Fields
idID
A temporary ID for this node, used by child nodes to reference it via parent.
parentID
The temporary ID of the parent node (the root or another rule).
children[ID!]
The temporary IDs of approver nodes that are children of this rule.
data[CreateWorkflowVariableFieldInput!]
The conditions for this rule — each compares a workflow variable against a threshold.

CreateWorkflowVariableFieldInput

A condition to add to an approval rule, pairing a variable with a comparison.

Use the workflowVariables query to discover available variables for a given trigger type.

Fields
idString!
The identifier of the workflow variable or custom field to evaluate.

Use the workflowVariables query to find valid identifiers for the approval’s trigger type.
ruleWorkflowVariableFieldRuleInput!
The comparison operator and threshold value for this condition.

CustomFieldCustomFieldOptionInput

The settings input for custom fields.

Fields
optionID
The ID of the custom field option to update.
valueString!
The custom field option representation value that is likely shown to the user for selection.

For example: “title”, “label”, “number”
displayOrderInt!
0
Specify a display order for use later in.

CustomFieldSettingsInput

The settings input for custom fields.

Fields
validation[CustomFieldValidationRules!]
A list of validation rules to be applied when using custom fields.

CustomFieldTypeValueInput

An input representing a custom field value, tailored to the field type.

All input fields are mutually exclusive.

Fields
singleSelectSingleSelectCustomFieldValueInput
The input custom field values representation of the SINGLE_SELECT field type.
freeTextFreeTextCustomFieldValueInput
The input custom field values representation of the FREE_TEXT field type.

CustomFieldValueInput

An input for a custom field value.

Fields
appliesToID!
The entity that supports custom fields to which the value should be attached.
valueCustomFieldTypeValueInput!
The representation of the value.

DateRangeInput

An input for a date range.

Fields
fromDate
The start date of the range.
toDate
The end date of the range.

DeleteCompanyRecruiterInput

The details for deleting a recruiter relationship.

Fields
idID!
The recruiter relationship to delete.

DeleteCustomFieldInput

The input for the deletion of a custom field.

Fields
customFieldID!
The ID of the custom field to delete.

DeleteMilestoneInput

The input for deleting a milestone.

Fields
idID!
The ID of the milestone to delete.

DeleteMilestonesInput

The input for deleting one or more milestones.

Fields
milestones[DeleteMilestoneInput!]!
The milestones to delete.

DeleteNoteInput

An input for deleting a note.

Fields
idID!
The ID of the note to be deleted.

DeletePaymentRequestInput

The input used for deleting a payment request.

Fields
idID!
The ID of the payment request to delete.

DeleteProjectInput

An input for deleting an existing project.

Fields
idID!
The ID of the project.

DeleteRecruiterCandidateInput

The details for deleting a recruiter candidate relationship.

Fields
idID!
The recruiter candidate relationship to delete.

DeleteTimesheetInput

The input used for deleting a timesheet.

Fields
idID!
The ID of the timesheet to delete.

DeleteTimesheetRegistrationInput

The input used for deleting a timesheet registration.

Fields
idID!
The ID of the timesheet registration to delete.

DeleteTrustedContactInput

The details for deleting a trusted contact.

Fields
idID!
The ID of the trusted contact to be deleted.
accountID!
The account performing the delete.

DeleteUserGroupInput

An input for deleting an existing group.

Fields
idID!
The ID of the group.

DeleteWebhookInput

The input for deleting a webhook.

Fields
idID!
The ID of the webhook to be deleted.

DeleteWorkflowInput

The input for deleting an existing workflow.

Fields
idID!
The ID of the workflow to delete (same as the approval ID).

DetachJobFromProjectInput

The input used for attaching one or more jobs to a project.

Fields
jobID!
Jobs to be detached from the project.
projectID!
The project containing jobs.

DetachUsersFromUserGroupInput

The input used for detaching one or more users from a group.

Fields
userGroupID!
The user group containing users.
users[ID!]
Users to be detached from the group.

DuplicateJobInput

The input for duplicating an existing job.

Fields
idID!
The ID of the job to duplicate.
titleString
Optional title for the duplicated job. If not provided, the original job title will be used with “[Copy]” prepended.

EmploymentCostsInput

Input for employment costs.

Fields
fixedAmountFloat
Fixed amount cost.
percentageFloat
Percentage cost.
oneTimeAmountFloat
One-time amount cost.

EmploymentsOrderByClauseInput

Input for ordering employments.

Fields
fieldEmploymentOrderByColumn
The field to order by.
orderSortOrder!
The direction to order by.

EndJobInput

An input for ending (aka closing) an existing job.

Fields
idID!
The ID of the job.
accountIdID!
The ID of the account performing the action.

EndProjectInput

An input for ending an existing project.

Fields
idID!
The ID of the project.

ForwardCandidateInput

The details for forwarding (presenting) a candidate to a linked client job.

Fields
sourceCandidateID!
The source candidate to present.
rateFloat!
The rate to present to the client.
rateTypeRateType!
The rate type for the presentation.
briefString
An optional brief describing the candidate.

FreeTextCustomFieldValueInput

An input for a free-text custom field.

Fields
idID
The ID of the field to create a free text for.
slugString
A unique human-readable key for the custom field, preferably in a slug format with lowercase and hyphens to replace spaces. The key is only unique within the same account.
valueString
This is the value for the field. A null value indicates that the field value will be deleted.

GenerateInviteLinkInput

The input used to generate the company invite link token.

Fields
companyID!
The company that the link token is for.

GeneratePersonalInviteLinkInput

The input used to generate the personal invite link token.

Fields
companyID!
The company that the link token is for.

HireHistoryFilterInput

Trusted contact hire history filter input.

Fields
statusTrustedContactHireHistory
The hire history filter value.
accounts[ID!]
Supply which accounts to filter hire history for.

HireInput

The input used for direct hires (hiring a worker without a bid).

Direct hires require the worker to be a trusted contact of the hiring company. If job is omitted, a new job will be created automatically using the provided name, description, and related fields. If job is provided, the hire will be associated with that existing job.

Fields
trustedContactID
The trusted contact to hire directly.

The worker must already exist as a trusted contact of the hiring company. Use createTrustedContact first if the worker is not yet in the company’s Talent Pool.
jobID
The ID of an existing job to associate with this hire.

Optional — if omitted, a new job will be created automatically from the name, description, and other job-related fields provided in this input.
nameString
The title for the auto-created job. Only used when job is not provided.
descriptionString
The description for the auto-created job. Only used when job is not provided.
messageString
The message to send the trusted contact.
rateTypeRateType
The rate type that is due.
rateFloat
The rate that is due.
locationPreferenceLocationPreferenceInput
The location preference of the job.
startDateDate
The date that the contract should start.

This date is used on the draft contract.
endDateDate
The date that the contract should end.

This date is used on the draft contract.
includeStandardContractBoolean
Whether to include the standard contract.

The default is to include a standard contract.
purchaseOrderNumberString
A Purchase Order (PO) number to attribute to the direct hire.
conversationID
The conversation that the direct hire should be attributed to.
recruiterRecruiterInput
The recruiter that the hire should be attributed to.
customFieldValues[CustomFieldTypeValueInput!]
Additional custom fields for the direct hire.

Details specified in this will only be visible to you and your team members, not to workers.

Note: Passing an empty array [] will skip custom field syncing entirely. If you have required custom fields configured, you must provide values for them or validation will fail.
companyID!
The company that the direct hire is for.
externalIdentifierString
An identifier associated with the hire from an external system.
owners[ID!]
The users who should own this hire.

If not provided, the authenticated user will be set as the owner.
hireDescriptionString
The description for the hire.

If not provided and a job is provided, the job description will be used. This description is used on the draft contract.

HireStatusFilterInput

Trusted contact hire status filter input.

Fields
statusTrustedContactHireStatus
The hire status filter value.
accounts[ID!]
Supply which accounts to filter the hire status for.

HiresOrderByClauseInput

The input object used to sort hires.

Fields
fieldHireOrderByColumn
The field to sort hires by.
orderSortOrder
The order to sort hires by.

InviteCompanyRecruiterInput

The details for inviting a recruiter.

Fields
idID!
The recruiter to invite.
companyID!
The company inviting the recruiter.
recruiterFeeFloat
The recruiter fee.
recruiterOwnershipDaysInt
The ownership days of the recruiter.
messageString
The message that will be sent to the recruiter.
tags[String!]
The tags to associate with the recruiter.
managesWorkersBoolean
Whether the recruiter manages workers for this company relationship.

When null, the company-level default is used.

InvitedByInput

Trusted contact invited by users filter input.

If null, all trusted contacts will be returned.

Fields
users[ID!]!
User IDs by which to filter by.
includeAutomationBoolean!
Whether or not to include TCs that have been invited via automation.

JobCandidateOrderByClauseInput

Trusted contact sorting clause input.

Fields
columnJobCandidateOrderByColumn!
The column by which trusted contacts should be sorted.
orderSortOrder!
ASC
The sorting order for the associated sorting column.

JobShareOrderByClauseInput

An input for ordering job shares.

Fields
fieldJobShareOrderByColumn!
The field to order by.
orderSortOrder!
The direction to order by.

JobsOrderByClauseInput

The input object used to sort jobs.

Fields
fieldJobOrderByColumn
The field to sort jobs by.
orderSortOrder
The order to sort jobs by.

LanguageInput

An input for a language.

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

LocationPreferenceInput

An input for the location preferences.

Fields
preferenceLocationPreference!
The location preference.
addressString
The address for the job.

This is not required when location is set to REMOTE_ONLY.

ManageOnboardingDocumentsInput

The input used to manage onboarding documents.

Fields
companyID!
The company that the onboarding documents are for.
documents[ID!]!
The documents to be added for onboarding.

MarkFilesAsUploadedInput

The input used for marking one or more files as uploaded.

Fields
files[ID!]!
The list of files to mark as uploaded.

OnboardEmploymentInput

Input for onboarding an employment.

Fields
employmentID!
The ID of the employment to onboard.
employmentCostsEmploymentCostsInput
Optional employment costs to apply.

OpenProjectInput

An input for opening an existing project.

Fields
idID!
The ID of the project.

OrderByClause

Allows ordering a list of records.

Fields
columnString!
The column that is used for ordering.
orderSortOrder!
The direction that is used for ordering.

PaymentRequestOrderByClauseInput

Payment request sorting clause input.

Fields
fieldPaymentRequestOrderByColumn
The field to sort payment requests by.
orderSortOrder
The order to sort payment requests by.

QueryInvoicesOrderByOrderByClause

Order by clause for Query.invoices.orderBy.

Fields
columnInvoicesOrderByColumn!
The column that is used for ordering.
orderSortOrder!
The direction that is used for ordering.

RateInput

An input for the rate.

Fields
typeRateType!
The unit of time when payment is due.
rateFloat
The payment amount per specified rate type.
rangeRateRangeInput
The payment amount as a range per specified rate type.

RateRangeInput

An input for the rate as a range.

Fields
minimumFloat!
The minimum payment amount per specified rate type.
maximumFloat!
The maximum payment amount per specified rate type.

RecruiterInput

The input object used for all the information required to attribute a recruiter.

Fields
recruiterID!
The ID of the recruiter.
feeStrictPercentage!
The fee the recruiter is taking as a percentage.
ownershipDaysInt!
The amount of days the recruiters ownership period exist in.
ownershipStartDateDate!
The date that the ownership starts.

RecruiterOrderByClauseInput

Recruiter sorting clause input.

Fields
columnRecruiterOrderByColumn
Column by which trusted contacts should be sorted.
orderSortOrder
ASC
Sorting order for the associated sorting column.

ReinviteTrustedContactInput

The input for resending an invitation to a Trusted Contact.

Fields
idID!
The ID of the Trusted Contact to re-invite. (Note, this is different from the Worker ID)

RejectHireInput

The input used to reject a hire.

Fields
accountID!
The account that is rejecting the hire.
hireID!
The ID of the hire to be rejected.

RemoveJobShareInput

An input for removing a job share.

Fields
ids[ID!]!
Which job share ids to remove job shares for.

RemoveMultiFactorInput

An input for removing a multi-factor authentication implementation.

Fields
idID!
The ID of the multi-factor authentication implementation to remove.

RemoveOnboardingDocumentsInput

The input used to remove onboarding documents.

Fields
companyID!
The company that the onboarding documents are for.
documents[ID!]!
The document IDs to be removed from onboarding.

RemoveRecruiterFromHireInput

The input object used for removing a recruiter from a hire.

Fields
hireID!
The ID of the hire.

RetryWebhookEventInput

The input for retrying a webhook event.

Fields
idID!
The ID of the webhook event to be retried.

RunBatchActionInput

The input used for running an action on a batch.

Fields
batchID!
The ID of the batch to operate on.
actionBatchActionType!
The action to perform.
scopeBatchActionScopeInput
Limits which items in the batch are affected.
deleteIfEmptiedBoolean
If true and the action results in zero items remaining in the batch, delete the batch.

SetInternalBudgetOnJobInput

The input used for setting the internal budget on a job.

Fields
jobID!
The job that the budget is for.
amountFloat!
The amount for the internal budget.

Up to 2 decimal points are stored, the rest is omitted.

ShareCandidatesWithPartnerInput

The details for sharing candidates with the linked partner account.

Fields
jobCandidates[ID!]!
The candidates to share.

ShareHireInput

The input object used for sharing a hire.

Fields
hireID!
The ID of the hire.
messageString
Optional message to include when sharing the hire.

SingleSelectCustomFieldValueInput

An input for a single-select custom field.

Fields
idID
The ID of the field to create a selection for.
slugString
A unique human-readable key for the custom field, preferably in a slug format with lowercase and hyphens to replace spaces. The key is only unique within the same account.
valueID
The ID of the option to select. A null value indicates that the field value will be deleted.

SkillOrderByClauseInput

Skill sorting clause input.

Fields
columnSkillOrderByColumn!
Column by which trusted contacts should be sorted
orderSortOrder!
ASC
Sorting order for the associated sorting column

StoreBankDetailsInput

The details for updating a bank account details.

Fields
accountIdID!
The account that the bank account is related to.
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.
bbanBbanInput
The BBAN information (if applicable).
ibanString
The bank account IBAN (if applicable).
swiftString
The bank account SWIFT code (if applicable).

TaxLineInput

An input for a tax line.

Fields
rateFloat!
The rate of tax.
terminologyString!
The terminology for the tax line.

TerminateHireInput

The input object used for all the information required to terminate a hire.

Fields
hireID!
The ID of the hire.
reasonContractTerminationReason!
The reason for terminating a hire.
commentsString
Additional comments to explain why a hire is being terminated.
dateDate!
The date that the termination should take effect.
messageString
An optional message to the worker.

TimesheetRegistrationInput

An input representing a timesheet registration as part of the timesheet creation flow.

Fields
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.
externalIdentifierString
An identifier associated with the timesheet registration from an external system.
invoiceReferenceNumberString
An invoice reference number associated with the timesheet registration.
isBillableBoolean
Whether the timesheet registration is billable.
customFieldValues[CustomFieldTypeValueInput!]
The custom fields for the timesheet registration.

TrustedContactOrderByClauseInput

Trusted contact sorting clause input.

Fields
columnTrustedContactOrderByColumn
Column by which trusted contacts should be sorted.
orderSortOrder
ASC
Sorting order for the associated sorting column.

UpdateApprovalDataInput

The updatable fields on an approval flow when updating via the workflow tree.

Fields
nameString
The updated display name.
statusApprovalStatus
The updated status (ACTIVE, INACTIVE, or ARCHIVED).
triggerApprovalTrigger
The updated trigger event.
descriptionString
The updated description.

UpdateApprovalInput

The input for updating an existing approval flow.

All fields except id are optional — only provided fields are updated. Updates create a new version of the approval.

Fields
idID!
The ID of the approval flow to update.
nameString
The updated display name.
statusApprovalStatus
The updated status. Set to INACTIVE to pause the approval without deleting it.
triggerApprovalTrigger
The updated trigger event.
descriptionString
The updated description.

UpdateApprovalRuleInput

The input for updating an existing approval rule.

Fields
idID!
The ID of the approval rule to update.
approvalID!
The ID of the parent approval flow.
fields[CreateWorkflowVariableFieldInput!]!
The updated conditions for this rule.

UpdateApproverInput

The input for updating an approver assignment.

Fields
idID!
The ID of the approver assignment to update.
userGroupID
The updated user group.
positionInt
The updated position in the approval sequence.

UpdateCompanyRecruiterInput

The details for updating a recruiter relationship.

Fields
idID!
The recruiter relationship to update.
recruiterFeeFloat
The updated recruiter fee.
recruiterOwnershipDaysInt
The updated recruiter ownership.
tags[String!]
The updated tags to associate the recruiter with.
externalIdentifierString
An identifier associated with the company recruiter from an external system.
managesWorkersBoolean
Whether the recruiter manages workers for this company relationship.

When null, the company-level default is used.
customFieldValues[CustomFieldTypeValueInput!]
The custom fields for the company recruiter.

UpdateCustomFieldInput

The input for updating a custom field.

Fields
customFieldID!
The ID of the custom field to update.
fieldTypeCustomFieldType!
SINGLE_SELECT
The custom field type.

Updating a field type is restricted if the custom field already has values.
titleString!
The title or label of the custom field.
slugString
A unique human-readable key for the custom 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 custom field.
settingsCustomFieldSettingsInput!
The settings to apply to the custom field.
visibilityCustomFieldVisibility!
The visibility of the custom field.
approvalBoolean
Whether the field is enabled for approval workflows.
apiOnlyBoolean
Configures the field to be enabled for api updates only.
workerInputAllowedBoolean
Configures the field to allow worker input. When enabled, workers can provide values for this field through the worker API.
recruiterInputAllowedBoolean
Configures the field to allow recruiter (staffing agency) input. When enabled, recruiters can provide values for this field through the recruiter API.
options[CustomFieldCustomFieldOptionInput!]
The list of options which will be available for custom field values.

Only applies to some field types (e.g. SINGLE_SELECT).

UpdateJobCandidatePreferredInput

The details for updating the “preferred” status of a job candidate.

Fields
jobCandidateID!
The job candidate to update.
isPreferredBoolean!
Whether the candidate is preferred or not.

UpdateJobCandidateStatusInput

The details for updating a job candidate status.

Fields
jobCandidateID!
The job candidate to update.
statusJobCandidateStatus!
The status to update the job candidate to.
statusReasonJobCandidateStatusReason
The reason for changing the status of the job candidate.
statusCommentString
Open text to leave internal additional information on the status reason
feedbackString
The shared feedback in case the candidate already had a hire.

UpdateJobInput

The input for updating an existing job.

Use this after createJob to set the complete job details — description, rates, dates, location, visibility, and more. All fields are optional; only provided fields are updated.

Setting published to true publishes the job and makes it visible according to its visibility settings. Publication cannot be undone.

Fields
idID!
The ID of the job.
localeLocale
An optional locale for the job.

If set, skills and industries will use the locale’s spelling.
nameString
The name of the job.
descriptionString
The description required for the job.
skills[String!]
The skills required for the job.
attachments[ID!]
The files to be attached to the job.
associationAssociation
The project type of the job.
expectedExperienceLevel[ExpectedExperienceLevel!]
The expected experience level required for the job.
locationPreferenceLocationPreferenceInput
The location preference of the job.
locationAddressInput
The location information of the job.
rateTypeRateInput
The rate unit, amount, and range for the job.
paymentSchemePaymentScheme
The payment scheme that the job will use.
startDateDate
The start date of the job.

If this is set to null, we will assume that the job should start as soon as possible.
endDateDate
The end date of the job.

If this is set to null, we will assume that the job’s end date is undetermined.
startDateTimeframeJobStartTimeframe
The timeframe of the job start.
endDateTimeframeJobEndTimeframe
The timeframe of the job end.
isExtensionAvailableBoolean
If the job will extend.
evaluationPeriodEvaluationPeriod
The period of time required to reply to candidates.
languages[LanguageInput!]
The languages required for the job.
industries[ID!]
The industries that the worker requires experience in.
owners[ID!]
The owners of the job posting.
requiredWorkersInt
The number of required workers.
visibility[JobVisibility!]
This controls via which channels the job can be shared.

It is therefore important to select which audiences should be allowed to see the job listing.
customFieldValues[CustomFieldTypeValueInput!]
Additional custom fields for the job.

Details specified in this will only be visible to you and your team members, not to workers.
publishedBoolean
Whether the job should be published.

Note: Job publication cannot be undone.
removedBoolean
Whether the job has been removed/discarded while being published and before having any hires.
removedCauseString
Optionally specify a reason for removing a Job.

Note: This field is only relevant when the removed field is set to true, meaning it will not be used if provided on its own.
externalIdentifierString
An identifier associated with the job from an external system.

UpdateMilestoneInput

The input for updating a single milestone.

Fields
idID!
The ID of the milestone.
nameString
The name of the milestone.
purchaseOrderNumberString
The Purchase Order (PO) number for the milestone.
dueDateDate
The due date for the milestone.
amountFloat
The total cost for the milestone.

UpdateMilestonesInput

The input for updating one or more milestones.

Fields
milestones[UpdateMilestoneInput!]!
The milestones to update.

UpdateNoteInput

An input for updating a note.

Fields
idID!
The ID of the note to be updated.
bodyString
The body of the note to be updated.
titleString
The title of the note to be updated.

UpdatePasswordInput

The details required to update a user’s password.

Fields
currentPasswordString!
The current password for the user.
passwordString!
The new password for the user.
passwordConfirmationString!
The confirmation of the password for the user.

UpdatePaymentRequestInput

The input used for updating a payment request.

Fields
idID!
The ID of the payment request to update.
startDateDate
The date that the payment request started.
endDateDate
The date that the payment request ended (if applicable).
expenseReports[ID!]
The expense reports for the payment request.
rateFloat
The rate for the payment request.
billableTimeFloat
The billable time for the payment request.
billableTotalFloat
The billable total for the payment request.
commentsString
Comments related to the payment request.
taxLines[TaxLineInput!]
A list of tax lines.
timesheetID
The timesheet to link to the payment request.
purchaseOrderNumberString
The purchase order number for the payment request.

UpdateProjectInput

An input for updating an existing project.

Fields
idID!
The ID of the project.
nameString
The name of the project.
descriptionString
The description of the project.
internalBudgetDecimal
The internal budget of the project.
owners[ID!]
The owners of the project.
externalIdentifierString
An identifier associated with the project from an external system.

UpdateRecruiterCandidateInput

The details for updating a recruiter candidate relationship.

Fields
idID!
The recruiter relationship to update.
jobTitleString
The job title to update.
currencyString
The currency to update.
hourlyRateFloat
The hourly rate to update.
dailyRateFloat
The daily rate to update.
monthlyRateFloat
The monthly rate to update.
tags[String!]
The updated tags to associate the relationship with.
links[String!]
The updated links to associate the relationship with.
files[ID!]
The updated files to associate the relationship with.

UpdateTimesheetInput

The input used for updating a timesheet.

Fields
idID!
The ID of the timesheet to update.
startDateDate
The start date of the timesheet.
endDateDate
The end date of the timesheet.
registrations[TimesheetRegistrationInput!]
A list of registrations to add to the timesheet.
files[ID!]
A list of files to add to the timesheet.

UpdateTimesheetRegistrationInput

The input used for updating a timesheet registration.

Fields
idID!
The ID of the timesheet registration to update.
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.

UpdateTrustedContactInput

The details for editing a trusted contact.

Fields
idID!
The ID of the trusted contact to be edited.
links[String!]
The trusted contact links.
attachments[ID!]
The trusted contact attachments.
skills[String!]
The skills to associate with the trusted contact.
externalIdentifierString
An identifier associated with the trusted contact from an external system.
customFieldValues[CustomFieldTypeValueInput!]
The custom fields for the trusted contact.

BETA. Custom fields on Workers are currently available for a subset of users.

UpdateUserGroupInput

An input for updating an existing group.

Fields
idID!
The ID of the group.
nameString
The name of the group.
descriptionString
The description of the group.
statusUserGroupStatus
The status of the user group.
users[ID!]
The users of the group.

UpdateWebhookInput

The input used for updating a webhook.

Fields
idID!
The webhook to be updated.
titleString!
The title of the webhook.
descriptionString
The description of the webhook.
urlString!
The URL of the webhook.
secretString
The secret of the webhook. If using OAuth this is the client secret. If you are not updating the secret, set it to null.
isActiveBoolean
Whether the webhook is active or not.
clientIdString
The client ID of the webhook, when using OAuth.
clientUrlString
The client URL of the webhook, when using OAuth.
subscribedEvents[WebhookEventType!]
The event types that this webhook should be subscribed to.

If null, the subscribed events will not be changed. If an empty array, the webhook will not receive any events.

UpdateWorkerCustomFieldValuesInput

The input for updating custom field values as a worker.

Fields
appliesToID!
The entity that supports custom fields (e.g., TrustedContact).
values[CustomFieldTypeValueInput!]!
Collection of custom field values to update.

UpdateWorkerInput

The details for updating a worker.

Fields
idID!
The ID of the worker.
jobTitleString
The job title that the worker has.
links[String!]!
The links the worker has.
skills[String!]!
The skills to associate with the worker.

UpdateWorkflowApproverInput

An approver node in the update workflow tree.

Fields
idID
A temporary ID for this node.
parentID
The temporary ID of the parent rule node.
children[ID!]
The temporary IDs of any child nodes.
data[ID!]!
The user groups to assign as approvers for the parent rule.

UpdateWorkflowInput

The input for updating an existing workflow tree. Replaces the entire structure.

Fields
rootUpdateWorkflowRootInput!
The updated root node (approval flow details).
rules[UpdateWorkflowRuleInput!]
The updated rule nodes (conditions).
approvers[UpdateWorkflowApproverInput!]
The updated approver nodes (user group assignments).

UpdateWorkflowRootInput

The root node of an update workflow tree.

Fields
idID
A temporary ID for this node, used by child nodes to reference it.
children[ID!]
The temporary IDs of rule nodes that are direct children of this root.
dataUpdateApprovalDataInput!
The updated approval flow details.

UpdateWorkflowRuleInput

A rule node in the update workflow tree.

Fields
idID
A temporary ID for this node.
parentID
The temporary ID of the parent node.
children[ID!]
The temporary IDs of child approver nodes.
data[UpdateWorkflowVariableFieldInput!]
The updated conditions for this rule.

UpdateWorkflowVariableFieldInput

The input for updating a condition on an approval rule.

Fields
idString!
The identifier of the workflow variable or custom field.
ruleWorkflowVariableFieldRuleInput!
The updated comparison operator and threshold value.

UpdateWorksomeIntelligenceConsentInput

An input for updating user consent to Worksome Intelligence.

Fields
consentBoolean!
Whether or not to consent to Worksome Intelligence.

UploadFileInput

The input used for uploading a file.

Fields
ownerID!
The ID of the account that owns this file.
nameString!
The name of the file that will be uploaded.
sizeInt!
The size of the file that will be uploaded in bytes.
mimeTypeString!
The mime of the file that will be uploaded.

VerifySmsMultiFactorInput

An input for verifying a newly-created SMS multi-factor authentication implementation.

Fields
idID!
The ID of the SMS multi-factor authentication implementation to verify.
codeString!
The current SMS authentication code to verify the implementation with.

VerifyTotpMultiFactorInput

An input for verifying a newly-created TOTP multi-factor authentication implementation.

Fields
idID!
The ID of the TOTP multi-factor authentication implementation to verify.
codeString!
The current TOTP authentication code to verify the implementation with.

WorkflowVariableFieldRuleInput

A condition definition specifying a variable, comparison operator, and threshold value.

For example, to create a condition “hourly rate greater than 100”, set id to the hourly rate variable identifier, operator to GREATER_THAN, and value to "100".

Fields
valueString!
The threshold value to compare against (as a string).
operatorWorkflowVariableOperator!
The comparison operator (e.g. equals, greater than, less than).