Interfaces

Interfaces define the structure of a type, and include a set of fields that are required for a type to implement the interface.

Account

A Worksome account.

An account represents an entity that can interact with the platform. Account types include Company (the hiring entity), Organisation (a parent grouping of companies), Partner (an employment or compliance partner), Worker (a freelancer or contractor), and Staffing Agency (recruiter).

Fields
idID!
The ID of the account.
nameString!
The name of the account.
avatarURL
The avatar (or profile picture) for the account.

ClientRelation

Experimental. A supplier’s relation with one client company.

Fields
idID!
The ID of the relation.
clientCompany!
The client company.
createdAtDate!
When the relation was created.
hiresCountInt!
Experimental. How many placements the relation has, counting only the given statuses when set.
workersCountInt!
Experimental. How many distinct workers the relation has placed at the client.
firstHireStartedAtDate
Experimental. When the relation’s earliest placement at the client started. Null before the first one.

HasCompanyInformation

An interface requiring company-specific fields.

Fields
nameString!
The name of the account.
marketMarketCode!
The market that the account is in.

HasCustomFields

An interface requiring custom fields specific data.

Fields
customFieldsCustomFieldPaginator!
A list of owned custom fields.

HasMultiFactorMetadata

The consistent data for a multi factor implementation.

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

HasURL

An interface requiring a URL field.

Fields
urlURL!
The URL for the resource.

Ownable

A record that people can be assigned to as owners.

Fields
idID!
The record’s own ID.
owners[Owner!]!
The team members assigned to this record.
viewerCanManageOwnersBoolean!
Whether the viewer may change the owners of this record.

WorkflowVariable

A variable that can be used in approval rule conditions.

Workflow variables represent the data points available for building conditions in approval rules. They include system variables (e.g. hourly rate, daily rate, budget) and company-configured custom fields. Each variable defines which comparison operators it supports.

Fields
idID!
The ID for this variable, used when creating rule conditions.
titleString!
The human-readable title of the variable (e.g. “Hourly Rate”, “Budget”).
descriptionString
A description of what the variable represents.
operators[WorkflowVariableOperator!]!
The comparison operators that can be used with this variable (e.g. equals, greater than).