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

Name Description
address (String) The address.
postCode (String) The post code (ZIP code).
city (String) The city.
state (String) The state.
country (Country) The country object.

Approval

The approval definition.

Fields

Name Description
id (ID!) The ID for the approvals.
name (String!) The name of the approval.
version (Int!) The version of the approval.
status (ApprovalStatus!) The status of the approval.
trigger (ApprovalTrigger!) The trigger type of the approval.
description (String!) The description of the approval.
company (Company!) The company owning the approval.
approvalRules ([ApprovalRule!]!) The approval rules related to the approval.
createdAt (DateTime!) The date the approval was created.
updatedAt (DateTime!) The date the approval was updated.

ApprovalApprovable

The approval approvable definition.

Fields

Name Description
id (ID!) The ID for the approval approvables.
approval (Approval!) The approval that the approvable belongs to.
approvalRule (ApprovalRule!) The approval rule that the approvable belongs to.
approvalStates ([ApprovalState!]!) The approval states that the approvable has.
approvable (Approvable) The approvable related to the approval approvable.

ApprovalApprovablePaginator

A paginated list of ApprovalApprovable items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([ApprovalApprovable!]!) A list of ApprovalApprovable items.

ApprovalPaginator

A paginated list of Approval items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Approval!]!) A list of Approval items.

ApprovalRule

The approval rule definition.

Fields

Name Description
id (ID!) The ID for the approval rules.
approval (Approval!) The approval owning this rule.
fields ([CustomField!]!) The fields related to the approval rule with associated rule definition.
approvers ([Approver!]!) The approvers related to the approval rule.
createdAt (Date!) The date the approval rule was created.
updatedAt (Date!) The date the approval rule was updated.

ApprovalRuleFieldPivot

The approval rule field pivot definition.

Fields

Name Description
id (ID!) Pivot id.
value (String!) The value.
operator (ApprovalRuleFieldOperator!) The operator.

NOTE: Something is not working correctly when using OperatorEnum! here
createdAt (Date!) The date the approval rule field pivot was created.
updatedAt (Date!) The date the approval rule field pivot was updated.

ApprovalRulePaginator

A paginated list of ApprovalRule items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([ApprovalRule!]!) A list of ApprovalRule items.

ApprovalState

The approval state definition.

Fields

Name Description
id (ID!) The ID for the approval approvables states.
state (ApprovalStateEnum!) The state of the approval approvable.
actionedBy (User!) The user that actioned on the approval approvable.
message (String) The message for the approval approvable.
approver (Approver!) The approver the approval approvables it belongs to.
approvalApprovable (ApprovalApprovable!) The approval approvables that the states belongs to.
createdAt (DateTime) The date the approval state was created

Approver

The approver definition.

Fields

Name Description
id (ID!) The ID for the approvers.
approvalRule (ApprovalRule!) The approval rule this approver belongs to.
userGroup (UserGroup!) The user group related to this approver.
position (Int!) The current order the approver is in the sequence of receiver.
createdAt (Date!) The date the approver was created.
updatedAt (Date!) The date the approver was updated.

ApproverPaginator

A paginated list of Approver items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Approver!]!) A list of Approver items.

AuthenticationToken

Contains information about an authentication token.

Fields

Name Description
accessToken (String!) The access token for authenticating.

BankDetail

A bank account details.

Fields

Name Description
id (ID!) The ID of the bank account details.
name (String!) The display name for this bank account.
bankAddress (String!) The address of this bank account.
bankCountry (String!) The country of this bank account.
bankName (String!) The name of this bank account.
beneficiaryName (String!) The beneficiary name of this bank account.
bban (Bban) The BBAN information, if applicable.
iban (String) The bank account IBAN, if applicable.
swift (String) The bank account SWIFT code, if applicable.

Bban

The BBAN type details.

Fields

Name Description
bsb (String) The Bank-State-Branch or BSB number.
bankId (String) The bank id.
bankCode (String) The bank code.
branchId (String) The bank branch id.
branchCode (String) The bank branch code.
accountNumber (String) The bank account number.
accountSuffix (String) The bank account suffix.
institutionNumber (String) The bank institution number
transitNumber (String) The bank transit number.
registrationNumber (String) The bank registration number.
routingCode (String) The bank routing code.
sortCode (String) The bank sort code.
purposeOfPayment (String) The bank purpose of payment code.

Bid

Represents an bid sent on a job.

Fields

Name Description
id (ID!) The ID of the bid.
status (BidStatus!) The status of the bid
job (Job!) The job which the bid was made on.

BidPaginator

A paginated list of Bid items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Bid!]!) A list of Bid items.

Bill

A bill.

Fields

Name Description
id (ID!) The ID for the bill.
worker (Worker!) The worker attached to the bill.
recruiter (Recruiter) The Recruiter, if any, attached to the bill.
company (Company!) The Company attached to the bill.
number (String!) The unique reference for the bill.
purchaseOrderNumber (String) The purchase order number assigned to the bill.
startDate (Date) The start date for this billing period.
endDate (Date) The end date for this billing period.
currency (Currency!) The currency used for this bill.
rate (Float) The charged rate for this bill.
rateType (RateType) The rate type required for this bill.
rateQuantity (Float!) The quantity of the selected rate type for the bill.

The rate type can be seen by looking at Bill.rateType and the rate can be seen by looking at Bill.rate.
serviceAmount (Float!) The fee for using the Worksome Platform. This will change depending on who is viewing the api.
expensesAmount (Float!) The total amount of expenses reported on the bill.
netAmount (Float!) The total amount excluding taxes.
grossAmount (Float!) The total amount including taxes.
recruiterFeeAmount (Float!) The agreed fee on the bill between the company and recruiter.

Only the Company and Recruiter can see this.
employmentCostAmount (Float!) The employment cost. The fee for payrolling a Worker.

Only the Company can see this.
billedAmount (Float!) The total amount excluding fees and expenses.
date (Date!) The date that the bill was created.
manuallyApprovedAt (Date) The manual approval date.
approvedBy (User) Who the bill was approved by.
autoApprovedAt (Date) The auto-approval date, if applicable.
rejectedAt (Date) When the bill was rejected, if applicable.
prepaidAt (Date) When the bill was prepaid, if applicable.
hire (Hire!) The hire attached to the bill.
job (Job!) The job attached to the bill.
message (Message) The message attached to the bill.
timesheet (Timesheet) The timesheet attached to the bill.
files (FilePaginator!) The files attached to the bill.

There could potentially be a timesheet stored as a separate file.

BillPaginator

A paginated list of Bill items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Bill!]!) A list of Bill items.

BusinessEntity

A business entity.

Fields

Name Description
id (ID!) The ID of the business entity.
type (BusinessEntityType!) The company name for the business entity.
name (String!) The company name for the business entity.
companyName (String) The company name for the business entity.
companyNumber (String) The company number for the business entity.
taxNumber (String) The tax number for the business entity.

BusinessEntityPaginator

A paginated list of BusinessEntity items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([BusinessEntity!]!) A list of BusinessEntity items.

Company

A company.

Fields

Name Description
id (ID!) The ID of the company.
name (String!) The name of the company.
currency (String!) The company preferred currency.
market (MarketCode!) The market that the company is in.
avatar (URL) The company avatar.
profile (Profile) The profile that the company has.
contactInviteUrl (String) The company full invite url.
settings (CompanySettings) The company settings.
trustedContacts (TrustedContactPaginator!) The trusted contacts that the company has.
teamMembers (UserPaginator!) The team members that the company has.
teamMembersAndOwners (UserPaginator!) The team members and owners that the company has.
organisations (OrganisationPaginator!) The organisations that a company is a part of.
customFields (CustomFieldPaginator!) The custom fields that the company owns

CompanyPaginator

A paginated list of Company items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Company!]!) A list of Company items.

CompanyRecruiter

A company recruiter relationship.

Fields

Name Description
id (ID!) The id of the company recruiter.
email (String) The mail of the recruiter.
status (ContactStatusEnum!) Status of the company recruiter.
token (String) The token used to invite the recruiter.
message (String) The message sent to the recruiter when inviting them.
recruiterFee (Float) The fee of the recruiter for the relationship.
recruiterOwnershipDays (Int) The days of ownership of the recruiter.
recruiterOwnershipDaysLeft (Int) The amount of days left of the ownership.
recruiter (Recruiter!) The company recruiter recruiter.
company (Company!) The company recruiter company.
tags ([Tag!]!) The tags applied to the relationship

CompanyRecruiterPaginator

A paginated list of CompanyRecruiter items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([CompanyRecruiter!]!) A list of CompanyRecruiter items.

CompanySettings

Company settings.

Fields

Name Description
projectTracking (Boolean) Whether project tracking is enabled.
requiredJobBudget (Boolean) Whether job budget is required.
multiCurrencyContractsDisabled (Boolean) Whether a company has enabled multi currency contracts.

Contract

A contract.

Fields

Name Description
id (ID!) The ID for the contract.
jobName (String!) The name of the contract that the job is for.
jobDescription (String!) The description of the contract that the job is for.
locationPreference (LocationPreference!) The location preference of the contract.
status (ContractStatus!) The status of the contract.
startDate (Date) The start date of the contract.
endDate (Date) The end date of the contract.
address (String) The address of the contract.
currency (Currency!) The type of currency.
rateType (RateType) The unit of time when payment is due.
rate (Float) The payment amount per specified rate type.
purchaseOrderNumber (String) The Purchase Order (PO) number.
companyCvr (String) The company’s Central Virksomhed (Company) Registration (CVR) number.

For more information, visit: https://datacvr.virk.dk
pdfUrl (URL) 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.
paymentTermMethod (PaymentTermMethod!) The method of payment over the specified term.
paymentTerm (Int!) The term that the payment will be made within, in days. Example paymentTerm: 10 means Worksome will pay the freelancers approved bills within 10 days.
termsAccepted (Boolean!) Whether the contract’s terms have been accepted.
termsAcceptedAt (DateTime) The date that the terms were accepted.
workerAcceptedAt (DateTime) The date that the terms were accepted by a worker.
workerSignature (String) The submitted signature of the accepted worker.
job (Job!) The Job for which the contract is for.
worker (Worker!) The Worker for which the contract is for.
company (Company!) The Company for which the contract is for.
businessEntity (BusinessEntity) The business entity associated with the contract

ContractPaginator

A paginated list of Contract items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Contract!]!) A list of Contract items.

Conversation

A conversation between a company and a freelancer.

Fields

Name Description
id (ID!) The ID for the conversation.
subject (String!) The subject line of the conversation.
job (Job) The job that the conversation is related to.
latestMessage (Message) The latest message sent in the conversation
url (URL!) The URL for the conversation.
createdAt (Date!) The date the conversation was created
closedAt (Date) The date the conversation was closed
messages (MessagePaginator!) The messages in the conversation

ConversationPaginator

A paginated list of Conversation items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Conversation!]!) A list of Conversation items.

Country

A country

Fields

Name Description
isoCode (String!) The country ISO code
name (String) The country full name

CreateExportResponse

A response with data from the export creation.

Fields

Name Description
status (ExportResponseStatus!) The status of the export.
message (String!) A message explaining the result of the export.

CustomField

A custom field.

Fields

Name Description
id (ID!) The id of the field.
user (User!) The user who created the field.
account (Account!) The account that the field is owned by.
title (String!) The title of the field.
description (String) The description of the field.
fieldType (CustomFieldType!) The type of the field.
appliesTo (TypeSupportingCustomFieldValues!) The type of item that the field applies to.
customFieldOptions ([CustomFieldOption!]!) The possible options for the field.
settings (Dictionary!) Additional custom field settings e.g. validation rules
visibility (CustomFieldVisibility!) To which persona(s) should the custom field be visible to
customFieldValues ([CustomFieldValue!]!) The the custom field related values which were applied on an entity.
isUsedInFieldValues (Boolean!) Whether the field has been applied to an entity supporting custom fields.
rule (ApprovalRuleFieldPivot) Access to the approval rule field pivot, containing the operator and rule value.
approval (Boolean!) Whether the field is enabled for approval workflows.

CustomFieldOption

A custom field option.

Fields

Name Description
id (ID!) The id of the field option.
customField (CustomField!) The field that the field option is valid for.
displayOrder (Int!) The display order of the field option. Unsigned integer
value (String!) The value of the field option.

CustomFieldPaginator

A paginated list of CustomField items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([CustomField!]!) A list of CustomField items.

CustomFieldSettings

Representation of a CustomField settings field

Fields

Name Description
validation ([CustomFieldValidationRules!]!) Validation rules for the CustomField

CustomFieldValue

A custom field value.

Those represents the CustomField’s value filled for an entity supporting custom fields

e.g: You’ve defined a FreeText “sector” CustomField applying to Job entities Say you have a job which is in the “IT” sector. You’d need to create a CustomFieldValue with field_id = , and content = “IT”

Fields

Name Description
id (ID!) The id of the field value.
account (Account!) The account that the field value is owned by.
user (User!) The user who created the field value.
appliesTo (SupportsCustomFieldValue!) The entity to which the CustomFieldValue is applying to
customField (CustomField!) The field that the field value is valid for.
customFieldOption (CustomFieldOption) The field option which was applied for that field to the entity supporting custom fields.

Present in the case of a SingleSelect field type
content (String) The content of the CustomFieldValue in the case of a CustomField not using CustomFieldOptions.

Present in the case of a FreeText field type
displayValue (String) A string computed representation of the value tinkered for easier display. This gives a “human” representation of the custom field value no matter the field type. E.g.: - returns “content” for a FreeText - returns the custom field option “value” for a SingleSelect

File

A file.

Fields

Name Description
id (ID!) The ID for the file.
name (String!) The name of the file.
size (Int!) The size of the file in bytes.
mimeType (String!) The IANA MIME type of the file.
owner (Account!) The account that the file belongs to.
url (String!) 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.

FilePaginator

A paginated list of File items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([File!]!) A list of File items.

ForceLogoutPayload

Contains information about the user who was forcefully logged out.

Fields

Name Description
user (User!) The user.
revokedTokens ([Token!]!) The tokens that have been revoked.

FreetextTimesheet

A free-text timesheet.

Fields

Name Description
text (String!) The free-text content for the timesheet.

Hire

A representation of a hiring on a job between parties.

Usually a hire is between a worker and a company on a job created by a company. A hire is not a legal document, it is simply used to show that the parties have agreed to work together. The contracts which can be found on the hire is however a legal document.

Fields

Name Description
id (ID!) The ID for the hire.
number (String!) The unique reference for the hire.
latestContract (Contract!) 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.
activeContract (Contract) The currently active contract.

This has been accepted by all parties and is the active legal document between them.
company (Company!) The company which the worker will work with.
job (Job!) The job that the hire is on.
recruiter (Recruiter) The recruiter attributed to the hire.
worker (Worker!) The worker which the company is hiring.
conversation (Conversation!) The conversation which the hire is happening on.
createdAt (Date!) The date the hire was created on.
dateStart (Date) The date the hire started.
dateEnd (Date) The date the hire ended.
recruiterOwnershipStartDate (Date) The date that recruiter ownership started.
recruiterFee (Percentage) The recruiter’s fee.
recruiterOwnershipDays (Int) The number of ownership days for the recruiter.
recruiterOwnershipIsExpired (Boolean) Indicates whether or not the recruiter ownership has expired yet.
recruiterOwnershipDaysLeft (Int) Number of days left in the recruiter’s ownership.
currency (String!) The currency of the hire.
rate (Float) The rate for the hire.
rateType (String) The rate type for the hire.
status (HireStatus!) The hire status for the hire.
offeredAt (Date) The date the hire became active.
contracts (ContractPaginator!) The contracts for the hire.

These are legal documents, however it can contain old contracts and drafts also.
bills (BillPaginator!) The bills created on the hire.

HirePaginator

A paginated list of Hire items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Hire!]!) A list of Hire items.

Industry

An industry.

Fields

Name Description
id (ID!) The ID for the industry.
name (String!) The name of the industry.

IndustryPaginator

A paginated list of Industry items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Industry!]!) A list of Industry items.

Invoice

An invoice.

An invoice gets created when one or more worker bills gets approved by a company user. The invoice defines the amount due and is to be paid to Worksome by the company.

Fields

Name Description
id (ID!) The ID for the invoice.
number (String!) A number referencing the invoice.

This is usually printed on the invoice itself and should be used by booking system and finance departments. The format is a human readable format
pdfUrl (URL!) 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.
currency (Currency!) The type of currency.
grossAmount (Float!) The total amount including taxes etc.
grossOpenAmount (Float!) The total amount due on invoice minus credited amounts including taxes etc.
taxAmount (Float!) The total amount of taxes to be paid.
netAmount (Float!) The total amount without taxes
markedPaidAt (Date) The date of which 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.
dueDate (Date!) The date of which the invoice should be paid by.
company (Company!) The Company for which the invoice is for.
date (Date!) The date of which the invoice was created.
isBatched (Boolean!) Checks if the invoice is a batched invoice.

A batch invoice aggregates multiple bills together in one, summarised invoice over a period of time. This reduces the overhead of processing high volumes of bills and corresponding invoices.
transactionType (InvoiceTransactionType!) The type of transaction to be used for the invoice.
isFullyCredited (Boolean!) Checks if the invoice has been fully credited
creditNotes ([Invoice!]!) Credit notes associated to the invoice.
originalInvoice (Invoice) Original invoice credited by this credit note.
rows (InvoiceRowPaginator!) A paginated list of all the rows on the invoice.

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

InvoicePaginator

A paginated list of Invoice items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Invoice!]!) A list of Invoice items.

InvoiceRow

A row on the invoice.

Fields

Name Description
id (ID!) The ID for the invoice row.
bill (Bill) The bill which the row on the invoice is related to.
worker (Worker) The worker that is linked to this row.
customText (String) A custom text which will be shown on the invoice pdf.

InvoiceRowPaginator

A paginated list of InvoiceRow items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([InvoiceRow!]!) A list of InvoiceRow items.

Job

A job that a company has created on Worksome.

Fields

Name Description
id (ID!) The ID for the job.
name (String!) The name of the job.
skills ([Skill!]!) The skills required for the job.
description (String) The description of the job.
market (MarketCode!) The market that the job is in.
address (String) The address of the job.
currency (Currency!) The type of currency.
rateType (RateType) The unit of time when payment is due.
rate (Float) The payment amount per specified rate type.
minimumRate (Float) The minimum payment amount per specified rate type.
maximumRate (Float) The maximum payment amount per specified rate type.
paymentScheme (PaymentScheme) The payment scheme that the job will use.
companyFee (StrictPercentage) The company fee (as a percentage).
workerFee (StrictPercentage) The worker fee (as a percentage).
association (Association) The project type of the job.
project (Project) The project the job associated to.
internalBudget (Float) Internal budget of the project.
spent (Float!) Total job spent.

Only enterprise company owning the job could access the budget.
expectedExperienceLevel ([ExpectedExperienceLevel!]!) The expected experience levels required for the job.
locationPreference (LocationPreference) The location preference of the job.
startDate (Date) The start date of the job.
endDate (Date) The end date of the job.
attachments ([File!]!) The project type of the job.
evaluationPeriod (EvaluationPeriod!) 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.
requiredWorkers (Int) The number of required workers.

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.
approved (Boolean!) Has the job been approved by Worksome.
available (Boolean!) Is the job available to receive offers
paused (Boolean!) Is the job currently paused.
completed (Boolean!) Is the Job completed.
published (Boolean!) Is the Job published.
publishedAt (DateTime) The date which the job was published at.
company (Company!) The Company for which the job is for.
region (String) The region for the job.
url (URL!) The URL for the job.
viewerCanDelete (Boolean!) Whether the viewer is able to delete the job
createdAt (DateTime!) The date the job was created.
updatedAt (DateTime!) The date the job was updated.
isForContacts (Boolean!) Is the job shared with contacts.
isForRecruiters (Boolean!) Is the job shared with recruiters.
isForMarketplace (Boolean!) Is the job shared publicly on the marketplace.
hires (HirePaginator!) The hires made on the job.
conversations (ConversationPaginator!) The conversations involving the job.
notes (NotePaginator!) Notes added to the job.
bills (BillPaginator!) The bills created on the job.
bids (BidPaginator!) The bids submitted for the job.
shares (JobSharePaginator!) The contacts that this job was shared with.

JobPaginator

A paginated list of Job items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Job!]!) A list of Job items.

JobShare

The contacts that the job was shared with.

Fields

Name Description
id (ID!) The ID for the job share.
account (Account!) The account that the job share belongs to.

JobSharePaginator

A paginated list of JobShare items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([JobShare!]!) A list of JobShare items.

Language

A language that is required for a job.

Fields

Name Description
name (LanguageName!) The name of the language.
experience (Fluency!) The required level of the language.

Link

A link on a profile

Fields

Name Description
title (String!) The title of the link
url (URL!) The url of the link

Market

A market.

Fields

Name Description
code (MarketCode!) The market code.
name (String!) The name of the market.

Message

A message as part of a conversation

Fields

Name Description
id (ID!) The ID of the message.
body (String) The body of the message.
author (User) The author of the message.
url (URL!) The URL for the profile.

MessagePaginator

A paginated list of Message items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Message!]!) A list of Message items.

MultiFactorPaginator

A paginated list of MultiFactor items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([MultiFactor!]!) A list of MultiFactor items.

Note

A note for an entity.

Fields

Name Description
id (ID!) The ID for the note.
title (String!) The title of the note.
body (String!) The body of the note.
author (User!) The author of the note.
notable (Notable!) The entity that the note belongs to.
account (Account!) The account that the note belongs to.
createdAt (DateTime!) The date that the note was created.
updatedAt (DateTime!) The date that the note was updated.
viewerCanUpdate (Boolean!) Whether the viewer is able to update the note.
viewerCanDelete (Boolean!) Whether the viewer is able to delete the note.

NotePaginator

A paginated list of Note items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Note!]!) A list of Note items.

Organisation

An organisation.

Fields

Name Description
id (ID!) The ID of the organisation.
name (String!) The name of the organisation.
market (MarketCode!) The market that the organisation is in.
divisions (CompanyPaginator!) The divisions that an organisation contains.

OrganisationPaginator

A paginated list of Organisation items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Organisation!]!) A list of Organisation items.

PageInfo

Information about pagination using a Relay style cursor connection.

Fields

Name Description
hasNextPage (Boolean!) When paginating forwards, are there more items?
hasPreviousPage (Boolean!) When paginating backwards, are there more items?
startCursor (String) The cursor to continue paginating backwards.
endCursor (String) The cursor to continue paginating forwards.
total (Int!) Total number of nodes in the paginated connection.
count (Int!) Number of nodes in the current page.
currentPage (Int!) Index of the current page.
lastPage (Int!) Index of the last available page.

PaginatorInfo

Information about pagination using a fully featured paginator.

Fields

Name Description
count (Int!) Number of items in the current page.
currentPage (Int!) Index of the current page.
firstItem (Int) Index of the first item in the current page.
hasMorePages (Boolean!) Are there more pages after this one?
lastItem (Int) Index of the last item in the current page.
lastPage (Int!) Index of the last available page.
perPage (Int!) Number of items per page.
total (Int!) Number of total available items.

Profile

A profile.

Fields

Name Description
id (ID!) The ID of the profile.
url (URL!) The URL for the profile.
links ([Link!]!) The links for the profile

Project

A project with a budget containing one or more jobs.

Fields

Name Description
id (ID!) The ID for the project.
name (String!) The name of the project.
description (String) The description of the project.
currency (Currency!) The currency used for this project.
creator (User!) The creator of the project.
company (Company!) The company that the project is for.
internalBudget (Decimal) The total internal budget for the project.
allocatedBudget (Decimal!) The sum of all associated job budgets that have been allocated to the internal budget of the project.
spent (Decimal!) 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.
endDate (Date) The end date for this project.

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.
jobs (JobPaginator!) Jobs added to this project.

ProjectPaginator

A paginated list of Project items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Project!]!) A list of Project items.

Recruiter

A recruiter.

Fields

Name Description
id (ID!) The ID of the recruiter.
name (String!) The name of the recruiter.
market (Market!) The market that the recruiter is in.
initials (String!) The initials of the recruiter
avatar (URL) The recruiter avatar

RecruiterPaginator

A paginated list of Recruiter items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Recruiter!]!) A list of Recruiter items.

SimplePaginatorInfo

Information about pagination using a simple paginator.

Fields

Name Description
count (Int!) Number of items in the current page.
currentPage (Int!) Index of the current page.
firstItem (Int) Index of the first item in the current page.
lastItem (Int) Index of the last item in the current page.
perPage (Int!) Number of items per page.
hasMorePages (Boolean!) Are there more pages after this one?

Skill

A skill that is required for a job.

Fields

Name Description
id (ID!) The ID for the skill.
name (String!) The name of the skill.

SmsCreateMultiFactorPayload

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

Fields

Name Description
multiFactor (SmsMultiFactor!) The newly-created SMS multi factor.

SmsMultiFactor

An SMS multi-factor authentication implementation.

Fields

Name Description
id (ID!) The ID of the SMS multi-factor authentication implementation.
name (String!) The name of the SMS multi-factor authentication implementation.
phoneNumber (E164PhoneNumber!) The phone number for the SMS multi-factor authentication implementation.
status (Status!) The status of the SMS multi-factor authentication implementation.
owner (User!) The owner of the SMS multi-factor authentication implementation.
verifiedAt (DateTime) When the SMS multi-factor authentication implementation was verified.
createdAt (DateTime!) When the SMS multi-factor authentication implementation was created.
updatedAt (DateTime!) When the SMS multi-factor authentication implementation was updated.

SpreadsheetTimesheet

A spreadsheet-based timesheet.

Fields

Name Description
rows ([SpreadsheetTimesheetRow!]!) The rows for the spreadsheet.

SpreadsheetTimesheetRow

A spreadsheet-based timesheet row.

Fields

Name Description
date (Date!) The date specified for the timesheet row.
quantity (Float!) The quantity of the selected rate type for the bill.

The rate type can be seen by looking at Bill.rateType and the rate can be seen by looking at Bill.rate.
description (String!) The description of the timesheet row.

Tag

A tag.

Fields

Name Description
id (ID!) The ID of the tag.
name (String) The name of the tag.

TagPaginator

A paginated list of Tag items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Tag!]!) A list of Tag items.

Token

Contains information about an authentication token.

Fields

Name Description
jti (String!) The access token JTI (JWT ID).

TotpCreateMultiFactorPayload

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

Fields

Name Description
multiFactor (TotpMultiFactor!) The newly-created TOTP multi factor.
secret (String!) The secret for the newly-created TOTP multi factor.
qrCode (URL!) 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

Name Description
id (ID!) The ID of the TOTP multi-factor authentication implementation.
name (String!) The name of the TOTP multi-factor authentication implementation.
status (Status!) The status of the TOTP multi-factor authentication implementation.
owner (User!) The owner of the TOTP multi-factor authentication implementation.
verifiedAt (DateTime) When the TOTP multi-factor authentication implementation was verified.
createdAt (DateTime!) When the TOTP multi-factor authentication implementation was created.
updatedAt (DateTime!) When the TOTP multi-factor authentication implementation was updated.

TrustedContact

A trusted contact.

Fields

Name Description
id (ID!) The ID of the trusted contact.
worker (Worker!) The trusted contact worker.
company (Company!) The trusted contact company.
invitedByUser (User) The user who invited the worker as trusted contact of the company A “null” value here means th trusted contact was automatically added by a process
viewerCanApprove (Boolean!) Whether the viewer is able to approve the trusted contact.
viewerCanUpdate (Boolean!) Whether the viewer is able to update the trusted contact
viewerCanDelete (Boolean!) Whether the viewer is able to delete 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
status (ContactStatusEnum!) Status of the trusted contact.
statusUpdatedAt (Date!) Date that the status of the trusted contact was last updated at.
invitedAt (Date!) Date when the trusted contact was invited on.
tags (TagPaginator!) The tags for a trusted contact.

@deprecated Should use skills instead.
notes (NotePaginator!) Notes added to the trusted contact.

TrustedContactPaginator

A paginated list of TrustedContact items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([TrustedContact!]!) A list of TrustedContact items.

User

Account of a person who utilizes this application.

Fields

Name Description
id (ID!) Unique primary key.
name (String!) Non-unique name.
email (String!) Unique email address.
emailVerifiedAt (DateTime) When the email was verified.
createdAt (DateTime!) When the account was created.
updatedAt (DateTime!) When the account was last updated.
canCreatePassword (Boolean!) 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.
missingAuthentication (Boolean!) 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.
hasVerifiedEmail (Boolean!) Checks whether the user has verified their email or not.
avatar (URL) The avatar of the user.

UserGroup

A user group.

Fields

Name Description
id (ID!) The ID of the group.
name (String!) The name of the group.
description (String) The description of the group.
company (Company!) The company that the group is for.
users (UserPaginator!) The users of the group.

UserGroupPaginator

A paginated list of UserGroup items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([UserGroup!]!) A list of UserGroup items.

UserPaginator

A paginated list of User items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([User!]!) A list of User items.

Vendor

A vendor.

Fields

Name Description
id (ID!) The ID of the vendor.
name (String!) The name of the vendor.
market (MarketCode!) The market that the vendor is in.

Worker

A worker.

Fields

Name Description
id (ID!) The ID of the worker.
name (String!) The name of the worker.
email (String) The email of the worker.
phone (String) The phone of the worker.
avatar (URL) The worker avatar.
address (Address) The address that the worker is registered to.
market (Market!) The market that the worker is in.
skills ([Skill!]!) The skills that the worker has.
profile (Profile) The profile that the worker has.
jobTitle (String) The job title that the worker has.
initials (String!) The initials for the worker name.
currency (String!) The currency that the worker uses.
dayRate (Float) The daily rate for the worker.
primaryBusinessEntity (BusinessEntity) The business entity that the worker uses.
totalPaid (Float!) The total amount received/paid by the given company.
viewerIsClient (Boolean) Whether the worker is a trusted contact for the current viewer.

Only companies can see this.
viewerCanContact (Boolean!) Whether the viewer is able to contact the trusted contact.
viewerCanOfferJob (Boolean!) Whether the viewer is able to offer jobs to the trusted contact
businessEntities (BusinessEntityPaginator!) The business entities that the worker has.
hires (HirePaginator!) The hires associated with the worker.

Workflow

The workflow definition.

Fields

Name Description
id (ID!) The ID for the workflow.
nodes ([Nodeable!]!) The nodes that are attached to this workflow.

WorkflowPaginator

A paginated list of Workflow items.

Fields

Name Description
paginatorInfo (PaginatorInfo!) Pagination information about the list of items.
data ([Workflow!]!) A list of Workflow items.