Queries
Queries are a type that defines what data you are able to request from the GraphQL API.
accounts
Type: [Account!]!
Get a list of accounts which the current authentication has access to.
Example
query Accounts { accounts { __typename # ...plus the fields you need } }
approval
Type: Approval
Get a specific approval flow by ID.
Requires the manage-approvals team permission on the owning company.
| Arguments |
|---|
idID! |
Example
query Approval { approval(id: "abc123") { __typename # ...plus the fields you need } }
approvalApprovable
Type: ApprovalApprovable
Get a specific approval request by ID.
| Arguments |
|---|
idID! |
Example
query ApprovalApprovable { approvalApprovable(id: "abc123") { __typename # ...plus the fields you need } }
approvalApprovables
Type: ApprovalApprovablePaginator!
List approval requests — the runtime instances created when a trigger fires.
Use filters to find requests that need action, belong to specific approvals, or relate to specific items (e.g. a particular hire).
| Arguments |
|---|
accounts[ID!] |
requiresActionBooleantrue, only return approval requests that still need action from any approver. |
requiresActionUsers[ID!] |
approvals[ID!] |
approvableID |
approvalRules[ID!] |
orderBy[ApprovalApprovablesOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query ApprovalApprovables { approvalApprovables(accounts: ["abc123"], requiresAction: true, requiresActionUsers: ["abc123"], approvals: ["abc123"], approvable: "abc123", approvalRules: ["abc123"], orderBy: [{ # ApprovalApprovablesOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
approvalRule
Type: ApprovalRule
Get a specific approval rule by ID.
| Arguments |
|---|
idID! |
Example
query ApprovalRule { approvalRule(id: "abc123") { __typename # ...plus the fields you need } }
approvalRules
Type: ApprovalRulePaginator!
List all approval rules accessible to the authenticated user.
| Arguments |
|---|
accounts[ID!] |
firstInt! |
pageInt |
Example
query ApprovalRules { approvalRules(accounts: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
approvalStates
Type: ApprovalStatePaginator!
List all approval actions (approvals, rejections, change requests) across approval requests.
Use this to build an audit trail of all approval activity for a company.
| Arguments |
|---|
accounts[ID!] |
status[ApprovalApprovableState!] |
users[ID!] |
firstInt! |
pageInt |
Example
query ApprovalStates { approvalStates(accounts: ["abc123"], status: [UNKNOWN], users: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
approvals
Type: ApprovalPaginator!
List all approval flows accessible to the authenticated user.
Requires the manage-approvals team permission.
| Arguments |
|---|
accounts[ID!] |
searchString |
firstInt! |
pageInt |
Example
query Approvals { approvals(accounts: ["abc123"], search: "example", first: 10, page: 10) { __typename # ...plus the fields you need } }
approver
Type: Approver
Get a specific approver assignment by ID.
| Arguments |
|---|
idID! |
Example
query Approver { approver(id: "abc123") { __typename # ...plus the fields you need } }
approvers
Type: ApproverPaginator!
List approver assignments, optionally filtered by approval rule.
| Arguments |
|---|
accounts[ID!] |
approvalRuleID |
firstInt! |
pageInt |
Example
query Approvers { approvers(accounts: ["abc123"], approvalRule: "abc123", first: 10, page: 10) { __typename # ...plus the fields you need } }
batch
Type: Batch
Get a specific batch.
| Arguments |
|---|
idID! |
Example
query Batch { batch(id: "abc123") { __typename # ...plus the fields you need } }
batches
Type: BatchPaginator!
Get a list of batches.
| Arguments |
|---|
accounts[ID!] |
types[BatchType!] |
containsItemsWithStatus[BatchItemStatus!] |
firstInt! |
pageInt |
Example
query Batches { batches(accounts: ["abc123"], types: [PARTNER_PAYMENT_REQUESTS], containsItemsWithStatus: [PROCESSING], first: 10, page: 10) { __typename # ...plus the fields you need } }
bid
Type: Bid
Get a specific bid which the user has access to.
| Arguments |
|---|
idID! |
Example
query Bid { bid(id: "abc123") { __typename # ...plus the fields you need } }
bids
Type: BidPaginator!
Get a list of all bids which the viewer has access to.
| Arguments |
|---|
statuses[BidStatus!] |
jobID |
accounts[ID!] |
companies[ID!] |
orderBy[BidOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query Bids { bids(statuses: [OPEN], job: "abc123", accounts: ["abc123"], companies: ["abc123"], orderBy: [{ # BidOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
classification
Type: Classification
Get a specific classification by ID.
| Arguments |
|---|
idID! |
Example
query Classification { classification(id: "abc123") { __typename # ...plus the fields you need } }
classifications
Type: ClassificationPaginator!
Get all classifications for a specific hire.
| Arguments |
|---|
hireID! |
firstInt! |
pageInt |
Example
query Classifications { classifications(hire: "abc123", first: 10, page: 10) { __typename # ...plus the fields you need } }
companies
Type: CompanyPaginator!
Get a list of companies that the authenticated user has access to.
| Arguments |
|---|
externalIdentifiers[String!] |
firstInt! |
pageInt |
Example
query Companies { companies(externalIdentifiers: ["example"], first: 10, page: 10) { __typename # ...plus the fields you need } }
company
Type: Company
Get a specific company.
| Arguments |
|---|
idID! |
Example
query Company { company(id: "abc123") { __typename # ...plus the fields you need } }
companyRecruiter
Type: CompanyRecruiter
Get a specific company recruiter.
| Arguments |
|---|
idID! |
Example
query CompanyRecruiter { companyRecruiter(id: "abc123") { __typename # ...plus the fields you need } }
companyRecruiterRegions
Type: [MarketWithRegions!]!
Get distinct regions used by the company’s associated recruiters, grouped by market. Scoped to the authenticated user’s companies.
Example
query CompanyRecruiterRegions { companyRecruiterRegions { __typename # ...plus the fields you need } }
companyRecruiters
Type: CompanyRecruiterPaginator!
Get a list of company recruiters.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
searchString |
statuses[RecruiterStatus!] |
tags[String!] |
markets[String!] |
recruiterRegionsMarketRegionInput |
orderBy[RecruiterOrderByClauseInput!] |
externalIdentifiers[String!] |
customFields[CustomFieldTypeValueInput!] |
verifiedRecruiterReviewVerifiedRecruiterReviewFilterInput |
firstInt! |
pageInt |
Example
query CompanyRecruiters { companyRecruiters(accounts: ["abc123"], search: "example", statuses: [ACTIVE], tags: ["example"], markets: ["example"], recruiterRegions: { # MarketRegionInput fields }, orderBy: [{ # RecruiterOrderByClauseInput fields }], externalIdentifiers: ["example"], customFields: [{ # CustomFieldTypeValueInput fields }], verifiedRecruiterReview: { # VerifiedRecruiterReviewFilterInput fields }, first: 10, page: 10) { __typename # ...plus the fields you need } }
companySupplier
Type: CompanySupplier
Get a specific company supplier.
| Arguments |
|---|
idID! |
Example
query CompanySupplier { companySupplier(id: "abc123") { __typename # ...plus the fields you need } }
companySuppliers
Type: CompanySupplierPaginator!
Get a list of company suppliers for the authenticated company accounts.
| Arguments |
|---|
accounts[ID!] |
searchString |
firstInt! |
pageInt |
Example
query CompanySuppliers { companySuppliers(accounts: ["abc123"], search: "example", first: 10, page: 10) { __typename # ...plus the fields you need } }
compliance
Type: [Compliance!]!
Get compliance requirements for a specific hire.
Returns all compliance requirements that apply to the given hire, or only the specified compliances if the names argument is provided.
| Arguments |
|---|
idID! |
names[ComplianceName!] |
cachedBooleanapplicable / completed. Defaults to live computation. Pass true to read the persisted compliance status row (falling back to live when no row exists yet). Intended for verification dashboards during the persisted-status rollout; the default will remain live until the persisted rows are proven correct in production. |
Example
query Compliance { compliance(id: "abc123", names: [ADDRESS], cached: true) { __typename # ...plus the fields you need } }
contract
Type: Contract
Get a specific contract.
| Arguments |
|---|
idID! |
Example
query Contract { contract(id: "abc123") { __typename # ...plus the fields you need } }
contracts
Type: ContractPaginator!
Get a list of contracts.
| Arguments |
|---|
accounts[ID!] |
currencies[Currency!] |
statuses[ContractStatus!] |
locationPreferences[LocationPreference!] |
firstInt! |
pageInt |
Example
query Contracts { contracts(accounts: ["abc123"], currencies: [CAD], statuses: [DRAFT], locationPreferences: [ONSITE_ONLY], first: 10, page: 10) { __typename # ...plus the fields you need } }
conversation
Type: Conversation
Get a specific conversation.
| Arguments |
|---|
idID! |
Example
query Conversation { conversation(id: "abc123") { __typename # ...plus the fields you need } }
conversations
Type: ConversationPaginator!
Get a list of conversations.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. If multiple accounts are used only conversations for those accounts will be shown. |
isOpenBoolean |
firstInt! |
pageInt |
Example
query Conversations { conversations(accounts: ["abc123"], isOpen: true, first: 10, page: 10) { __typename # ...plus the fields you need } }
countries
Type: [Country!]!
Get a list of all countries.
Example
query Countries { countries { __typename # ...plus the fields you need } }
customField
Type: CustomField
Get a specific custom field.
| Arguments |
|---|
idID! |
Example
query CustomField { customField(id: "abc123") { __typename # ...plus the fields you need } }
customFields
Type: CustomFieldPaginator!
Get a list of custom fields.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied, then all authenticated accounts will be used. |
approvalBoolean |
appliesTo[TypeSupportingCustomFieldValues!] |
firstInt! |
pageInt |
Example
query CustomFields { customFields(accounts: ["abc123"], approval: true, appliesTo: [JOB], first: 10, page: 10) { __typename # ...plus the fields you need } }
employment
Type: Employment
Get a specific employment.
| Arguments |
|---|
idID! |
Example
query Employment { employment(id: "abc123") { __typename # ...plus the fields you need } }
employments
Type: EmploymentPaginator!
Get a list of employments.
| Arguments |
|---|
accounts[ID!] |
status[EmploymentStatus!] |
employerRecordStatus[EmployerRecordStatus!] |
searchString |
orderBy[EmploymentsOrderByClauseInput!] |
startDateRangeDateRangeInput |
endDateRangeDateRangeInput |
contractType[ContractType!] |
locations[String!] |
companies[ID!] |
hiringManagers[ID!] |
rateTypes[RateType!] |
previouslyHiredBoolean |
firstInt! |
pageInt |
Example
query Employments { employments(accounts: ["abc123"], status: [DRAFT], employerRecordStatus: [INCOMPLETE], search: "example", orderBy: [{ # EmploymentsOrderByClauseInput fields }], startDateRange: { # DateRangeInput fields }, endDateRange: { # DateRangeInput fields }, contractType: [CONTRACT_TYPE_CONTRACTOR], locations: ["example"], companies: ["abc123"], hiringManagers: ["abc123"], rateTypes: [HOURLY], previouslyHired: true, first: 10, page: 10) { __typename # ...plus the fields you need } }
file
Type: File
Get a specific file.
| Arguments |
|---|
idID! |
Example
query File { file(id: "abc123") { __typename # ...plus the fields you need } }
files
Type: FilePaginator!
Get a list of files.
| Arguments |
|---|
accounts[ID!]If no accounts supplied then all authenticated accounts will be used. |
mimeTypes[String!] |
firstInt! |
pageInt |
Example
query Files { files(accounts: ["abc123"], mimeTypes: ["example"], first: 10, page: 10) { __typename # ...plus the fields you need } }
gate
Type: Gate
Get a specific gate for a hire.
Returns the gate containing compliance requirements grouped by a specific compliance name.
| Arguments |
|---|
idID! |
gateComplianceName! |
cachedBooleanapplicable / completed on the gate and its compliances. Defaults to live; pass true to read the persisted status rows with a live fallback. |
Example
query Gate { gate(id: "abc123", gate: ADDRESS, cached: true) { __typename # ...plus the fields you need } }
hire
Type: Hire
Get a specific hire.
All parties of the hire can use this field for seeing their hire.
| Arguments |
|---|
idID! |
Example
query Hire { hire(id: "abc123") { __typename # ...plus the fields you need } }
hires
Type: HirePaginator!
Get a list of hires.
All parties of the hire can use this field for seeing their hires.
| Arguments |
|---|
accounts[ID!] |
searchString |
status[HireActiveStatus!] |
orderBy[HiresOrderByClauseInput!] |
recruiterOwnershipIsExpiredBoolean |
companies[ID!] |
workers[ID!] |
recruiters[ID!] |
startDateRangeDateRangeInput |
endDateRangeDateRangeInput |
startsAfterDate |
endsAfterDate |
createdAtDateRangeDateRangeInput |
externalIdentifiers[String!] |
contractStatus[ContractStatus!] |
contractType[ContractType!] |
engagementType[EngagementType!] |
engagementTypeSetup[EngagementTypeSetup!] |
usesClassification[ClassificationUsage!] |
activeStatus[HireActiveStatus!] |
includeDeletedBoolean Deprecated |
jobOwners[ID!] Deprecated |
owners[ID!] |
hasPaymentRequestsBoolean |
missingPaymentRequestDateRangeDateRangeInput |
hasRecruiterAttributionBoolean |
eligibleForPaymentRequestsBoolean |
jobs[ID!] |
supplierAccounts[ID!] |
firstInt! |
pageInt |
Example
query Hires { hires(accounts: ["abc123"], search: "example", status: [DRAFT], orderBy: [{ # HiresOrderByClauseInput fields }], recruiterOwnershipIsExpired: true, companies: ["abc123"], workers: ["abc123"], recruiters: ["abc123"], startDateRange: { # DateRangeInput fields }, endDateRange: { # DateRangeInput fields }, startsAfter: "...", endsAfter: "...", createdAtDateRange: { # DateRangeInput fields }, externalIdentifiers: ["example"], contractStatus: [DRAFT], contractType: [CONTRACT_TYPE_CONTRACTOR], engagementType: [PAYROLL], engagementTypeSetup: [W2], usesClassification: [NOT_USING], activeStatus: [DRAFT], includeDeleted: true, jobOwners: ["abc123"], owners: ["abc123"], hasPaymentRequests: true, missingPaymentRequestDateRange: { # DateRangeInput fields }, hasRecruiterAttribution: true, eligibleForPaymentRequests: true, jobs: ["abc123"], supplierAccounts: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
incomingJobs
Type: JobPaginator!
Jobs shared with a linked account that do not yet have a derived version.
| Arguments |
|---|
searchString |
orderBy[JobsOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query IncomingJobs { incomingJobs(search: "example", orderBy: [{ # JobsOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
industries
Type: IndustryPaginator!
Get a list of industries.
| Arguments |
|---|
firstInt! |
pageInt |
Example
query Industries { industries(first: 10, page: 10) { __typename # ...plus the fields you need } }
industry
Type: Industry
Get a specific industry.
| Arguments |
|---|
idID! |
Example
query Industry { industry(id: "abc123") { __typename # ...plus the fields you need } }
inheritedCustomFields
Type: CustomFieldPaginator!
Get a list of inherited custom fields.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied, then all authenticated accounts will be used. |
approvalBoolean |
appliesTo[TypeSupportingCustomFieldValues!] |
firstInt! |
pageInt |
Example
query InheritedCustomFields { inheritedCustomFields(accounts: ["abc123"], approval: true, appliesTo: [JOB], first: 10, page: 10) { __typename # ...plus the fields you need } }
invoice
Type: Invoice
Get a specific invoice.
| Arguments |
|---|
numberString! |
Example
query Invoice { invoice(number: "example") { __typename # ...plus the fields you need } }
invoiceRow
Type: InvoiceRow
Get a specific invoice row.
| Arguments |
|---|
idID! |
Example
query InvoiceRow { invoiceRow(id: "abc123") { __typename # ...plus the fields you need } }
invoices
Type: InvoicePaginator!
Get a list of invoices.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
status[InvoiceStatus!] |
transactionTypes[InvoiceTransactionType!] |
searchString |
hasPurchaseOrderNumberBoolean |
currency[Currency!] |
externalIdentifiers[String!] |
orderBy[QueryInvoicesOrderByOrderByClause!] |
firstInt! |
pageInt |
Example
query Invoices { invoices(accounts: ["abc123"], status: [PAID], transactionTypes: [INVOICE], search: "example", hasPurchaseOrderNumber: true, currency: [CAD], externalIdentifiers: ["example"], orderBy: [{ # QueryInvoicesOrderByOrderByClause fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
job
Type: Job
Get a specific job.
| Arguments |
|---|
idID! |
Example
query Job { job(id: "abc123") { __typename # ...plus the fields you need } }
jobCandidate
Type: JobCandidate
Get a specific job candidate.
| Arguments |
|---|
idID! |
Example
query JobCandidate { jobCandidate(id: "abc123") { __typename # ...plus the fields you need } }
jobCandidates
Type: JobCandidatePaginator!
Get a list of job candidates.
| Arguments |
|---|
jobs[ID!] |
statuses[JobCandidateStatus!] |
steps[JobCandidateHiringStep!] |
preferredBoolean |
orderBy[JobCandidateOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query JobCandidates { jobCandidates(jobs: ["abc123"], statuses: [ELIGIBLE], steps: [SHORTLISTED], preferred: true, orderBy: [{ # JobCandidateOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
jobShares
Type: JobSharePaginator!
Get a list of job shares.
| Arguments |
|---|
jobs[ID!] |
accountTypes[AccountType!] |
isActiveBoolean |
companies[ID!] |
orderBy[JobShareOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query JobShares { jobShares(jobs: ["abc123"], accountTypes: [WORKER], isActive: true, companies: ["abc123"], orderBy: [{ # JobShareOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
jobs
Type: JobPaginator!
Get a list of jobs.
| Arguments |
|---|
accounts[ID!] |
owners[ID!] |
markets[MarketCode!] |
searchString |
currencies[Currency!] |
rateTypes[RateType!] |
paymentSchemes[PaymentScheme!] Deprecated |
skills[String!] |
experienceLevel[ExpectedExperienceLevel!] |
associations[Association!] |
locationPreferences[LocationPreference!] |
availableBoolean |
publishedBoolean |
completedBoolean |
removedBoolean |
hasProjectBoolean |
hasHireBoolean |
hasBidsBoolean |
externalIdentifiers[String!] |
orderBy[JobsOrderByClauseInput!] |
createdAtDateRangeDateRangeInput |
unfilledBoolean |
customFields[CustomFieldTypeValueInput!] |
startDateRangeDateRangeInput |
endDateRangeDateRangeInput |
isJobPostBoolean |
statuses[JobStatus!] |
firstInt! |
pageInt |
Example
query Jobs { jobs(accounts: ["abc123"], owners: ["abc123"], markets: [US], search: "example", currencies: [CAD], rateTypes: [HOURLY], paymentSchemes: [ANY], skills: ["example"], experienceLevel: [STUDENT], associations: [SMALL_TASK], locationPreferences: [ONSITE_ONLY], available: true, published: true, completed: true, removed: true, hasProject: true, hasHire: true, hasBids: true, externalIdentifiers: ["example"], orderBy: [{ # JobsOrderByClauseInput fields }], createdAtDateRange: { # DateRangeInput fields }, unfilled: true, customFields: [{ # CustomFieldTypeValueInput fields }], startDateRange: { # DateRangeInput fields }, endDateRange: { # DateRangeInput fields }, isJobPost: true, statuses: [DRAFT], first: 10, page: 10) { __typename # ...plus the fields you need } }
milestone
Type: Milestone
Get a single milestone.
| Arguments |
|---|
idID! |
Example
query Milestone { milestone(id: "abc123") { __typename # ...plus the fields you need } }
milestones
Type: MilestonePaginator!
Get a list of milestones.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
hires[ID!] |
firstInt! |
pageInt |
Example
query Milestones { milestones(accounts: ["abc123"], hires: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
multiFactor
Type: MultiFactor
Retrieve a specific multi-factor authentication implementation.
| Arguments |
|---|
idID! |
Example
query MultiFactor { multiFactor(id: "abc123") { __typename # ...plus the fields you need } }
multiFactors
Type: MultiFactorPaginator!
Retrieve all multi-factor authentication implementation.
| Arguments |
|---|
statuses[MultiFactorStatus!] |
channels[MultiFactorChannel!] |
firstInt! |
pageInt |
Example
query MultiFactors { multiFactors(statuses: [APPROVED], channels: [EMAIL], first: 10, page: 10) { __typename # ...plus the fields you need } }
organisation
Type: Organisation
Get a specific organisation.
| Arguments |
|---|
idID! |
Example
query Organisation { organisation(id: "abc123") { __typename # ...plus the fields you need } }
organisationTrustedContact
Type: TrustedContact
Get a specific organisation trusted contact.
| Arguments |
|---|
idID! |
Example
query OrganisationTrustedContact { organisationTrustedContact(id: "abc123") { __typename # ...plus the fields you need } }
organisationTrustedContacts
Type: TrustedContactPaginator!
Get a list of organisation trusted contacts.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
workers[ID!] |
searchString |
skills[ID!] |
markets[MarketCode!] |
countries[String!] |
states[String!] |
invitedByUsersInvitedByInput |
statuses[ContactStatus!] |
originTrustedContactOrigin |
staffingAgencyStatusTrustedContactStaffingAgencyStatus |
managedStatusTrustedContactManagedStatus |
hireHistoryHireHistoryFilterInput |
hireStatusHireStatusFilterInput |
businessSetup[BusinessEntityType!] |
externalIdentifiers[String!] |
customFields[CustomFieldTypeValueInput!] |
orderBy[TrustedContactOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query OrganisationTrustedContacts { organisationTrustedContacts(accounts: ["abc123"], workers: ["abc123"], search: "example", skills: ["abc123"], markets: [US], countries: ["example"], states: ["example"], invitedByUsers: { # InvitedByInput fields }, statuses: [INVITED], origin: INVITED, staffingAgencyStatus: HAS_OWNERSHIP, managedStatus: STAFFING_AGENCY, hireHistory: { # HireHistoryFilterInput fields }, hireStatus: { # HireStatusFilterInput fields }, businessSetup: [COMMON], externalIdentifiers: ["example"], customFields: [{ # CustomFieldTypeValueInput fields }], orderBy: [{ # TrustedContactOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
partner
Type: Partner
Get a specific partner.
| Arguments |
|---|
idID! |
Example
query Partner { partner(id: "abc123") { __typename # ...plus the fields you need } }
paymentRequest
Type: PaymentRequest
Get a specific payment request.
| Arguments |
|---|
idID! |
Example
query PaymentRequest { paymentRequest(id: "abc123") { __typename # ...plus the fields you need } }
paymentRequests
Type: PaymentRequestPaginator!
Get a list of payment requests.
| Arguments |
|---|
accounts[ID!] |
currencies[Currency!] |
hasPurchaseOrderNumberBoolean |
hasTimesheetBoolean |
jobs[ID!] |
hires[ID!] |
hireOwners[ID!] |
clients[ID!] |
searchString |
statuses[PaymentRequestStatus!] |
requestTypes[PaymentRequestType!] |
workerStatuses[PaymentRequestWorkerStatus!] |
workerPayoutStatuses[PaymentRequestWorkerPayoutStatus!] |
isPayrolledBooleanThis may include payment requests that were paid outside of payroll. |
timesheetPeriodDateRangeInput |
rateTypes[RateType!] |
requestedDateRangeDateRangeInput |
billingStartDateRangeDateRangeInput |
billingEndDateRangeDateRangeInput |
hasExpensesBoolean |
hasBatchBoolean |
batchIds[ID!] |
externalIdentifiers[String!] |
orderBy[PaymentRequestOrderByClauseInput!] |
viewerRolePaymentRequestViewerRoleOnly filters within the account scope set by the accounts arg — without accounts there’s nothing for this filter to act on. |
firstInt! |
pageInt |
Example
query PaymentRequests { paymentRequests(accounts: ["abc123"], currencies: [CAD], hasPurchaseOrderNumber: true, hasTimesheet: true, jobs: ["abc123"], hires: ["abc123"], hireOwners: ["abc123"], clients: ["abc123"], search: "example", statuses: [APPROVED], requestTypes: [TIME], workerStatuses: [DRAFT], workerPayoutStatuses: [PAID], isPayrolled: true, timesheetPeriod: { # DateRangeInput fields }, rateTypes: [HOURLY], requestedDateRange: { # DateRangeInput fields }, billingStartDateRange: { # DateRangeInput fields }, billingEndDateRange: { # DateRangeInput fields }, hasExpenses: true, hasBatch: true, batchIds: ["abc123"], externalIdentifiers: ["example"], orderBy: [{ # PaymentRequestOrderByClauseInput fields }], viewerRole: PAYER, first: 10, page: 10) { __typename # ...plus the fields you need } }
profile
Type: User!
Get the authenticated user that is viewing the API.
Example
query Profile { profile { __typename # ...plus the fields you need } }
project
Type: Project
Get a specific project.
| Arguments |
|---|
idID! |
Example
query Project { project(id: "abc123") { __typename # ...plus the fields you need } }
projects
Type: ProjectPaginator!
Get a list of projects.
| Arguments |
|---|
accounts[ID!]If no accounts supplied then all authenticated accounts will be used. |
searchString |
status[ProjectStatusFilter!] |
owners[ID!] |
externalIdentifiers[String!] |
firstInt! |
pageInt |
Example
query Projects { projects(accounts: ["abc123"], search: "example", status: [OPEN], owners: ["abc123"], externalIdentifiers: ["example"], first: 10, page: 10) { __typename # ...plus the fields you need } }
recruiter
Type: Recruiter
Get a specific recruiter.
| Arguments |
|---|
idID! |
Example
query Recruiter { recruiter(id: "abc123") { __typename # ...plus the fields you need } }
recruiterCandidate
Type: RecruiterCandidate
Get a specific recruiter candidate.
| Arguments |
|---|
idID! |
Example
query RecruiterCandidate { recruiterCandidate(id: "abc123") { __typename # ...plus the fields you need } }
recruiterCandidates
Type: RecruiterCandidatePaginator!
Get a list of recruiter candidates.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
statusContactStatus |
searchString |
hasPendingActionsBoolean |
firstInt! |
pageInt |
Example
query RecruiterCandidates { recruiterCandidates(accounts: ["abc123"], status: INVITED, search: "example", hasPendingActions: true, first: 10, page: 10) { __typename # ...plus the fields you need } }
recruiters
Type: RecruiterPaginator!
Get a list of recruiters.
| Arguments |
|---|
searchString |
firstInt! |
pageInt |
Example
query Recruiters { recruiters(search: "example", first: 10, page: 10) { __typename # ...plus the fields you need } }
skills
Type: SkillPaginator!
Get a list of skills.
| Arguments |
|---|
searchStringSearch will be performed within all three name, name_en, name_da. |
skillableType[SkillableType!] |
orderBy[SkillOrderByClauseInput!] |
firstInt! |
pageInt |
Example
query Skills { skills(search: "example", skillableType: [WORKER], orderBy: [{ # SkillOrderByClauseInput fields }], first: 10, page: 10) { __typename # ...plus the fields you need } }
supplierCandidate
Type: SupplierCandidate
Get a specific supplier candidate.
| Arguments |
|---|
idID! |
Example
query SupplierCandidate { supplierCandidate(id: "abc123") { __typename # ...plus the fields you need } }
supplierCandidates
Type: SupplierCandidatePaginator!
Get a list of supplier candidates for the authenticated supplier account.
| Arguments |
|---|
statusContactStatus |
searchString |
firstInt! |
pageInt |
Example
query SupplierCandidates { supplierCandidates(status: INVITED, search: "example", first: 10, page: 10) { __typename # ...plus the fields you need } }
supplierSharedCustomFields
Type: CustomFieldPaginator!
Get custom fields shared by a supplier with its client companies. Returns only fields where sharedWithClients is true for the given supplier.
| Arguments |
|---|
supplierID! |
appliesTo[TypeSupportingCustomFieldValues!] |
firstInt! |
pageInt |
Example
query SupplierSharedCustomFields { supplierSharedCustomFields(supplier: "abc123", appliesTo: [JOB], first: 10, page: 10) { __typename # ...plus the fields you need } }
timesheet
Type: Timesheet
Get a specific timesheet.
| Arguments |
|---|
idID! |
Example
query Timesheet { timesheet(id: "abc123") { __typename # ...plus the fields you need } }
timesheets
Type: TimesheetPaginator!
Get a list of timesheets.
| Arguments |
|---|
accounts[ID!]If no accounts supplied then all authenticated accounts will be used. |
firstInt! |
pageInt |
Example
query Timesheets { timesheets(accounts: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
trustedContact
Type: TrustedContact
Get a specific trusted contact.
| Arguments |
|---|
idID! |
Example
query TrustedContact { trustedContact(id: "abc123") { __typename # ...plus the fields you need } }
trustedContacts
Type: TrustedContactPaginator!
Get a list of trusted contacts.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
workers[ID!] |
searchString |
skills[ID!] |
markets[MarketCode!] |
countries[String!] |
states[String!] |
invitedByUsersInvitedByInput |
statuses[ContactStatus!] |
originTrustedContactOrigin |
staffingAgencyStatusTrustedContactStaffingAgencyStatus |
managedStatusTrustedContactManagedStatus |
hireHistoryHireHistoryFilterInput |
hireStatusHireStatusFilterInput |
businessSetup[BusinessEntityType!] |
externalIdentifiers[String!] |
customFields[CustomFieldTypeValueInput!] |
orderBy[TrustedContactOrderByClauseInput!] |
createdAtDateRangeDateRangeInput |
verifiedWorkerReviewVerifiedWorkerReviewFilterInput |
firstInt! |
pageInt |
Example
query TrustedContacts { trustedContacts(accounts: ["abc123"], workers: ["abc123"], search: "example", skills: ["abc123"], markets: [US], countries: ["example"], states: ["example"], invitedByUsers: { # InvitedByInput fields }, statuses: [INVITED], origin: INVITED, staffingAgencyStatus: HAS_OWNERSHIP, managedStatus: STAFFING_AGENCY, hireHistory: { # HireHistoryFilterInput fields }, hireStatus: { # HireStatusFilterInput fields }, businessSetup: [COMMON], externalIdentifiers: ["example"], customFields: [{ # CustomFieldTypeValueInput fields }], orderBy: [{ # TrustedContactOrderByClauseInput fields }], createdAtDateRange: { # DateRangeInput fields }, verifiedWorkerReview: { # VerifiedWorkerReviewFilterInput fields }, first: 10, page: 10) { __typename # ...plus the fields you need } }
userGroup
Type: UserGroup
Get a specific user group.
| Arguments |
|---|
idID! |
Example
query UserGroup { userGroup(id: "abc123") { __typename # ...plus the fields you need } }
userGroups
Type: UserGroupPaginator!
Get a list of user groups.
| Arguments |
|---|
accounts[ID!]If no accounts supplied then all authenticated accounts will be used. |
searchString |
users[ID!] |
status[UserGroupStatus!] |
firstInt! |
pageInt |
Example
query UserGroups { userGroups(accounts: ["abc123"], search: "example", users: ["abc123"], status: [ACTIVE], first: 10, page: 10) { __typename # ...plus the fields you need } }
viewer
Type: User!
Get the authenticated user that is viewing the API.
Example
query Viewer { viewer { __typename # ...plus the fields you need } }
webhook
Type: Webhook
Get a specific webhook.
| Arguments |
|---|
idID! |
Example
query Webhook { webhook(id: "abc123") { __typename # ...plus the fields you need } }
webhookEvent
Type: WebhookEvent
Get a specific webhook event.
| Arguments |
|---|
idID! |
Example
query WebhookEvent { webhookEvent(id: "abc123") { __typename # ...plus the fields you need } }
webhookEventLogs
Type: WebhookEventLogPaginator!
Get a list of webhook event logs. They are returned in descending order of creation.
| Arguments |
|---|
webhookIdID |
webhookEventIdID |
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
firstInt! |
pageInt |
Example
query WebhookEventLogs { webhookEventLogs(webhookId: "abc123", webhookEventId: "abc123", accounts: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
webhookEvents
Type: WebhookEventPaginator!
Get a list of webhook events. They are returned in descending order of creation.
| Arguments |
|---|
webhookIdID |
firstInt! |
pageInt |
Example
query WebhookEvents { webhookEvents(webhookId: "abc123", first: 10, page: 10) { __typename # ...plus the fields you need } }
webhooks
Type: WebhookPaginator!
Get a list of webhooks.
| Arguments |
|---|
accounts[ID!]If no accounts are supplied then all authenticated accounts will be used. |
firstInt! |
pageInt |
Example
query Webhooks { webhooks(accounts: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }
worker
Type: Worker
Get a specific worker.
| Arguments |
|---|
idID! |
Example
query Worker { worker(id: "abc123") { __typename # ...plus the fields you need } }
workflow
Type: Workflow
Get a specific workflow by ID.
Requires the manage-approvals team permission on the owning company.
| Arguments |
|---|
idID! |
Example
query Workflow { workflow(id: "abc123") { __typename # ...plus the fields you need } }
workflowVariables
Type: WorkflowVariablePaginator!
List the available variables that can be used in approval rule conditions.
Variables represent the fields you can evaluate in conditions — for example, hourly rate, budget, or company-defined custom fields. The available variables depend on the trigger type: hire-related triggers expose rate and budget variables, while classification triggers expose the classification result.
Requires the manage-approvals team permission.
| Arguments |
|---|
accounts[ID!] |
appliesToApprovalTrigger! |
firstInt! |
pageInt |
Example
query WorkflowVariables { workflowVariables(accounts: ["abc123"], appliesTo: NONE, first: 10, page: 10) { __typename # ...plus the fields you need } }
workflows
Type: WorkflowPaginator!
List all workflows accessible to the authenticated user.
Requires the manage-approvals team permission.
| Arguments |
|---|
accounts[ID!] |
firstInt! |
pageInt |
Example
query Workflows { workflows(accounts: ["abc123"], first: 10, page: 10) { __typename # ...plus the fields you need } }